Compare commits

...

36 Commits

Author SHA1 Message Date
Stephan Raabe
65b334cc99 Update 2024-02-25 16:51:04 +01:00
Stephan Raabe
67584262d5 Updates 2024-02-25 16:47:44 +01:00
Stephan Raabe
91d5a3101f Updates 2024-02-24 12:03:15 +01:00
Stephan Raabe
ce7fc3ba27 Updates 2024-02-24 11:39:04 +01:00
Stephan Raabe
0dd9f9b74d Updates 2024-02-23 17:13:14 +01:00
Stephan Raabe
3acfb56e52 Updates 2024-02-23 16:03:57 +01:00
Stephan Raabe
c599054e50 Updates 2024-02-23 15:39:01 +01:00
Stephan Raabe
0c12a540d3 Updates 2024-02-23 13:54:12 +01:00
Stephan Raabe
6afddd30ed Updates 2024-02-23 13:52:27 +01:00
Stephan Raabe
42d3c5d8f9 Add hyprlock and hypridle 2024-02-23 13:47:01 +01:00
Stephan Raabe
f6564b4b75 Updates 2024-02-23 11:45:59 +01:00
Stephan Raabe
ff2c592c8d Update 2024-02-23 11:39:55 +01:00
Stephan Raabe
7da7e49d9e Updates 2024-02-23 09:09:31 +01:00
Stephan Raabe
878c084eab Updates 2024-02-23 09:05:14 +01:00
Stephan Raabe
a83fde0282 Updates 2024-02-22 18:22:12 +01:00
Stephan Raabe
515292ef95 Updates 2024-02-22 17:42:19 +01:00
Stephan Raabe
91d497ff07 Updates 2024-02-21 15:30:42 +01:00
Stephan Raabe
d82c423eb9 Updates 2024-02-21 08:42:16 +01:00
Stephan Raabe
68436e2b26 Updates 2024-02-19 22:07:37 +01:00
Stephan Raabe
6418e82a54 Updates 2024-02-19 22:00:46 +01:00
Stephan Raabe
bc72d070fa Update 2024-02-19 21:32:23 +01:00
Stephan Raabe
cc5a6e7d4c Updates 2024-02-19 18:14:24 +01:00
Stephan Raabe
b67525df47 Updates 2024-02-19 09:00:59 +01:00
Stephan Raabe
846583599f Updates 2024-02-17 17:01:13 +01:00
Stephan Raabe
46a5b072e1 Updates 2024-02-16 14:26:29 +01:00
Stephan Raabe
8e096f83e2 Updates 2024-02-16 13:41:49 +01:00
Stephan Raabe
e70c440de0 Add script to set terminal in thunar 2024-02-16 13:41:09 +01:00
Stephan Raabe
ad8b401fc4 Updates 2024-02-16 13:02:39 +01:00
Stephan Raabe
ea26ad635b Updates 2024-02-16 08:02:26 +01:00
Stephan Raabe
ca85294d10 Update 2024-02-04 14:01:50 +01:00
Stephan Raabe
957eaaa77d Update 2024-02-04 13:54:11 +01:00
Stephan Raabe
056f8179ca Updates 2024-02-04 12:26:02 +01:00
Stephan Raabe
e8df6aa245 Update 2024-02-04 11:53:06 +01:00
Stephan Raabe
a10107f4ff Updates 2024-02-02 14:16:11 +01:00
Stephan Raabe
36f3e944be Updates 2024-02-02 14:00:10 +01:00
Stephan Raabe
bf73eca7be Add breeze icons 2024-02-01 13:04:53 +01:00
85 changed files with 520 additions and 762 deletions

View File

@ -28,6 +28,7 @@ alias ll='eza -al --icons'
alias lt='eza -a --tree --level=1 --icons'
alias shutdown='systemctl poweroff'
alias v='$EDITOR'
alias vim='$EDITOR'
alias ts='~/dotfiles/scripts/snapshot.sh'
alias matrix='cmatrix'
alias wifi='nmtui'
@ -73,8 +74,6 @@ alias ascii='~/dotfiles/scripts/figlet.sh'
alias vm='~/private/launchvm.sh'
alias lg='~/dotfiles/scripts/looking-glass.sh'
alias vmstart='virsh --connect qemu:///system start win11'
alias vmstop='virsh --connect qemu:///system destroy win11'
# -----------------------------------------------------
# EDIT CONFIG FILES
@ -107,6 +106,11 @@ alias res2='xrandr --output DisplayPort-0 --mode 1920x1080 --rate 120'
export PATH="/usr/lib/ccache/bin/:$PATH"
# -----------------------------------------------------
# DEVELOPMENT
# -----------------------------------------------------
alias dotsync="~/dotfiles-versions/dotfiles/.dev/sync.sh dotfiles"
# -----------------------------------------------------
# START STARSHIP
# -----------------------------------------------------

View File

@ -4,7 +4,7 @@
if [ ! -z $1 ] ;then
if [ -d ~/dotfiles-versions/"$1" ] ;then
echo "Folder exists. Start rsync now ..."
rsync -avhp -I --exclude-from=excludes.txt ~/dotfiles-versions/$1/ ~/dotfiles
rsync -avhp -I --exclude-from=$HOME/dotfiles-versions/$1/.dev/excludes.txt ~/dotfiles-versions/$1/ ~/dotfiles
else
echo "Folder ~/dotfiles-versions/$1 not found."
fi

View File

@ -36,6 +36,8 @@ echo -e "${NONE}"
cp ~/.bashrc ~/dotfiles-versions/backups/$datets/.bashrc-old
echo ":: Existing .bashrc file found in homefolder. .bashrc-old created"
fi
echo
echo ":: PLEASE NOTE: You can create a fresh installation of teh dotfiles by removing the folder ~/dotfiles"
elif [ $? -eq 130 ]; then
exit 130
else

View File

@ -36,6 +36,21 @@ if [ -d ~/dotfiles/hypr/settings/modules/waybar/defaults ] ;then
echo "~/dotfiles/hypr/settings/modules/waybar/defaults removed."
fi
if [ -d ~/dotfiles/hypr/settings/modules/sddm ] ;then
rm -rf ~/dotfiles/hypr/settings/modules/sddm
echo "~/dotfiles/hypr/settings/modules/sddm removed."
fi
if [ -d ~/dotfiles/hypr/settings/modules/appearance/wallpaper ] ;then
rm -rf ~/dotfiles/hypr/settings/modules/appearance/wallpaper
echo "~/dotfiles/hypr/settings/modules/appearance/wallpaper removed."
fi
if [ -d ~/dotfiles/hypr/settings/modules/system/swaylock ] ;then
rm -rf ~/dotfiles/hypr/settings/modules/system/swaylock
echo "~/dotfiles/hypr/settings/modules/system/swaylock removed."
fi
# Create default folder structure
xdg-user-dirs-update
echo "Default folders created..."

View File

@ -1,11 +0,0 @@
# ------------------------------------------------------
# Create .config folder
# ------------------------------------------------------
if [ -d ~/.config ]; then
echo ".config folder already exists."
else
mkdir ~/.config
echo ".config folder created."
fi
echo ""

View File

