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

View File

@ -4,7 +4,7 @@
if [ ! -z $1 ] ;then if [ ! -z $1 ] ;then
if [ -d ~/dotfiles-versions/"$1" ] ;then if [ -d ~/dotfiles-versions/"$1" ] ;then
echo "Folder exists. Start rsync now ..." 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 else
echo "Folder ~/dotfiles-versions/$1 not found." echo "Folder ~/dotfiles-versions/$1 not found."
fi fi

View File

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

View File

@ -36,6 +36,21 @@ if [ -d ~/dotfiles/hypr/settings/modules/waybar/defaults ] ;then
echo "~/dotfiles/hypr/settings/modules/waybar/defaults removed." echo "~/dotfiles/hypr/settings/modules/waybar/defaults removed."
fi 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 # Create default folder structure
xdg-user-dirs-update xdg-user-dirs-update
echo "Default folders created..." 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}" echo -e "${NONE}"
if [[ $profile == *"Hyprland"* ]]; then if [[ $profile == *"Hyprland"* ]]; then
echo "IMPORTANT: Starting Hyprland works from tty (terminal) with command Hyprland (recommended)." 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 "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 "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" 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 if [ -f /etc/systemd/system/display-manager.service ]; then
disman=0 disman=0
echo "You have already installed a display manager on your system." echo "You have already installed a display manager on your system."
echo "How do you want to proceed? (ESC = Keep current setup)" echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm-git") dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm")
else else
disman=1 disman=1
echo "There is no display manager installed on your system." 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 "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)" echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Install sddm-git") dmsel=$(gum choose "Keep current setup" "Install sddm")
fi fi
else else
if [ -f /etc/systemd/system/display-manager.service ]; then if [ -f /etc/systemd/system/display-manager.service ]; then
disman=0 disman=0
echo "You have already installed a display manager. If your display manager is working fine, you can keep the current setup." 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)" echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm-git") dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm")
else else
disman=1 disman=1
echo "There is no display manager installed on your system. You're starting Hyprland/Qtile with commands on tty." 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)" echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Install sddm-git") dmsel=$(gum choose "Keep current setup" "Install sddm")
fi fi
fi fi
if [ "$dmsel" == "Install sddm-git" ] ;then if [ -z "${dmsel}" ] ;then
echo "Installation canceled."
exit
fi
if [ "$dmsel" == "Install sddm" ] ;then
disman=0 disman=0
# Try to force the installation of sddm-git # Try to force the installation of sddm-git
echo "Install sddm-git" echo "Install sddm"
yay -S --noconfirm sddm-git sddm-sugar-candy-git --ask 4 yay -S --noconfirm sddm sddm-sugar-candy-git --ask 4
if [ -f /etc/systemd/system/display-manager.service ]; then if [ -f /etc/systemd/system/display-manager.service ]; then
sudo rm /etc/systemd/system/display-manager.service 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 # 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
_installSymLink alacritty ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/vim ]; then
if [ -d ~/dotfiles-versions/$version/vim ]; then _installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config
_installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/nvim ]; then
if [ -d ~/dotfiles-versions/$version/nvim ]; then _installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config
_installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/starship ]; then
if [ -d ~/dotfiles-versions/$version/starship ]; then _installSymLink starship ~/.config/starship.toml ~/dotfiles/starship/starship.toml ~/.config/starship.toml
_installSymLink starship ~/.config/starship.toml ~/dotfiles/starship/starship.toml ~/.config/starship.toml fi
fi if [ -d ~/dotfiles-versions/$version/rofi ]; then
if [ -d ~/dotfiles-versions/$version/rofi ]; then _installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config
_installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/dunst ]; then
if [ -d ~/dotfiles-versions/$version/dunst ]; then _installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config
_installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/hypr ]; then
if [ -d ~/dotfiles-versions/$version/hypr ]; then _installSymLink hypr ~/.config/hypr ~/dotfiles/hypr/ ~/.config
_installSymLink hypr ~/.config/hypr ~/dotfiles/hypr/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/waybar ]; then
if [ -d ~/dotfiles-versions/$version/waybar ]; then _installSymLink waybar ~/.config/waybar ~/dotfiles/waybar/ ~/.config
_installSymLink waybar ~/.config/waybar ~/dotfiles/waybar/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/swaylock ]; then
if [ -d ~/dotfiles-versions/$version/swaylock ]; then _installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config
_installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/wlogout ]; then
if [ -d ~/dotfiles-versions/$version/wlogout ]; then _installSymLink wlogout ~/.config/wlogout ~/dotfiles/wlogout/ ~/.config
_installSymLink wlogout ~/.config/wlogout ~/dotfiles/wlogout/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/swappy ]; then
if [ -d ~/dotfiles-versions/$version/swappy ]; then _installSymLink swappy ~/.config/swappy ~/dotfiles/swappy/ ~/.config
_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 fi
echo "Symbolic links created." 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() { _isInstalledYay() {
package="$1"; 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 if [ -n "${check}" ] ; then
echo 0; #'0' means 'true' in Bash echo 0; #'0' means 'true' in Bash
return; #true return; #true

View File

@ -1,10 +1,10 @@
if [[ "$force_install" == "1" ]] ;then if [[ "$force_install" == "1" ]] ;then
echo "Force installation of all packages..." echo "Force installation of all packages..."
_forcePackagesPacman "${packagesPacman[@]}"; _forcePackagesPacman "${packagesPacman[@]}";
_forcePackagesYay "${packagesYay[@]}"; _forcePackagesYay "${packagesYay[@]}";
else else
echo "Install only missing packages..." echo "Install only missing packages..."
_installPackagesPacman "${packagesPacman[@]}"; _installPackagesPacman "${packagesPacman[@]}";
_installPackagesYay "${packagesYay[@]}"; _installPackagesYay "${packagesYay[@]}";
fi 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" "tumbler"
"blueman" "blueman"
"papirus-icon-theme" "papirus-icon-theme"
"breeze-icons"
"polkit-gnome" "polkit-gnome"
"brightnessctl" "brightnessctl"
"gum" "gum"
"man-pages" "man-pages"
"xdg-desktop-portal"
"nm-connection-editor" "nm-connection-editor"
"gvfs" "gvfs"
"xdg-user-dirs" "xdg-user-dirs"
"networkmanager" "networkmanager"
"network-manager-applet" "network-manager-applet"
"xarchiver"
"thunar-archive-plugin"
"zip"
"fuse2" "fuse2"
"gtk4" "gtk4"
"libadwaita" "libadwaita"
"python-pywal"
"xdg-desktop-portal"
); );
packagesYay=( packagesYay=(
@ -52,7 +57,3 @@ packagesYay=(
"trizen" "trizen"
"pacseek" "pacseek"
); );
# Removed packages
# "xfce4-power-manager"
# "ttf-font-awesome"

View File

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

View File

@ -4,6 +4,13 @@
echo -e "${GREEN}" echo -e "${GREEN}"
figlet "Preparation" figlet "Preparation"
echo -e "${NONE}" 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." echo ":: Preparing temporary folders for the installation."
if [ ! -d ~/dotfiles-versions ]; then if [ ! -d ~/dotfiles-versions ]; then
mkdir ~/dotfiles-versions mkdir ~/dotfiles-versions
@ -18,11 +25,11 @@ else
mkdir ~/dotfiles-versions/$version mkdir ~/dotfiles-versions/$version
echo ":: Clean build prepared for the installation." echo ":: Clean build prepared for the installation."
fi 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 if [[ $(_isFolderEmpty ~/dotfiles-versions/$version/) == 0 ]] ;then
echo "AN ERROR HAS OCCURED. Preparation of ~/dotfiles-versions/$version/ failed" echo "AN ERROR HAS OCCURED. Preparation of ~/dotfiles-versions/$version/ failed"
echo "Please check that rsync is installad on your system." 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 exit
fi fi
echo ":: dotfiles $version successfully prepared in ~/dotfiles-versions/$version/" 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 # 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
_installSymLink alacritty ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/vim ]; then
if [ -d ~/dotfiles-versions/$version/vim ]; then _installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config
_installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/nvim ]; then
if [ -d ~/dotfiles-versions/$version/nvim ]; then _installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config
_installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/starship ]; then
if [ -d ~/dotfiles-versions/$version/starship ]; then _installSymLink starship ~/.config/starship.toml ~/dotfiles/starship/starship.toml ~/.config/starship.toml
_installSymLink starship ~/.config/starship.toml ~/dotfiles/starship/starship.toml ~/.config/starship.toml fi
fi if [ -d ~/dotfiles-versions/$version/rofi ]; then
if [ -d ~/dotfiles-versions/$version/rofi ]; then _installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config
_installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/dunst ]; then
if [ -d ~/dotfiles-versions/$version/dunst ]; then _installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config
_installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/qtile ]; then
if [ -d ~/dotfiles-versions/$version/qtile ]; then _installSymLink qtile ~/.config/qtile ~/dotfiles/qtile/ ~/.config
_installSymLink qtile ~/.config/qtile ~/dotfiles/qtile/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/picom ]; then
if [ -d ~/dotfiles-versions/$version/polybar ]; then _installSymLink picom ~/.config/picom ~/dotfiles/picom/ ~/.config
_installSymLink polybar ~/.config/polybar ~/dotfiles/polybar/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/qtile ]; then
if [ -d ~/dotfiles-versions/$version/picom ]; then _installSymLink .xinitrc ~/.xinitrc ~/dotfiles/qtile/.xinitrc ~/.xinitrc
_installSymLink picom ~/.config/picom ~/dotfiles/picom/ ~/.config fi
fi if [ -d ~/dotfiles-versions/$version/swaylock ]; then
if [ -d ~/dotfiles-versions/$version/qtile ]; then _installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config
_installSymLink .xinitrc ~/.xinitrc ~/dotfiles/qtile/.xinitrc ~/.xinitrc fi
fi if [ -d ~/dotfiles-versions/$version/swappy ]; then
if [ -d ~/dotfiles-versions/$version/swaylock ]; then _installSymLink swappy ~/.config/swappy ~/dotfiles/swappy/ ~/.config
_installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config
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 fi
echo "Symbolic links created." 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 if [ -f ~/dotfiles/hypr/conf/monitor.conf ] && [ -d ~/dotfiles/hypr/conf/monitors/ ]; then
restorelist+="~/dotfiles/hypr/conf/monitor.conf " restorelist+="~/dotfiles/hypr/conf/monitor.conf "
selectedlist+="~/dotfiles/hypr/conf/monitor.conf," selectedlist+="~/dotfiles/hypr/conf/monitor.conf,"
monitorrestored=1
fi fi
if [ -f ~/dotfiles/hypr/conf/animation.conf ] && [ -d ~/dotfiles/hypr/conf/animations/ ]; then if [ -f ~/dotfiles/hypr/conf/animation.conf ] && [ -d ~/dotfiles/hypr/conf/animations/ ]; then
restorelist+="~/dotfiles/hypr/conf/animation.conf " restorelist+="~/dotfiles/hypr/conf/animation.conf "
@ -81,6 +80,10 @@ _showRestoreOptions() {
else else
echo "No files selected to restore." echo "No files selected to restore."
confirmrestore=$(gum choose "Change restore" "Cancel restore") confirmrestore=$(gum choose "Change restore" "Cancel restore")
if [ -z "${confirmrestore}" ] ;then
echo "Installation canceled."
exit
fi
if [ "$confirmrestore" == "Change restore" ]; then if [ "$confirmrestore" == "Change restore" ]; then
echo "" echo ""
_showRestoreOptions _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_variant =
kb_model = kb_model =
kb_options = kb_options =
numlock_by_default = true
# For United States # For United States
# kb_layout = us # kb_layout = us

View File

@ -4,11 +4,20 @@ echo -e "${GREEN}"
figlet "KVM VM" figlet "KVM VM"
echo -e "${NONE}" echo -e "${NONE}"
echo "The script has detected that you run the installation in a KVM virtual machine." echo "The script has detected that you run the installation in a KVM virtual machine."
if gum confirm "Do you want to install the KVM environment variables?" ;then if grep -Fxq "kvm.conf" ~/dotfiles-versions/$version/hypr/conf/environment.conf
echo "source = ~/dotfiles/hypr/conf/environments/kvm.conf" > ~/dotfiles-versions/$version/hypr/conf/environment.conf then
echo "Environment set to KVM." 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 fi
if gum confirm "Do you want to install the QEMU guest agent?" ;then if [[ $(_isInstalledPacman "${pkg}") == 0 ]]; then
_installPackagesPacman "qemu-guest-agent"; 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
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 Version 2.8
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8 https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8
-------------------------------------------------------- --------------------------------------------------------
@ -9,6 +31,7 @@ Hyprland:
- New waybar theme ml4w-minimal - New waybar theme ml4w-minimal
- New window animation variation animation-moving.conf - New window animation variation animation-moving.conf
- New AI icon to open ChatGPT - New AI icon to open ChatGPT
- Hyprland installation with hyprland package only. hyprland-git removed from the installer
Version 2.7.2 Version 2.7.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/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. 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. 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] [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 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 # 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 # 1.) Change into your Downloads folder where you have downloaded the release to
cd ~/Downloads cd ~/Downloads
# 2.) Unzip # 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 # 3.) Change into the new dotfiles folder
cd dotfiles cd dotfiles
# 4.) Switch to dev branch
git checkout dev
# 4.) Start the installation to update # 4.) Start the installation to update
./install.sh ./install.sh
@ -89,9 +92,6 @@ cd ~/Downloads/dotfiles
# Switch to rolling release # Switch to rolling release
# git checkout origin/main # git checkout origin/main
# Switch to other version
# git checkout 2.7.2
# 2.) Pull the latest version and update the repository # 2.) Pull the latest version and update the repository
git stash; git pull 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 ## Dotfiles Installer
You can also use the dotfiles installer script to download and install the latest release: https://gitlab.com/stephan-raabe/installer You can also use the dotfiles installer script to download and install the latest release: https://gitlab.com/stephan-raabe/installer
@ -144,13 +146,11 @@ 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. 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. The dotfiles installation script will offer to deactivate the installed display manager and to activate SDDM.
The dotfiles package also includes a configuration for the SDDM theme sdd-sugar-candy (https://github.com/Kangie/sddm-sugar-candy) and a configuration to run SDDM in X11 mode to get the best compatibility. The dotfiles package also includes a configuration for the SDDM theme sdd-sugar-candy (https://github.com/Kangie/sddm-sugar-candy) and a configuration to run SDDM in X11 mode to get the best compatibility.
@ -274,7 +274,8 @@ Please note that every Arch Linux system is different and I cannot guarantee tha
- Screenshots: grim & slurp - Screenshots: grim & slurp
- Clipboard Manager: cliphist - Clipboard Manager: cliphist
- Logout: wlogout - Logout: wlogout
- Screenlock: swaylock-effects - Idle Manager: hypridle
- Screenlock: hyprlock
# Qtile X11 # Qtile X11
@ -337,6 +338,14 @@ sudo systemctl disable sddm.service
sudo rm /etc/systemd/system/display-manager.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 # Wallpaper repository
You can find my wallpaper collection in the repository https://gitlab.com/stephan-raabe/wallpaper 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 # Load GTK settings
exec-once = ~/dotfiles/hypr/scripts/gtk.sh exec-once = ~/dotfiles/hypr/scripts/gtk.sh
# Load swayidle and define the lock screen time # Using hypridle to start hyprlock
exec-once = ~/dotfiles/hypr/scripts/lockscreentime.sh 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 # Load network manager applet
# START NM APPLET # START NM APPLET

View File

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

View File

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

View File

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

View File

@ -8,4 +8,3 @@ windowrule = tile,^(Chromium)$
windowrule = float,^(pavucontrol)$ windowrule = float,^(pavucontrol)$
windowrule = float,^(blueman-manager)$ windowrule = float,^(blueman-manager)$
windowrule = float,^(nm-connection-editor)$ 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 _reloadModule
break;; break;;
COPY) 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") filename=$(gum input --value="custom-${sel##*/}" --placeholder "Enter your filename")
if [ -z $filename ] ;then if [ -z $filename ] ;then
echo "ERROR: No filename specified." echo "ERROR: No filename specified."
else else
if ! [[ $filename =~ ^[a-zA-Z1-9_-]+.conf ]]; then if ! [[ $filename =~ [^\s]+.conf ]]; then
echo "ERROR: Wrong filename format. Please use [a-zA-Z1-9_-]+.conf" echo "ERROR: Wrong filename format. Please use *.conf"
else else
if [ -f $(dirname $sel)/$filename ] ;then if [ -f $(dirname $sel)/$filename ] ;then
echo "ERROR: File already exists." 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 #!/bin/bash
_getHeader "$name" "$author" _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 # Define File
targetFile="$HOME/dotfiles/.settings/browser.sh" targetFile="$HOME/dotfiles/.settings/browser.sh"
@ -18,6 +25,4 @@ else
echo "Please define a command" echo "Please define a command"
sleep 1 sleep 1
fi 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 #!/bin/bash
version=$(cat .version/name) version=$(cat .version/name)
source .install/colors.sh source .install/includes/colors.sh
source .install/library.sh source .install/includes/library.sh
clear clear
# Set installation mode # Set installation mode
@ -38,35 +38,34 @@ source .install/confirm-start.sh
source .install/yay.sh source .install/yay.sh
source .install/backup.sh source .install/backup.sh
source .install/preparation.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/installer.sh
source .install/general.sh source .install/general.sh
source .install/general-packages.sh source .install/packages/general-packages.sh
source .install/install-packages.sh source .install/install-packages.sh
source .install/profile.sh
if [[ $profile == *"Hyprland"* ]]; then if [[ $profile == *"Hyprland"* ]]; then
source .install/hyprland.sh echo -e "${GREEN}"
source .install/hyprland-packages.sh figlet "Hyprland"
echo -e "${NONE}"
source .install/packages/hyprland-packages.sh
source .install/install-packages.sh source .install/install-packages.sh
source .install/screenlock.sh
fi fi
if [[ $profile == *"Qtile"* ]]; then if [[ $profile == *"Qtile"* ]]; then
source .install/qtile.sh echo -e "${GREEN}"
source .install/qtile-packages.sh figlet "Qtile"
echo -e "${NONE}"
source .install/packages/qtile-packages.sh
source .install/install-packages.sh source .install/install-packages.sh
fi fi
source .install/pywal.sh
source .install/wallpaper.sh source .install/wallpaper.sh
source .install/displaymanager.sh source .install/displaymanager.sh
source .install/issue.sh source .install/issue.sh
source .install/restore.sh source .install/restore.sh
source .install/vm.sh
source .install/keyboard.sh source .install/keyboard.sh
source .install/vm.sh
source .install/hook.sh source .install/hook.sh
source .install/copy.sh source .install/copy.sh
source .install/config-folder.sh
source .install/init-pywal.sh source .install/init-pywal.sh
if [[ $profile == *"Hyprland"* ]]; then if [[ $profile == *"Hyprland"* ]]; then
source .install/hyprland-dotfiles.sh source .install/hyprland-dotfiles.sh
@ -76,6 +75,10 @@ if [[ $profile == *"Qtile"* ]]; then
fi fi
source .install/gtk.sh source .install/gtk.sh
source .install/bashrc.sh source .install/bashrc.sh
source .install/monitor.sh
source .install/cleanup.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) ---- */ /* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal" @import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi" @import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */ /* ---- Window ---- */
window { window {
@ -40,7 +41,7 @@ window {
padding: 0px; padding: 0px;
margin: 0px; margin: 0px;
color: #FFFFFF; color: #FFFFFF;
border: 3px; border: @border-width;
border-color: #FFFFFF; border-color: #FFFFFF;
cursor: "default"; cursor: "default";
transparency: "real"; transparency: "real";
@ -162,7 +163,7 @@ element {
cursor: pointer; cursor: pointer;
background-color: @background; background-color: @background;
border-radius: 10px; border-radius: 10px;
border: 2px; border: @border-width;
} }
element normal.normal { element normal.normal {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -30,6 +30,7 @@ configuration {
/* ---- Load pywal colors (custom wal template) ---- */ /* ---- Load pywal colors (custom wal template) ---- */
@import "~/.cache/wal/colors-rofi-pywal" @import "~/.cache/wal/colors-rofi-pywal"
@import "~/.cache/current_wallpaper.rasi" @import "~/.cache/current_wallpaper.rasi"
@import "~/dotfiles/.settings/rofi-border.rasi"
/* ---- Window ---- */ /* ---- Window ---- */
window { window {
@ -40,7 +41,7 @@ window {
padding: 0px; padding: 0px;
margin: 0px; margin: 0px;
color: #FFFFFF; color: #FFFFFF;
border: 3px; border: @border-width;
border-color: #FFFFFF; border-color: #FFFFFF;
cursor: "default"; cursor: "default";
transparency: "real"; transparency: "real";
@ -162,7 +163,7 @@ element {
cursor: pointer; cursor: pointer;
background-color: @background; background-color: @background;
border-radius: 10px; border-radius: 10px;
border: 2px; border: @border-width;
} }
element normal.normal { 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 # Required: yay trizen timeshift btrfs-grub
# ----------------------------------------------------- # -----------------------------------------------------
sleep 1 sleep 1
clear clear
figlet "Updates"
cat <<"EOF"
_ _ _ _
| | | |_ __ __| | __ _| |_ ___ ___
| | | | '_ \ / _` |/ _` | __/ _ \/ __|
| |_| | |_) | (_| | (_| | || __/\__ \
\___/| .__/ \__,_|\__,_|\__\___||___/
|_|
EOF
_isInstalledYay() { _isInstalledYay() {
package="$1"; package="$1";
@ -48,7 +39,7 @@ else
fi fi
echo "" echo ""
if [[ $(_isInstalledYay "Timeshift") == 1 ]] ;then if [[ $(_isInstalledYay "timeshift") == "0" ]] ;then
if gum confirm "DO YOU WANT TO CREATE A SNAPSHOT?" ;then if gum confirm "DO YOU WANT TO CREATE A SNAPSHOT?" ;then
echo "" echo ""
c=$(gum input --placeholder "Enter a comment for the snapshot...") c=$(gum input --placeholder "Enter a comment for the snapshot...")
@ -66,11 +57,6 @@ if [[ $(_isInstalledYay "Timeshift") == 1 ]] ;then
echo "" echo ""
fi fi
echo "-----------------------------------------------------"
echo "Start update"
echo "-----------------------------------------------------"
echo ""
yay yay
notify-send "Update complete" 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" cache_file="$HOME/.cache/current_wallpaper"
sleep 1
clear clear
echo "Update the background wallpaper of sddm to the current wallpaper." figlet "Set Wallpaper"
echo "" echo
echo "Set the current wallpaper as SDDM wallpaper."
echo
if [ ! -d /etc/sddm.conf.d/ ]; then if [ ! -d /etc/sddm.conf.d/ ]; then
sudo mkdir /etc/sddm.conf.d sudo mkdir /etc/sddm.conf.d
echo "Folder /etc/sddm.conf.d created." echo "Folder /etc/sddm.conf.d created."
fi 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." echo "File /etc/sddm.conf.d/sddm.conf updated."
current_wallpaper=$(cat "$cache_file") 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 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/" echo "Current wallpaper copied into /usr/share/sddm/themes/sugar-candy/Backgrounds/"
new_wall=$(echo $current_wallpaper | sed "s|$HOME/wallpaper/||g") 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 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 "File theme.conf updated in /usr/share/sddm/themes/sugar-candy/"
echo ""
echo "DONE! Please logout to test sddm." echo "DONE! Please logout to test sddm."
sleep 3

View File

@ -85,7 +85,7 @@ ForceLastUser="true"
ForcePasswordFocus="true" ForcePasswordFocus="true"
## Give automatic focus to the password field. Together with ForceLastUser this makes for the fastest login experience. ## 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. ## If you don't like to see any character at all not even while being entered set this to true.
ForceHideVirtualKeyboardButton="false" 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 // Rofi Application Launcher
"custom/appmenuicon": { "custom/appmenuicon": {
"format": "", "format": "",
"on-click": "rofi -show drun -replace", "on-click": "rofi -show drun -replace",
"on-click-right": "~/dotfiles/hypr/scripts/keybindings.sh", "on-click-right": "~/dotfiles/hypr/scripts/keybindings.sh",
"tooltip": false "tooltip": false
@ -369,6 +369,6 @@
"activated": "", "activated": "",
"deactivated": "" "deactivated": ""
}, },
"on-click-right": "swaylock" "on-click-right": "hyprlock"
} }
} }

View File

@ -7,7 +7,7 @@
// Choose the order of the modules // Choose the order of the modules
"modules-left": ["hyprland/workspaces","custom/waybarthemes"], "modules-left": ["hyprland/workspaces","custom/waybarthemes"],
"modules-center": ["hyprland/window"], "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 // Modules configuration
// "sway/workspaces": { // "sway/workspaces": {
// "disable-scroll": true, // "disable-scroll": true,
@ -34,6 +34,12 @@
"unlocked": "" "unlocked": ""
} }
}, },
// ML4W Welcome App
"custom/ml4w-welcome": {
"on-click": "~/dotfiles/apps/ML4W_Welcome-x86_64.AppImage",
"format": " ",
"tooltip": false
},
// Waybar Themes // Waybar Themes
"custom/waybarthemes": { "custom/waybarthemes": {
"format": "Themes", "format": "Themes",

View File

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

View File

@ -34,6 +34,15 @@ window#waybar.chromium {
border: none; 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 { button {
/* Use box-shadow instead of border so the text isn't offset */ /* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent; box-shadow: inset 0 -3px transparent;

View File

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

View File

@ -5,7 +5,7 @@
# | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ | # | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ |
# |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_| # |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_|
# #
# by Stephan Raabe (2023) # by Stephan Raabe (2024)
# ----------------------------------------------------- # -----------------------------------------------------
# ----------------------------------------------------- # -----------------------------------------------------
@ -25,16 +25,18 @@ listNames=""
options=$(find $themes_path -maxdepth 2 -type d) options=$(find $themes_path -maxdepth 2 -type d)
for value in $options for value in $options
do do
if [ ! $value == "$themes_path" ]; then if [ ! $value == "$HOME/dotfiles/waybar/themes/assets" ]; then
if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then if [ ! $value == "$themes_path" ]; then
result=$(echo $value | sed "s#$HOME/dotfiles/waybar/themes/#/#g") if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then
IFS='/' read -ra arrThemes <<< "$result" result=$(echo $value | sed "s#$HOME/dotfiles/waybar/themes/#/#g")
listThemes[${#listThemes[@]}]="/${arrThemes[1]};$result" IFS='/' read -ra arrThemes <<< "$result"
if [ -f $themes_path$result/config.sh ]; then listThemes[${#listThemes[@]}]="/${arrThemes[1]};$result"
source $themes_path$result/config.sh if [ -f $themes_path$result/config.sh ]; then
listNames+="$theme_name\n" source $themes_path$result/config.sh
else listNames+="$theme_name\n"
listNames+="/${arrThemes[1]};$result\n" else
listNames+="/${arrThemes[1]};$result\n"
fi
fi fi
fi fi
fi fi

View File

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