Merge branch 'dev' into 'main'

Merge to 2.8.1RC1

See merge request stephan-raabe/dotfiles!70
This commit is contained in:
Stephan Raabe 2024-02-21 15:34:18 +00:00
commit 939b10bd6b
66 changed files with 335 additions and 698 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,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
_installSymLink alacritty ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/vim ]; then
_installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/nvim ]; then
_installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config
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
_installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/dunst ]; then
_installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/hypr ]; then
_installSymLink hypr ~/.config/hypr ~/dotfiles/hypr/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/waybar ]; then
_installSymLink waybar ~/.config/waybar ~/dotfiles/waybar/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/swaylock ]; then
_installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/wlogout ]; then
_installSymLink wlogout ~/.config/wlogout ~/dotfiles/wlogout/ ~/.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
#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!"
if [ -d ~/dotfiles-versions/$version/alacritty ]; then
_installSymLink alacritty ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/vim ]; then
_installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/nvim ]; then
_installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config
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
_installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/dunst ]; then
_installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/hypr ]; then
_installSymLink hypr ~/.config/hypr ~/dotfiles/hypr/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/waybar ]; then
_installSymLink waybar ~/.config/waybar ~/dotfiles/waybar/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/swaylock ]; then
_installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/wlogout ]; then
_installSymLink wlogout ~/.config/wlogout ~/dotfiles/wlogout/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/swappy ]; then
_installSymLink swappy ~/.config/swappy ~/dotfiles/swappy/ ~/.config
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

@ -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

@ -36,15 +36,19 @@ packagesPacman=(
"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=(
@ -53,7 +57,3 @@ packagesYay=(
"trizen"
"pacseek"
);
# Removed packages
# "xfce4-power-manager"
# "ttf-font-awesome"

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
_installSymLink alacritty ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/vim ]; then
_installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/nvim ]; then
_installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config
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
_installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/dunst ]; then
_installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config
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
_installSymLink picom ~/.config/picom ~/dotfiles/picom/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/qtile ]; then
_installSymLink .xinitrc ~/.xinitrc ~/dotfiles/qtile/.xinitrc ~/.xinitrc
fi
if [ -d ~/dotfiles-versions/$version/swaylock ]; then
_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!"
if [ -d ~/dotfiles-versions/$version/alacritty ]; then
_installSymLink alacritty ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/vim ]; then
_installSymLink vim ~/.config/vim ~/dotfiles/vim/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/nvim ]; then
_installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config
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
_installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/dunst ]; then
_installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/qtile ]; then
_installSymLink qtile ~/.config/qtile ~/dotfiles/qtile/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/picom ]; then
_installSymLink picom ~/.config/picom ~/dotfiles/picom/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/qtile ]; then
_installSymLink .xinitrc ~/.xinitrc ~/dotfiles/qtile/.xinitrc ~/.xinitrc
fi
if [ -d ~/dotfiles-versions/$version/swaylock ]; then
_installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config
fi
if [ -d ~/dotfiles-versions/$version/swappy ]; then
_installSymLink swappy ~/.config/swappy ~/dotfiles/swappy/ ~/.config
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

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 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."
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 gum confirm "Do you want to install the QEMU guest agent?" ;then
_installPackagesPacman "qemu-guest-agent";
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

View File

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

View File

@ -1 +1 @@
2.8
2.8.1RC1

View File

@ -1,3 +1,22 @@
Version 2.8.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8
--------------------------------------------------------
General:
- New default wallpaper in Hyprland style
- xarchiver and zip added for thunar
- Rofi border width can be adjusted in dotfiles/.settings/rofi-border.rasi
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
--------------------------------------------------------

View File

@ -1,4 +1,4 @@
# ML4W dotfiles 2.8
# ML4W dotfiles 2.8.1 RC1
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.

Binary file not shown.

View File

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

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,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,32 +38,33 @@ source .install/confirm-start.sh
source .install/yay.sh
source .install/backup.sh
source .install/preparation.sh
source .install/profile.sh
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
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
@ -73,6 +74,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";
@ -153,7 +154,7 @@ element {
cursor: pointer;
background-color: @background;
border-radius: 10px;
border: 2px;
border: @border-width;
layout: vertical;
}

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 {

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

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

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

View File

@ -12,7 +12,7 @@
}
{
"label" : "logout",
"action" : "sleep 1; hyprctl dispatch exit",
"action" : "hyprctl dispatch exit",
"text" : "Exit",
"keybind" : "e"
}