@ -7,7 +7,7 @@ figlet "Display Manager"
echo -e "${NONE}"
if [[ $profile == *"Hyprland"* ]]; then
echo "IMPORTANT: Starting Hyprland works from tty (terminal) with command Hyprland (recommended)."
echo "or you can try the display manager SDDM (> 0.20.0 already installed) or the latest git version (yay -S sddm-git)."
echo "or you can try the display manager SDDM (> 0.20.0 already installed) or the latest git version (yay -S sddm)."
echo "Please check: https://wiki.hyprland.org/hyprland-wiki/pages/Getting-Started/Master-Tutorial/#launching-hyprland"
echo "Login with other display managers could fail and could have negative side effects on some devices."
echo "If you have issues with SDDM or other display managers, you can deactivate the display manager"
@ -29,35 +29,39 @@ if [ ! -d ~/dotfiles ];then
if [ -f /etc/systemd/system/display-manager.service ]; then
disman=0
echo "You have already installed a display manager on your system."
echo "How do you want to proceed? (ESC = Keep current setup)"
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm-git")
echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm")
else
disman=1
echo "There is no display manager installed on your system."
echo "After the installation/update of the dotfiles, you can start Hyprland with command Hyprland and Qtile with commmand Qtile (or startx)."
echo "How do you want to proceed? (ESC = Keep current setup)"
dmsel=$(gum choose "Keep current setup" "Install sddm-git")
echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Install sddm")
fi
else
if [ -f /etc/systemd/system/display-manager.service ]; then
disman=0
echo "You have already installed a display manager. If your display manager is working fine, you can keep the current setup."
echo "How do you want to proceed? (ESC = Keep current setup)"
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm-git")
echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm")
else
disman=1
echo "There is no display manager installed on your system. You're starting Hyprland/Qtile with commands on tty."
echo "How do you want to proceed? (ESC = Keep current setup)"
dmsel=$(gum choose "Keep current setup" "Install sddm-git")
echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Install sddm")
fi
fi
if [ "$dmsel" == "Install sddm-git" ] ;then
if [ -z "${dmsel}" ] ;then
echo "Installation canceled."
exit
fi
if [ "$dmsel" == "Install sddm" ] ;then
disman=0
# Try to force the installation of sddm-git
echo "Install sddm-git"
yay -S --noconfirm sddm-git sddm-sugar-candy-git --ask 4
echo "Install sddm"
yay -S --noconfirm sddm sddm-sugar-candy-git --ask 4
if [ -f /etc/systemd/system/display-manager.service ]; then
sudo rm /etc/systemd/system/display-manager.service

View File

@ -1,9 +0,0 @@
# ------------------------------------------------------
# DONE
# ------------------------------------------------------
echo -e "${GREEN}"
figlet "Done"
echo -e "${NONE}"
echo "Please reboot your system!"
echo ""

View File

@ -2,55 +2,38 @@
# Install dotfiles
# ------------------------------------------------------
if [ ! $mode == "dev" ]; then
if [ -d ~/dotfiles-versions/$version/alacritty ]; then
if [ -d ~/dotfiles-versions/$version/alacritty ]; then
_installSymLink alacritty ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/vim ]; then
fi
if [ -d ~/dotfiles-versions/$version/vim ]; then
_installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/nvim ]; then
fi
if [ -d ~/dotfiles-versions/$version/nvim ]; then
_installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/starship ]; then
fi
if [ -d ~/dotfiles-versions/$version/starship ]; then
_installSymLink starship ~/.config/starship.toml ~/dotfiles/starship/starship.toml ~/.config/starship.toml
fi
if [ -d ~/dotfiles-versions/$version/rofi ]; then
fi
if [ -d ~/dotfiles-versions/$version/rofi ]; then
_installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/dunst ]; then
fi
if [ -d ~/dotfiles-versions/$version/dunst ]; then
_installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/hypr ]; then
fi
if [ -d ~/dotfiles-versions/$version/hypr ]; then
_installSymLink hypr ~/.config/hypr ~/dotfiles/hypr/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/waybar ]; then
fi
if [ -d ~/dotfiles-versions/$version/waybar ]; then
_installSymLink waybar ~/.config/waybar ~/dotfiles/waybar/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/swaylock ]; then
fi
if [ -d ~/dotfiles-versions/$version/swaylock ]; then
_installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/wlogout ]; then
fi
if [ -d ~/dotfiles-versions/$version/wlogout ]; then
_installSymLink wlogout ~/.config/wlogout ~/dotfiles/wlogout/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/swappy ]; then
fi
if [ -d ~/dotfiles-versions/$version/swappy ]; then
_installSymLink swappy ~/.config/swappy ~/dotfiles/swappy/ ~/.config
fi
#if [ -d ~/dotfiles-versions/$version/gtk ]; then
# _installSymLink .gtkrc-2.0 ~/.gtkrc-2.0 ~/dotfiles/gtk/.gtkrc-2.0 ~/.gtkrc-2.0
#fi
#if [ -d ~/dotfiles-versions/$version/gtk ]; then
# _installSymLink .Xresources ~/.Xresources ~/dotfiles/gtk/.Xresources ~/.Xresources
#fi
#if [ -d ~/dotfiles-versions/$version/gtk ]; then
# _installSymLink gtk-3.0 ~/.config/gtk-3.0 ~/dotfiles/gtk/gtk-3.0/ ~/.config/
#fi
#if [ -d ~/dotfiles-versions/$version/gtk ]; then
# _installSymLink gtk-4.0 ~/.config/gtk-4.0 ~/dotfiles/gtk/gtk-4.0/ ~/.config/
#fi
else
echo "Skipped: DEV MODE!"
fi
echo "Symbolic links created."
echo ""
echo

View File

@ -1,61 +0,0 @@
# ------------------------------------------------------
# Select installation profile
# ------------------------------------------------------
echo -e "${GREEN}"
figlet "Hyprland"
echo -e "${NONE}"
hyprland_installed=0
hyprlandgit_installed=0
hyprland_package=""
echo "Hyprland is available in two different versions: "
echo "hyprland with the lastest official release "
echo "hyprland-git compiled from latest source."
echo
echo "Check for installed hyprland package..."
if [[ $(_isInstalledYay "hyprland-git") == 0 ]]; then
echo "hyprland-git already installed!"
hyprlandgit_installed=1
elif [[ $(_isInstalledPacman "hyprland") == 0 ]]; then
echo "hyprland already installed!"
hyprland_installed=1
else
echo "hyprland NOT installed!"
fi
echo
if [ $hyprland_installed == "1" ] ;then
echo "Hyprland is already installed with the package hyprland on your system. How do you want to proceed?"
echo "RETURN = confirm. ESC = Keep hyprland"
hyprsel=$(gum choose "KEEP hyprland" "Replace with hyprland-git")
if [ "$hyprsel" == "Replace with hyprland-git" ] ;then
echo "Replace hyprland with hyprland-git."
yay --noconfirm -R hyprland
_forcePackagesYay "hyprland-git";
else
echo "Keep current hyprland installation."
fi
elif [ $hyprlandgit_installed == "1" ] ;then
echo "Hyprland is already installed with the package hyprland-git on your system. How do you want to proceed?"
echo "RETURN = confirm. ESC = Keep hyprland-git"
hyprsel=$(gum choose "KEEP hyprland-git" "Replace with hyprland")
if [ "$hyprsel" == "Replace with hyprland" ] ;then
echo "Replace hyprland-git with hyprland."
yay --noconfirm -R hyprland-git
_forcePackagesYay "hyprland";
else
echo "Keep current hyprland installation."
fi
else
# No hyprland found on the system
echo "RETURN = confirm. No selection = CANCEL"
hypr_version=$(gum choose "hyprland" "hyprland-git")
if [ -z $hypr_version ] ;then
echo "No profile selected. Installation canceled."
exit
fi
if [ "$hypr_version" == "hyprland" ] ;then
_installPackagesYay "hyprland";
else
_installPackagesYay "hyprland-git";
fi
fi

View File

@ -1,3 +0,0 @@
echo -e "${GREEN}"
figlet "Hyprland"
echo -e "${NONE}"

View File

@ -25,7 +25,7 @@ _isInstalledPacman() {
_isInstalledYay() {
package="$1";
check="$(yay -Qs --color always "${package}" | grep "local" | grep "${package} ")";
check="$(yay -Qs --color always "${package}" | grep "local" | grep "\." | grep "${package} ")";
if [ -n "${check}" ] ; then
echo 0; #'0' means 'true' in Bash
return; #true

View File

@ -1,10 +1,10 @@
if [[ "$force_install" == "1" ]] ;then
echo "Force installation of all packages..."
_forcePackagesPacman "${packagesPacman[@]}";
_forcePackagesYay "${packagesYay[@]}";
echo "Force installation of all packages..."
_forcePackagesPacman "${packagesPacman[@]}";
_forcePackagesYay "${packagesYay[@]}";
else
echo "Install only missing packages..."
_installPackagesPacman "${packagesPacman[@]}";
_installPackagesYay "${packagesYay[@]}";
echo "Install only missing packages..."
_installPackagesPacman "${packagesPacman[@]}";
_installPackagesYay "${packagesYay[@]}";
fi
echo ""
echo

View File

@ -1,27 +0,0 @@
# ------------------------------------------------------
# Monitor
# ------------------------------------------------------
if [[ $profile == *"Hyprland"* ]]; then
echo -e "${GREEN}"
figlet "Monitor"
echo -e "${NONE}"
if [ "$monitorrestored" == "1" ]; then
echo "Monitor settings could already be restored".
echo ""
else
echo "Hyprland will use the following monitor setup from ~/dotfiles/hypr/conf/monitors/default.conf"
echo "monitor=,preferred,auto,1"
echo ""
echo "You can create your own monitor configuration by adding a new variation file ~/dotfiles/hypr/conf/monitors/mymonitor.conf"
echo "Add there your monitor configuration."
echo ""
echo "After starting Hyprland, you can select your custom monitor variation with SUPER+CMD+S (or by clicking on the settings icon in WayBar)."
echo "Select Monitors and then your custom monitor variation: ~/dotfiles/hypr/conf/monitors/mymonitor.conf"
echo ""
echo "Or overwrite the path on ~/dotfiles/hypr/conf/monitor.conf and replace it with your custom variation."
echo ""
echo "More information on how to setup your monitor in the Hyprland Wiki: https://wiki.hyprland.org/Configuring/Monitors/"
echo ""
fi
fi

View File

@ -31,19 +31,24 @@ packagesPacman=(
"tumbler"
"blueman"
"papirus-icon-theme"
"breeze-icons"
"polkit-gnome"
"brightnessctl"
"gum"
"man-pages"
"xdg-desktop-portal"
"nm-connection-editor"
"gvfs"
"xdg-user-dirs"
"networkmanager"
"network-manager-applet"
"xarchiver"
"thunar-archive-plugin"
"zip"
"fuse2"
"gtk4"
"libadwaita"
"python-pywal"
"xdg-desktop-portal"
);
packagesYay=(
@ -52,7 +57,3 @@ packagesYay=(
"trizen"
"pacseek"
);
# Removed packages
# "xfce4-power-manager"
# "ttf-font-awesome"

View File

@ -1,16 +1,16 @@
packagesPacman=(
"hyprland"
"xdg-desktop-portal-hyprland"
"waybar"
"grim"
"slurp"
"swayidle"
"swappy"
"cliphist"
);
packagesYay=(
"swww"
"swaylock-effects-git"
"wlogout"
"nwg-look"
"emote"
);

View File

@ -4,6 +4,13 @@
echo -e "${GREEN}"
figlet "Preparation"
echo -e "${NONE}"
if [ -d ~/.config ]; then
echo ".config folder already exists."
else
mkdir ~/.config
echo ".config folder created."
fi
echo
echo ":: Preparing temporary folders for the installation."
if [ ! -d ~/dotfiles-versions ]; then
mkdir ~/dotfiles-versions
@ -18,11 +25,11 @@ else
mkdir ~/dotfiles-versions/$version
echo ":: Clean build prepared for the installation."
fi
rsync -a -I --exclude-from=.install/excludes.txt . ~/dotfiles-versions/$version/
rsync -a -I --exclude-from=.install/includes/excludes.txt . ~/dotfiles-versions/$version/
if [[ $(_isFolderEmpty ~/dotfiles-versions/$version/) == 0 ]] ;then
echo "AN ERROR HAS OCCURED. Preparation of ~/dotfiles-versions/$version/ failed"
echo "Please check that rsync is installad on your system."
echo "Execution of rsync -a -I --exclude-from=.install/excludes.txt . ~/dotfiles-versions/$version/ is required."
echo "Execution of rsync -a -I --exclude-from=.install/includes/excludes.txt . ~/dotfiles-versions/$version/ is required."
exit
fi
echo ":: dotfiles $version successfully prepared in ~/dotfiles-versions/$version/"

View File

@ -1,14 +0,0 @@
# ------------------------------------------------------
# Install pywal
# ------------------------------------------------------
echo -e "${GREEN}"
figlet "Pywal"
echo -e "${NONE}"
if [ -f /usr/bin/wal ]; then
echo "pywal already installed. Trying to force the installation with python-pywal"
yay -S --noconfirm python-pywal --ask 4
else
yay -S --noconfirm python-pywal
echo "Pywal installed."
fi
echo ""

View File

@ -2,54 +2,37 @@
# Install dotfiles
# ------------------------------------------------------
if [ ! $mode == "dev" ]; then
if [ -d ~/dotfiles-versions/$version/alacritty ]; then
if [ -d ~/dotfiles-versions/$version/alacritty ]; then
_installSymLink alacritty ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/vim ]; then
fi
if [ -d ~/dotfiles-versions/$version/vim ]; then
_installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/nvim ]; then
fi
if [ -d ~/dotfiles-versions/$version/nvim ]; then
_installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/starship ]; then
fi
if [ -d ~/dotfiles-versions/$version/starship ]; then
_installSymLink starship ~/.config/starship.toml ~/dotfiles/starship/starship.toml ~/.config/starship.toml
fi
if [ -d ~/dotfiles-versions/$version/rofi ]; then
fi
if [ -d ~/dotfiles-versions/$version/rofi ]; then
_installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/dunst ]; then
fi
if [ -d ~/dotfiles-versions/$version/dunst ]; then
_installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/qtile ]; then
fi
if [ -d ~/dotfiles-versions/$version/qtile ]; then
_installSymLink qtile ~/.config/qtile ~/dotfiles/qtile/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/polybar ]; then
_installSymLink polybar ~/.config/polybar ~/dotfiles/polybar/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/picom ]; then
fi
if [ -d ~/dotfiles-versions/$version/picom ]; then
_installSymLink picom ~/.config/picom ~/dotfiles/picom/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/qtile ]; then
fi
if [ -d ~/dotfiles-versions/$version/qtile ]; then
_installSymLink .xinitrc ~/.xinitrc ~/dotfiles/qtile/.xinitrc ~/.xinitrc
fi
if [ -d ~/dotfiles-versions/$version/swaylock ]; then
fi
if [ -d ~/dotfiles-versions/$version/swaylock ]; then
_installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/swappy ]; then
fi
if [ -d ~/dotfiles-versions/$version/swappy ]; then
_installSymLink swappy ~/.config/swappy ~/dotfiles/swappy/ ~/.config
fi
#if [ -d ~/dotfiles-versions/$version/gtk ]; then
# _installSymLink .gtkrc-2.0 ~/.gtkrc-2.0 ~/dotfiles/gtk/.gtkrc-2.0 ~/.gtkrc-2.0
#fi
#if [ -d ~/dotfiles-versions/$version/gtk ]; then
# _installSymLink .Xresources ~/.Xresources ~/dotfiles/gtk/.Xresources ~/.Xresources
#fi
#if [ -d ~/dotfiles-versions/$version/gtk ]; then
# _installSymLink gtk-3.0 ~/.config/gtk-3.0 ~/dotfiles/gtk/gtk-3.0/ ~/.config/
#fi
else
echo "Skipped: DEV MODE!"
fi
echo "Symbolic links created."
echo ""

View File

@ -1,3 +0,0 @@
echo -e "${GREEN}"
figlet "Qtile"
echo -e "${NONE}"

View File

@ -43,7 +43,6 @@ _showRestoreOptions() {
if [ -f ~/dotfiles/hypr/conf/monitor.conf ] && [ -d ~/dotfiles/hypr/conf/monitors/ ]; then
restorelist+="~/dotfiles/hypr/conf/monitor.conf "
selectedlist+="~/dotfiles/hypr/conf/monitor.conf,"
monitorrestored=1
fi
if [ -f ~/dotfiles/hypr/conf/animation.conf ] && [ -d ~/dotfiles/hypr/conf/animations/ ]; then
restorelist+="~/dotfiles/hypr/conf/animation.conf "
@ -81,6 +80,10 @@ _showRestoreOptions() {
else
echo "No files selected to restore."
confirmrestore=$(gum choose "Change restore" "Cancel restore")
if [ -z "${confirmrestore}" ] ;then
echo "Installation canceled."
exit
fi
if [ "$confirmrestore" == "Change restore" ]; then
echo ""
_showRestoreOptions

32
.install/screenlock.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/bash
echo -e "${GREEN}"
figlet "Screen lock"
echo -e "${NONE}"
if [[ $(_isInstalledYay "hypridle-git") == 1 ]] || [[ $(_isInstalledYay "hyprlock-git") == 1 ]]; then
echo "You can install hypridle and hyprlock to lock your screen automatically."
echo "These are the new standard screen locking packages of the ML4W dotfiles."
echo "Screenlocking will not work anymore if you keep swaylock."
echo "The installation is highly recommended."
if gum confirm "Do you want to install hypridle and hyprlock?" ;then
# Install Hypridle and Hyprlock
yay --noconfirm -S hypridle-git hyprlock-git
# Remove Swayidle
if [[ $(_isInstalledPacman "swayidle") == 0 ]]; then
sudo pacman --noconfirm -Rns swayidle
fi
# Remove Swaylock
if [[ $(_isInstalledYay "swaylock-effects-git") == 0 ]]; then
yay --noconfirm -Rns swaylock-effects-git
fi
fi
else
echo ":: hypridle and hyprlock are already installed."
if gum confirm "Do you want to force a reinstallation to get the latest versions?" ;then
yay --noconfirm -S hypridle-git hyprlock-git
fi
fi
echo

View File

@ -7,6 +7,7 @@ input {
kb_variant =
kb_model =
kb_options =
numlock_by_default = true
# For United States
# kb_layout = us

View File

@ -4,11 +4,20 @@ echo -e "${GREEN}"
figlet "KVM VM"
echo -e "${NONE}"
echo "The script has detected that you run the installation in a KVM virtual machine."
if grep -Fxq "kvm.conf" ~/dotfiles-versions/$version/hypr/conf/environment.conf
then
echo ":: KVM Environment already set."
else
if gum confirm "Do you want to install the KVM environment variables?" ;then
echo "source = ~/dotfiles/hypr/conf/environments/kvm.conf" > ~/dotfiles-versions/$version/hypr/conf/environment.conf
echo "Environment set to KVM."
fi
fi
if [[ $(_isInstalledPacman "${pkg}") == 0 ]]; then
echo ":: Qemu Guest Agent already installed"
else
if gum confirm "Do you want to install the QEMU guest agent?" ;then
_installPackagesPacman "qemu-guest-agent";
fi
fi
fi

BIN
.settings/lockscreen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

View File

@ -0,0 +1 @@
* { border-width: 3px; }

View File

@ -1,2 +0,0 @@
timeswaylock=600
timeoff=660

View File

@ -1 +1 @@
2.8RC3
2.8.1

View File

@ -1 +1 @@
280
281

View File

@ -1,3 +1,25 @@
Version 2.8.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.1
--------------------------------------------------------
General:
- Swayidle replaced with hypridle (config in dotfiles/hypr/hypridle.conf)
- Swaylock replaced with hyprlock (config in dotfiles/hypr/hyprlock.conf)
- New default wallpaper in Hyprland style
- xarchiver and zip added for thunar
- Rofi border width can be adjusted in dotfiles/.settings/rofi-border.rasi
- emote added to select Emojis (SUPER+.)
ML4W Welcome App:
- Opens Hyprland systeminfo from the about menu
- Timeshift can be installed from the settings menu
- Terminal for Thunar can be set from the settings menu
Hyprland:
- Bugfix timeshift detection in installupdates.sh
Qtile:
- Polybar removed from the dotfiles
Version 2.8
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8
--------------------------------------------------------
@ -9,6 +31,7 @@ Hyprland:
- New waybar theme ml4w-minimal
- New window animation variation animation-moving.conf
- New AI icon to open ChatGPT
- Hyprland installation with hyprland package only. hyprland-git removed from the installer
Version 2.7.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.7.2

View File

@ -1,14 +1,14 @@
# ML4W dotfiles 2.8RC3
# ML4W dotfiles 2.8.1
This is my configuration of Hyprland (Wayland) and Qtile (X11) for Arch Linux based distributions. This package includes an installation script to install and setup the required components.
<a href="https://gitlab.com/stephan-raabe/dotfiles/-/blob/main/screenshots/v28/screenshot-28-1.png?ref_type=heads" target="_blank"><img src="screenshots/v28/screenshot-28-1.png" /></a>
<a href="https://gitlab.com/stephan-raabe/dotfiles/-/blob/main/screenshots/v281/screenshot-281-1.png?ref_type=heads" target="_blank"><img src="screenshots/v281/screenshot-281-1.png" /></a>
PLEASE NOTE: This branch is the rolling release of the ML4W dotfiles and includes the latest changes.
Latest official release
Latest official release 2.8.1: <a href="https://youtu.be/KHwJxpV_L1g" target="_blank">Watch on YouTube</a>
You can find the installation video on YouTube: <a href="https://youtu.be/kHG5czrQ7WA" target="_blank">Install Arch Linux with Hyprland & Qtile</a>
You can find the installation video (Version 2.7.1) on YouTube: <a href="https://youtu.be/kHG5czrQ7WA" target="_blank">Install Arch Linux with Hyprland & Qtile</a>
[TOC]
@ -46,7 +46,7 @@ The reference installation on the dotfiles is based on Arch Linux installed with
Please watch the video on YouTube: https://youtu.be/kHG5czrQ7WA
## Installation with GIT of Rolling Release
## Installation with GIT
```
# 1.) Change into your Downloads folder
@ -63,18 +63,21 @@ cd dotfiles
```
## Installation with GIT of the latest release
## Installation with GIT of the rolling release
```
# 1.) Change into your Downloads folder where you have downloaded the release to
cd ~/Downloads
# 2.) Unzip
git clone --branch 2.7.2 https://gitlab.com/stephan-raabe/dotfiles.git
git clone https://gitlab.com/stephan-raabe/dotfiles.git
# 3.) Change into the new dotfiles folder
cd dotfiles
# 4.) Switch to dev branch
git checkout dev
# 4.) Start the installation to update
./install.sh
@ -89,9 +92,6 @@ cd ~/Downloads/dotfiles
# Switch to rolling release
# git checkout origin/main
# Switch to other version
# git checkout 2.7.2
# 2.) Pull the latest version and update the repository
git stash; git pull
@ -100,6 +100,8 @@ git stash; git pull
```
You can create a clean reinstallation by removing the folder ~/dotfiles Please note that you can create a backup of your exsiting configuration with the backup feature of the install script. It's recommended to remove the folder ~/dotfiles only after creating a backup.
## Dotfiles Installer
You can also use the dotfiles installer script to download and install the latest release: https://gitlab.com/stephan-raabe/installer
@ -144,10 +146,8 @@ You can install a custom tty login issue (layout) with the dotfiles installer.
I made good experiences with the Display Manager SDDM (https://github.com/sddm/sddm). Also gdm could work.
Important is that you use the package sddm-git. You can replace sddm with sddm-git with
```
yay -S sddm-git
yay -S sddm
```
The dotfiles installation script will offer to deactivate the installed display manager and to activate SDDM.
@ -274,7 +274,8 @@ Please note that every Arch Linux system is different and I cannot guarantee tha
- Screenshots: grim & slurp
- Clipboard Manager: cliphist
- Logout: wlogout
- Screenlock: swaylock-effects
- Idle Manager: hypridle
- Screenlock: hyprlock
# Qtile X11
@ -337,6 +338,14 @@ sudo systemctl disable sddm.service
sudo rm /etc/systemd/system/display-manager.service
```
## Waybar is not loading
There could be a conflict with xdg-desktop-portal-gtk. Please try to remove the package if installed with:
```
sudo pacman -R xdg-desktop-portal-gtk
```
# Wallpaper repository
You can find my wallpaper collection in the repository https://gitlab.com/stephan-raabe/wallpaper

Binary file not shown.

View File

@ -14,8 +14,9 @@ exec-once = dunst
# Load GTK settings
exec-once = ~/dotfiles/hypr/scripts/gtk.sh
# Load swayidle and define the lock screen time
exec-once = ~/dotfiles/hypr/scripts/lockscreentime.sh
# Using hypridle to start hyprlock
exec-once = hypridle
# exec-once = swayidle -w timeout 600 'swaylock -f' timeout 660 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f'
# Load network manager applet
# START NM APPLET

View File

@ -7,3 +7,6 @@
# xwayland {
# force_zero_scaling = true
# }
# qt5ct environment variable
# env = QT_QPA_PLATFORMTHEME,qt5ct

View File

@ -9,6 +9,7 @@ $mainMod = SUPER
# Applications
bind = $mainMod, RETURN, exec, ~/dotfiles/.settings/terminal.sh
bind = $mainMod, B, exec, ~/dotfiles/.settings/browser.sh
bind = $mainMod, period, exec, emote
# Windows
bind = $mainMod, Q, killactive

View File

@ -7,7 +7,7 @@ input {
kb_variant =
kb_model =
kb_options =
numlock_by_default = true
follow_mouse = 1
touchpad {
natural_scroll = false

View File

@ -8,4 +8,3 @@ windowrule = tile,^(Chromium)$
windowrule = float,^(pavucontrol)$
windowrule = float,^(blueman-manager)$
windowrule = float,^(nm-connection-editor)$

29
hypr/hypridle.conf Normal file
View File

@ -0,0 +1,29 @@
# _ _ _ _
# | |__ _ _ _ __ _ __(_) __| | | ___
# | '_ \| | | | '_ \| '__| |/ _` | |/ _ \
# | | | | |_| | |_) | | | | (_| | | __/
# |_| |_|\__, | .__/|_| |_|\__,_|_|\___|
# |___/|_|
#
general {
# lock_cmd = notify-send "lock!" # dbus/sysd lock command (loginctl lock-session)
# unlock_cmd = notify-send "unlock!" # same as above, but unlock
# before_sleep_cmd = notify-send "Zzz" # command ran before sleep
# after_sleep_cmd = notify-send "Awake!" # command ran after sleep
ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
}
# Screenlock
listener {
timeout = 600 # in seconds
on-timeout = hyprlock # command to run when timeout has passed
# on-resume = notify-send "Welcome back to your desktop!" # command to run when activity is detected after timeout has fired.
}
# Suspend
listener {
timeout = 660 # in seconds
on-timeout = systemctl suspend # command to run when timeout has passed
# on-resume = notify-send "Welcome back to your desktop!" # command to run when activity is detected after timeout has fired.
}

52
hypr/hyprlock.conf Normal file
View File

@ -0,0 +1,52 @@
# _ _ _
# | |__ _ _ _ __ _ __| | ___ ___| | __
# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ /
# | | | | |_| | |_) | | | | (_) | (__| <
# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\
# |___/|_|
#
background {
monitor =
path = $HOME/dotfiles/.settings/lockscreen.png # only png supported for now
color = rgba(25, 20, 20, 1.0)
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
blur_passes = 4 # 0 disables blurring
blur_size = 2
noise = 0.0117
contrast = 0.8916
brightness = 0.8172
vibrancy = 0.1696
vibrancy_darkness = 0.0
}
input-field {
monitor =
size = 200, 50
outline_thickness = 1
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgb(000000)
inner_color = rgb(200, 200, 200)
font_color = rgb(10, 10, 10)
fade_on_empty = true
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
hide_input = false
position = 0, -20
halign = center
valign = center
}
label {
monitor =
text = Enter your password to unlock
color = rgba(200, 200, 200, 1.0)
font_size = 25
font_family = Noto Sans
position = 0, 200
halign = center
valign = center
}

3
hypr/scripts/exit.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
sleep 1
killall -9 Hyprland sleep 2

View File

@ -1,21 +0,0 @@
#/bin/bash
# ___ _ _ _ _
# |_ _|__| | | ___| |_(_)_ __ ___ ___
# | |/ _` | |/ _ \ __| | '_ ` _ \ / _ \
# | | (_| | | __/ |_| | | | | | | __/
# |___\__,_|_|\___|\__|_|_| |_| |_|\___|
#
#
# by Stephan Raabe (2023)
# -----------------------------------------------------
# START SWAYIDLE
# exit
# END SWAYIDLE
source ~/dotfiles/.settings/swayidle.sh
if [ -f "/usr/bin/swayidle" ]; then
echo "swayidle is installed."
swayidle -w timeout $timeswaylock 'swaylock -f' timeout $timeoff 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on'
else
echo "swayidle not installed."
fi;

View File

@ -156,13 +156,13 @@ _getConfEditor() {
_reloadModule
break;;
COPY)
echo "Define the new file name. Please use [a-zA-Z1-9_-]+.conf"
echo "Define the new file name. Please use *.conf"
filename=$(gum input --value="custom-${sel##*/}" --placeholder "Enter your filename")
if [ -z $filename ] ;then
echo "ERROR: No filename specified."
else
if ! [[ $filename =~ ^[a-zA-Z1-9_-]+.conf ]]; then
echo "ERROR: Wrong filename format. Please use [a-zA-Z1-9_-]+.conf"
if ! [[ $filename =~ [^\s]+.conf ]]; then
echo "ERROR: Wrong filename format. Please use *.conf"
else
if [ -f $(dirname $sel)/$filename ] ;then
echo "ERROR: File already exists."

View File

@ -1,2 +0,0 @@
name="Wallpaper"
order=1

View File

@ -1,4 +0,0 @@
#!/bin/bash
_getHeader "$name" "$author"
setsid $HOME/dotfiles/hypr/scripts/wallpaper.sh select 1>/dev/null 2>&1 &
_goBack

View File

@ -1,4 +0,0 @@
name="Background Image"
desxription="Update the background wallpaper of sddm to the current wallpaper."
order=50
author="Stephan Raabe ML4W"

View File

@ -1,30 +0,0 @@
#!/bin/bash
_getHeader "$name" "$author"
if gum confirm "Do you want to update the SDDM background image with the current wallpaper?" ;then
cache_file="$HOME/.cache/current_wallpaper"
if [ ! -d /etc/sddm.conf.d/ ]; then
sudo mkdir /etc/sddm.conf.d
echo "Folder /etc/sddm.conf.d created."
fi
sudo cp ~/dotfiles/sddm/sddm.conf /etc/sddm.conf.d/
echo "File /etc/sddm.conf.d/sddm.conf updated."
current_wallpaper=$(cat "$cache_file")
extension="${current_wallpaper##*.}"
sudo cp $current_wallpaper /usr/share/sddm/themes/sugar-candy/Backgrounds/current_wallpaper.$extension
echo "Current wallpaper copied into /usr/share/sddm/themes/sugar-candy/Backgrounds/"
new_wall=$(echo $current_wallpaper | sed "s|$HOME/wallpaper/||g")
sudo cp ~/dotfiles/sddm/theme.conf /usr/share/sddm/themes/sugar-candy/
sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.$extension"'/' /usr/share/sddm/themes/sugar-candy/theme.conf
echo ""
echo "SDDM background successfully updated!"
sleep 2
fi
_goBack

View File

@ -1,2 +0,0 @@
name="SDDM"
order=40

View File

@ -1,3 +0,0 @@
name="Enable Disable DM"
order=50
author="Stephan Raabe ML4W"

View File

@ -1,18 +0,0 @@
#!/bin/bash
_getHeader "$name" "$author"
if [ -f /etc/systemd/system/display-manager.service ]; then
if gum confirm "Do you want to disable the current display manager?" ;then
sudo rm /etc/systemd/system/display-manager.service
echo "Current display manager removed. Please reboot your system."
sleep 2
fi
else
if gum confirm "Do you want to enable SDDM as your display manager?" ;then
sudo systemctl enable sddm.service
echo "Display manager SDDM has been enabled. Please reboot your system."
sleep 2
fi
fi
_goBack

View File

@ -1,2 +0,0 @@
#!/bin/bash
_getHeader "$name"

View File

@ -1,7 +1,14 @@
#!/bin/bash
_getHeader "$name" "$author"
echo "Define the start command to start the browser (Default: chromium)."
echo "Define the start command to start your preferred browser (Default: chromium)."
echo
echo "Executable (if installed) are:"
echo "chromium for Chromium"
echo "google-chrome-stable for Google Chrome"
echo "brave for Brave"
echo "firefox for Firefox"
echo
# Define File
targetFile="$HOME/dotfiles/.settings/browser.sh"
@ -18,6 +25,4 @@ else
echo "Please define a command"
sleep 1
fi
_goBack
_goBack

View File

@ -1,2 +0,0 @@
name="Toggle Swaylock"
order=1

View File

@ -1,34 +0,0 @@
#!/bin/bash
_getHeader "$name" "$author"
echo "Enable/Disable the start of Swaylock. Restart of Hyprland is required after a change."
# Define File
targetFile="$HOME/dotfiles/hypr/scripts/lockscreentime.sh"
settingsFile="$HOME/dotfiles/.settings/hypr_lockscreen"
# Define Markers
startMarker="START SWAYIDLE"
endMarker="END SWAYIDLE"
# Select Value
customvalue=$(gum choose "ENABLE" "DISABLE")
if [ ! -z $customvalue ]; then
if [ "$customvalue" == "ENABLE" ] ;then
customtext="# exit"
else
customtext="exit"
fi
_replaceInFile $startMarker $endMarker $customtext $targetFile
_writeSettings $settingsFile $customtext
# Reload Waybar
setsid $HOME/dotfiles/waybar/launch.sh 1>/dev/null 2>&1 &
_goBack
else
echo "ERROR: Define a value."
sleep 2
_goBack
fi

View File

@ -1,7 +1,7 @@
#!/bin/bash
version=$(cat .version/name)
source .install/colors.sh
source .install/library.sh
source .install/includes/colors.sh
source .install/includes/library.sh
clear
# Set installation mode
@ -38,35 +38,34 @@ source .install/confirm-start.sh
source .install/yay.sh
source .install/backup.sh
source .install/preparation.sh
source .install/profile.sh
if [[ $profile == *"Hyprland"* ]]; then
source .install/hyprland-version.sh
fi
source .install/installer.sh
source .install/general.sh
source .install/general-packages.sh
source .install/packages/general-packages.sh
source .install/install-packages.sh
source .install/profile.sh
if [[ $profile == *"Hyprland"* ]]; then
source .install/hyprland.sh
source .install/hyprland-packages.sh
echo -e "${GREEN}"
figlet "Hyprland"
echo -e "${NONE}"
source .install/packages/hyprland-packages.sh
source .install/install-packages.sh
source .install/screenlock.sh
fi
if [[ $profile == *"Qtile"* ]]; then
source .install/qtile.sh
source .install/qtile-packages.sh
echo -e "${GREEN}"
figlet "Qtile"
echo -e "${NONE}"
source .install/packages/qtile-packages.sh
source .install/install-packages.sh
fi
source .install/pywal.sh
source .install/wallpaper.sh
source .install/displaymanager.sh
source .install/issue.sh
source .install/restore.sh
source .install/vm.sh
source .install/keyboard.sh
source .install/vm.sh
source .install/hook.sh
source .install/copy.sh
source .install/config-folder.sh
source .install/init-pywal.sh
if [[ $profile == *"Hyprland"* ]]; then
source .install/hyprland-dotfiles.sh
@ -76,6 +75,10 @@ if [[ $profile == *"Qtile"* ]]; then
fi
source .install/gtk.sh
source .install/bashrc.sh
source .install/monitor.sh
source .install/cleanup.sh
source .install/done.sh
echo -e "${GREEN}"
figlet "Done"
echo -e "${NONE}"
echo "Please reboot your system!"
echo

View File

@ -1,239 +0,0 @@
; ____ _ _
; | _ \ ___ | |_ _| |__ __ _ _ __
; | |_) / _ \| | | | | '_ \ / _` | '__|
; | __/ (_) | | |_| | |_) | (_| | |
; |_| \___/|_|\__, |_.__/ \__,_|_|
; |___/
;
; by Stephan Raabe (2023)
; -----------------------------------------------------
; Icons: https://fontawesome.com/search?o=r&m=free
[colors]
background = #aa000000
foreground = ${xrdb:color7:#222}
foreground-alt = ${xrdb:color7:#000}
primary = ${xrdb:color3:#222}
secondary = ${xrdb:color7:#222}
alert = ${xrdb:color3:#222}
[bar/mybar]
width = 100%
height = 20pt
radius = 0
background = ${colors.background}
foreground = ${colors.foreground}
border-size = 0pt
border-color = #00000000
padding-left = 2
padding-right = 1
module-margin = 2
separator = ""
separator-foreground = ${colors.disabled}
font-0 = "Fira Sans SemiBold:size=11;2"
font-1 = "Font Awesome 6 Free Solid:pixelsize=11;2"
modules-left = appmenu browser xwindow
modules-center = xworkspaces
modules-right = battery xkeyboard mysystem filesystem pulseaudio memory cpu date exit
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
tray-position = right
tray-detached = false
[module/youtubesubs]
type = custom/script
exec = "python ~/private/youtube.py"
format-prefix = " "
format-prefix-foreground = ${colors.primary}
interval = 300
click-left = "chromium --app=https://studio.youtube.com"
label-foreground = #FFFFFF
[module/outlook]
type = custom/text
content-foreground = ${colors.foreground}
content = ""
click-left = "chromium --app=https://outlook.office.com/mail/"
[module/teams]
type = custom/text
content-foreground = ${colors.foreground}
content = ""
click-left = "chromium --app=https://teams.microsoft.com/go"
[module/browser]
type = custom/text
content-foreground = ${colors.foreground}
content = ""
click-left = "chromium"
[module/appmenu]
type = custom/text
content-foreground = ${colors.primary}
content = ""
click-left = "rofi -show drun"
[module/scrcpy]
type = custom/text
content-foreground = ${colors.foreground}
content = "Pixel"
click-left = "scrcpy -d"
[module/chatgpt]
type = custom/text
content-foreground = ${colors.foreground}
content = ""
click-left = "chromium --app=https://chat.openai.com"
[module/calculator]
type = custom/text
content-foreground = ${colors.foreground}
content = ""
click-left = "~/dotfiles/scripts/calculator.sh"
[module/launchvm]
type = custom/text
content-foreground = ${colors.foreground}
content = ""
click-left = "xfreerdp -grab-keyboard /v:192.168.122.42 /size:100% /cert-ignore /u:raabe /p:SECRET /d: /dynamic-resolution /gfx-h264:avc444 +gfx-progressive"
[module/exit]
type = custom/text
content-foreground = ${colors.primary}
content = " "
click-left = "~/dotfiles/qtile/scripts/powermenu.sh"
[module/xworkspaces]
type = internal/xworkspaces
icon1=3
icon-default = ""
label-active = %name%
label-active-background = ${colors.foreground}
label-active-padding = 2
label-active-foreground = #FF000000
; label-active-foreground = ${color.foreground}
label-occupied = %name%
label-occupied-padding = 2
label-occupied-foreground = #FFFFFF
label-occupied-background=#66000000
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %name%
label-empty-foreground =#FFFFFF
label-empty-background=#99000000
label-empty-padding = 2
; format-prefix = "  "
; format-prefix-foreground = ${colors.primary}
[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%
format-prefix = " "
format-prefix-foreground = ${colors.primary}
format-foreground = #FFFFFF
[module/mysystem]
type = custom/text
content-foreground = ${colors.primary}
content = " "
click-left = "alacritty -e htop"
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
format-foreground = #FFFFFF
label-mounted = %mountpoint% %percentage_used%%
label-mounted-foreground = #FFFFFF
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = #FFFFFF
[module/pulseaudio]
type = internal/pulseaudio
format-volume-prefix = " "
format-volume-prefix-foreground = ${colors.primary}
format-volume = <label-volume>
format-volume-foreground = #FFFFFF
label-volume = %percentage%%
label-muted = muted
label-muted-foreground = ${colors.disabled}
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %layout%
label-layout-foreground = ${colors.primary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.primary}
format-foreground = #FFFFFF
label = %percentage_used:2%%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.primary}
format-foreground = #FFFFFF
label = %percentage:2%%
click = "htop"
[network-base]
type = internal/network
interval = 5
format-connected = <label-connected>
format-disconnected = <label-disconnected>
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
[module/wlan]
inherit = network-base
interface-type = wireless
label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
[module/eth]
inherit = network-base
interface-type = wired
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
[module/date]
type = internal/date
interval = 1
format-prefix = " "
format-prefix-foreground = ${colors.primary}
date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S
label = %date%
label-foreground = #FFFFFF
[settings]
screenchange-reload = true
pseudo-transparency = true
[module/battery]
type = internal/battery
label-discharging = " %percentage%%"
label-full = " 100%"
label-charging = " %percentage%%
label-low = " BATTERY LOW"
format-discharging-foreground = #FFFFFF
format-full-foreground = #FFFFFF
format-charging-foreground = #FFFFFF
format-low-foreground = #FFFFFF
full-at = 99
low-at = 5
; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BAT1
; adapter = AC
poll-interval = 5
; vim:ft=dosini

View File

@ -1,23 +0,0 @@
#!/usr/bin/env bash
# ____ _ _ ____ _ _
# / ___|| |_ __ _ _ __| |_ | _ \ ___ | |_ _| |__ __ _ _ __
# \___ \| __/ _` | '__| __| | |_) / _ \| | | | | '_ \ / _` | '__|
# ___) | || (_| | | | |_ | __/ (_) | | |_| | |_) | (_| | |
# |____/ \__\__,_|_| \__| |_| \___/|_|\__, |_.__/ \__,_|_|
# |___/
#
# by Stephan Raabe (2023)
# -----------------------------------------------------
# -----------------------------------------------------
# Quit running polybar instances
# -----------------------------------------------------
killall polybar
# polybar-msg cmd quit
# -----------------------------------------------------
# Loading the configuration based on the username
# -----------------------------------------------------
polybar -r mybar

View File

@ -30,6 +30,7 @@ configuration {
/* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */
window {
@ -40,7 +41,7 @@ window {
padding: 0px;
margin: 0px;
color: #FFFFFF;
border: 3px;
border: @border-width;
border-color: #FFFFFF;
cursor: "default";
transparency: "real";
@ -162,7 +163,7 @@ element {
cursor: pointer;
background-color: @background;
border-radius: 10px;
border: 2px;
border: @border-width;
}
element normal.normal {

View File

@ -30,6 +30,7 @@ configuration {
/* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */
window {
@ -40,7 +41,7 @@ window {
padding: 0px;
margin: 0px;
color: #FFFFFF;
border: 3px;
border: @border-width;
border-color: #FFFFFF;
cursor: "default";
transparency: "real";
@ -162,7 +163,7 @@ element {
cursor: pointer;
background-color: @background;
border-radius: 10px;
border: 2px;
border: @border-width;
}
element normal.normal {

View File

@ -30,6 +30,7 @@ configuration {
/* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */
window {
@ -40,7 +41,7 @@ window {
padding: 0px;
margin: 0px;
color: #FFFFFF;
border: 3px;
border: @border-width;
border-color: #FFFFFF;
cursor: "default";
transparency: "real";
@ -162,7 +163,7 @@ element {
cursor: pointer;
background-color: @background;
border-radius: 10px;
border: 2px;
border: @border-width;
}
element normal.normal {

View File

@ -30,6 +30,7 @@ configuration {
/* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */
window {
@ -40,7 +41,7 @@ window {
padding: 0px;
margin: 0px;
color: #FFFFFF;
border: 3px;
border: @border-width;
border-color: #FFFFFF;
cursor: "default";
transparency: "real";
@ -162,7 +163,7 @@ element {
cursor: pointer;
background-color: @background;
border-radius: 10px;
border: 2px;
border: @border-width;
}
element normal.normal {

View File

@ -30,6 +30,7 @@ configuration {
/* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */
window {
@ -41,7 +42,7 @@ window {
padding: 0px;
margin: 0px;
color: #FFFFFF;
border: 3px;
border: @border-width;
border-color: #FFFFFF;
cursor: "default";
transparency: "real";
@ -163,7 +164,7 @@ element {
cursor: pointer;
background-color: @background;
border-radius: 10px;
border: 2px;
border: @border-width;
}
element normal.normal {

View File

@ -30,6 +30,7 @@ configuration {
/* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */
window {
@ -40,7 +41,7 @@ window {
padding: 0px;
margin: 0px;
color: #FFFFFF;
border: 3px;
border: @border-width;
border-color: #FFFFFF;
cursor: "default";
transparency: "real";
@ -162,7 +163,7 @@ element {
cursor: pointer;
background-color: @background;
border-radius: 10px;
border: 2px;
border: @border-width;
}
element normal.normal {

View File

@ -25,6 +25,7 @@ configuration {
/* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */
window {
@ -35,7 +36,7 @@ window {
padding: 0px;
margin: 0px;
color: #FFFFFF;
border: 3px;
border: @border-width;
border-color: #FFFFFF;
cursor: "default";
transparency: "real";
@ -132,15 +133,18 @@ button selected {
/* ---- Listview ---- */
listview {
enabled: true;
columns: 1;
columns: 6;
lines: 3;
cycle: true;
dynamic: false;
dynamic: true;
scrollbar: true;
layout: horizontal;
layout: vertical;
reverse: false;
spacing: 10px;
padding: 10px;
margin: 0px;
fixed-height: true;
fixed-columns: true;
background-color: @background;
border: 0px;
}
@ -153,8 +157,8 @@ element {
cursor: pointer;
background-color: @background;
border-radius: 10px;
border: 2px;
layout: vertical;
border: @border-width;
orientation: vertical;
}
element normal.normal {

View File

@ -30,6 +30,7 @@ configuration {
/* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */
window {
@ -40,7 +41,7 @@ window {
padding: 0px;
margin: 0px;
color: #FFFFFF;
border: 3px;
border: @border-width;
border-color: #FFFFFF;
cursor: "default";
transparency: "real";
@ -162,7 +163,7 @@ element {
cursor: pointer;
background-color: @background;
border-radius: 10px;
border: 2px;
border: @border-width;
}
element normal.normal {

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

31
scripts/installtimeshift.sh Executable file
View File

@ -0,0 +1,31 @@
#!/bin/bash
# _____ _ _ _ __ _
# |_ _(_)_ __ ___ ___ ___| |__ (_)/ _| |_
# | | | | '_ ` _ \ / _ \/ __| '_ \| | |_| __|
# | | | | | | | | | __/\__ \ | | | | _| |_
# |_| |_|_| |_| |_|\___||___/_| |_|_|_| \__|
#
sleep 1
clear
figlet "Timeshift"
_isInstalledYay() {
package="$1";
check="$(yay -Qs --color always "${package}" | grep "local" | grep "${package} ")";
if [ -n "${check}" ] ; then
echo 0; #'0' means 'true' in Bash
return; #true
fi;
echo 1; #'1' means 'false' in Bash
return; #false
}
if [[ $(_isInstalledYay "timeshift") == "0" ]] ;then
echo ":: Timeshift is already installed"
sleep 3
else
if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then
yay -S timeshift
fi
fi

View File

@ -5,23 +5,14 @@
# | || | | \__ \ || (_| | | | | |_| | |_) | (_| | (_| | || __/\__ \
# |___|_| |_|___/\__\__,_|_|_| \___/| .__/ \__,_|\__,_|\__\___||___/
# |_|
# by Stephan Raabe (2023)
# by Stephan Raabe (2024)
# -----------------------------------------------------
# Required: yay trizen timeshift btrfs-grub
# -----------------------------------------------------
sleep 1
clear
cat <<"EOF"
_ _ _ _
| | | |_ __ __| | __ _| |_ ___ ___
| | | | '_ \ / _` |/ _` | __/ _ \/ __|
| |_| | |_) | (_| | (_| | || __/\__ \
\___/| .__/ \__,_|\__,_|\__\___||___/
|_|
EOF
figlet "Updates"
_isInstalledYay() {
package="$1";
@ -48,7 +39,7 @@ else
fi
echo ""
if [[ $(_isInstalledYay "Timeshift") == 1 ]] ;then
if [[ $(_isInstalledYay "timeshift") == "0" ]] ;then
if gum confirm "DO YOU WANT TO CREATE A SNAPSHOT?" ;then
echo ""
c=$(gum input --placeholder "Enter a comment for the snapshot...")
@ -66,11 +57,6 @@ if [[ $(_isInstalledYay "Timeshift") == 1 ]] ;then
echo ""
fi
echo "-----------------------------------------------------"
echo "Start update"
echo "-----------------------------------------------------"
echo ""
yay
notify-send "Update complete"

19
scripts/thunarterminal.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
clear
if [ -f ~/dotfiles/.settings/terminal.sh ]; then
terminal="$(cat ~/dotfiles/.settings/terminal.sh)"
echo ":: Installing $terminal"
if [ -d ~/.config/xfce4 ]; then
if [ ! -f ~/.config/xfce4/helpers.rc ]; then
touch ~/.config/xfce4/helpers.rc
fi
echo "TerminalEmulator=$terminal" > ~/.config/xfce4/helpers.rc
echo ":: $terminal defined as Thunar Terminal Emulator."
else
echo "ERROR: ~/.config/xfce4 not found. Please open Thunar once to create it."
echo "Then start this script again."
fi
else
echo "ERROR: ~/dotfiles/.settings/terminal.sh not found"
fi
sleep 3

9
scripts/unlock-pacman.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
sleep 1
if [ -f /var/lib/pacman/db.lck ]; then
sudo rm /var/lib/pacman/db.lck
echo ":: Unlock complete"
else
echo ":: Pacman database is not locked"
fi
sleep 3

12
sddm/scripts/disable.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
figlet "Disable SDDM"
if [ -f /etc/systemd/system/display-manager.service ]; then
if gum confirm "Do you want to disable the current display manager?" ;then
sudo rm /etc/systemd/system/display-manager.service
echo ":: Current display manager removed."
echo ":: Please reboot your system."
fi
else
echo ":: No Display Manager enabled."
fi
sleep 3

12
sddm/scripts/enable.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
figlet "Enable SDDM"
if [ -f /etc/systemd/system/display-manager.service ]; then
echo ":: Display Manager is already enabled."
else
if gum confirm "Do you want to enable SDDM as your display manager?" ;then
sudo systemctl enable sddm.service
echo ":: Display manager SDDM has been enabled."
echo ":: Please reboot your system!"
fi
fi
sleep 3

View File

@ -6,19 +6,21 @@
# \___/| .__/ \__,_|\__,_|\__\___| |___/\__,_|\__,_|_| |_| |_|
# |_|
#
# by Stephan Raabe (2023)
# by Stephan Raabe (2024)
# -----------------------------------------------------
cache_file="$HOME/.cache/current_wallpaper"
sleep 1
clear
echo "Update the background wallpaper of sddm to the current wallpaper."
echo ""
figlet "Set Wallpaper"
echo
echo "Set the current wallpaper as SDDM wallpaper."
echo
if [ ! -d /etc/sddm.conf.d/ ]; then
sudo mkdir /etc/sddm.conf.d
echo "Folder /etc/sddm.conf.d created."
fi
sudo cp sddm.conf /etc/sddm.conf.d/
sudo cp $HOME/dotfiles/sddm/sddm.conf /etc/sddm.conf.d/
echo "File /etc/sddm.conf.d/sddm.conf updated."
current_wallpaper=$(cat "$cache_file")
@ -27,10 +29,10 @@ extension="${current_wallpaper##*.}"
sudo cp $current_wallpaper /usr/share/sddm/themes/sugar-candy/Backgrounds/current_wallpaper.$extension
echo "Current wallpaper copied into /usr/share/sddm/themes/sugar-candy/Backgrounds/"
new_wall=$(echo $current_wallpaper | sed "s|$HOME/wallpaper/||g")
sudo cp theme.conf /usr/share/sddm/themes/sugar-candy/
sudo cp $HOME/dotfiles/sddm/theme.conf /usr/share/sddm/themes/sugar-candy/
sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.$extension"'/' /usr/share/sddm/themes/sugar-candy/theme.conf
echo "File theme.conf updated in /usr/share/sddm/themes/sugar-candy/"
echo ""
echo "DONE! Please logout to test sddm."
sleep 3

View File

@ -85,7 +85,7 @@ ForceLastUser="true"
ForcePasswordFocus="true"
## Give automatic focus to the password field. Together with ForceLastUser this makes for the fastest login experience.
ForceHideCompletePassword="false"
ForceHideCompletePassword="true"
## If you don't like to see any character at all not even while being entered set this to true.
ForceHideVirtualKeyboardButton="false"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 KiB

After

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

View File

@ -186,7 +186,7 @@
// Rofi Application Launcher
"custom/appmenuicon": {
"format": "",
"format": "",
"on-click": "rofi -show drun -replace",
"on-click-right": "~/dotfiles/hypr/scripts/keybindings.sh",
"tooltip": false
@ -369,6 +369,6 @@
"activated": "",
"deactivated": ""
},
"on-click-right": "swaylock"
"on-click-right": "hyprlock"
}
}

View File

@ -7,7 +7,7 @@
// Choose the order of the modules
"modules-left": ["hyprland/workspaces","custom/waybarthemes"],
"modules-center": ["hyprland/window"],
"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"],
"modules-right": ["custom/ml4w-welcome","mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
@ -34,6 +34,12 @@
"unlocked": ""
}
},
// ML4W Welcome App
"custom/ml4w-welcome": {
"on-click": "~/dotfiles/apps/ML4W_Welcome-x86_64.AppImage",
"format": " ",
"tooltip": false
},
// Waybar Themes
"custom/waybarthemes": {
"format": "Themes",

View File

@ -1,2 +1,2 @@
#!/bin/bash
theme_name="Default"
theme_name="Waybar Default Theme"

View File

@ -34,6 +34,15 @@ window#waybar.chromium {
border: none;
}
#custom-ml4w-welcome {
margin-right: 15px;
background-image: url("../assets/ml4w-icon-20.png");
background-repeat: no-repeat;
background-position: center;
padding-right: 20px;
margin-right: 0px;
}
button {
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;

View File

@ -324,6 +324,6 @@
"activated": "",
"deactivated": ""
},
"on-click-right": "swaylock"
"on-click-right": "hyprlock"
}
}

View File

@ -5,7 +5,7 @@
# | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ |
# |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_|
#
# by Stephan Raabe (2023)
# by Stephan Raabe (2024)
# -----------------------------------------------------
# -----------------------------------------------------
@ -25,6 +25,7 @@ listNames=""
options=$(find $themes_path -maxdepth 2 -type d)
for value in $options
do
if [ ! $value == "$HOME/dotfiles/waybar/themes/assets" ]; then
if [ ! $value == "$themes_path" ]; then
if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then
result=$(echo $value | sed "s#$HOME/dotfiles/waybar/themes/#/#g")
@ -38,6 +39,7 @@ do
fi
fi
fi
fi
done
# -----------------------------------------------------

View File

@ -1,6 +1,6 @@
{
"label" : "lock",
"action" : "sleep 1; swaylock",
"action" : "sleep 1; hyprlock",
"text" : "Lock",
"keybind" : "l"
}
@ -12,7 +12,7 @@
}
{
"label" : "logout",
"action" : "sleep 1; hyprctl dispatch exit",
"action" : "$HOME/dotfiles/hypr/scripts/exit.sh",
"text" : "Exit",
"keybind" : "e"
}