Compare commits

...

21 Commits
main ... dev

Author SHA1 Message Date
Stephan Raabe
b0ed32719e Updates 2024-02-28 13:58:33 +01:00
Stephan Raabe
087b58e230 nvidia.conf environment variation aded. 2024-02-28 11:13:53 +01:00
Stephan Raabe
02e1336fe0 Updates 2024-02-28 08:37:29 +01:00
Stephan Raabe
69c858fb65 Updates 2024-02-28 08:36:09 +01:00
Stephan Raabe
6ef4bdae25 Updates 2024-02-27 15:57:20 +01:00
Stephan Raabe
4c229fac9a Updates 2024-02-27 15:25:41 +01:00
Stephan Raabe
c6d5376f43 Updates 2024-02-27 15:22:31 +01:00
Stephan Raabe
98d89679b5 Updates 2024-02-27 15:01:00 +01:00
Stephan Raabe
9104834d7f Updates 2024-02-27 14:54:19 +01:00
Stephan Raabe
30913d6938 Updates 2024-02-27 14:22:38 +01:00
Stephan Raabe
6f99f143c6 Update wlogout blur 2024-02-27 13:34:59 +01:00
Stephan Raabe
fec8e9fb96 Autohide for waybar bluetooth module if no device detected 2024-02-27 13:15:56 +01:00
Stephan Raabe
d7aabb2599 Fixed filemanager keybinding 2024-02-27 11:24:52 +01:00
Stephan Raabe
e68481dece Add loadconfig.sh 2024-02-27 11:23:19 +01:00
Stephan Raabe
01c90fa16d Updates 2024-02-27 11:16:40 +01:00
Stephan Raabe
c6ee368c6f Update version 2024-02-27 10:45:16 +01:00
Stephan Raabe
950df3d84c Fixed blurred background for wlogout. Create blurred version with magick 2024-02-27 10:36:51 +01:00
Stephan Raabe
ede46d7ef4 Add qalculate-gtk back and window rule for floating 2024-02-27 08:41:58 +01:00
Stephan Raabe
37a55e74b6 Add keybinding for git credential helper store 2024-02-27 08:38:40 +01:00
Stephan Raabe
05720f7ee6 Update keybinding for hyprlock 2024-02-27 08:38:16 +01:00
Stephan Raabe
5db0a8965a Update 2024-02-26 08:29:47 +01:00
30 changed files with 205 additions and 144 deletions

View File

@ -58,6 +58,7 @@ alias gpl="git pull"
alias gst="git stash"
alias gsp="git stash; git pull"
alias gcheck="git checkout"
alias gcredential="git config credential.helper store"
# -----------------------------------------------------
# SCRIPTS

View File

@ -51,9 +51,13 @@ if [ -d ~/dotfiles/hypr/settings/modules/system/swaylock ] ;then
echo "~/dotfiles/hypr/settings/modules/system/swaylock removed."
fi
if [ -d ~/dotfiles/hypr/settings/modules/waybar/bluetooth ] ;then
rm -rf ~/dotfiles/hypr/settings/modules/waybar/bluetooth
echo "~/dotfiles/hypr/settings/modules/waybar/bluetooth removed."
fi
# Create default folder structure
xdg-user-dirs-update
echo "Default folders created..."
echo
echo "Cleanup done."

View File

@ -59,7 +59,7 @@ fi
if [ "$dmsel" == "Install sddm" ] ;then
disman=0
# Try to force the installation of sddm-git
# Try to force the installation of sddm
echo "Install sddm"
yay -S --noconfirm sddm sddm-sugar-candy-git --ask 4

View File

@ -49,6 +49,8 @@ packagesPacman=(
"libadwaita"
"python-pywal"
"xdg-desktop-portal"
"qalculate-gtk"
"imagemagick"
);
packagesYay=(

View File

@ -13,4 +13,6 @@ packagesYay=(
"wlogout"
"nwg-look"
"emote"
"hypridle"
"hyprlock"
);

39
.install/remove.sh Executable file
View File

@ -0,0 +1,39 @@
#!/bin/bash
# Remove Swayidle
if [[ $(_isInstalledPacman "swayidle") == 0 ]]; then
sudo pacman --noconfirm -Rns swayidle
echo ":: swayidle removed"
echo
fi
# Remove Swaylock
if [[ $(_isInstalledYay "swaylock-effects-git") == 0 ]]; then
yay --noconfirm -Rns swaylock-effects-git
echo ":: swaylock removed"
echo
fi
# Remove hypridle-bin
if [[ $(_isInstalledYay "hypridle-git") == 0 ]]; then
yay --noconfirm -Rns hypridle-git
if [ -f /usr/lib/debug/usr/bin/hypridle.debug ] ;then
sudo rm /usr/lib/debug/usr/bin/hypridle.debug
echo ":: /usr/lib/debug/usr/bin/hypridle.debug removed"
fi
echo ":: hypridle-git uninstalled."
echo ":: hypridle can now be installed."
echo
fi
# Remove hypridle-bin
if [[ $(_isInstalledYay "hyprlock-git") == 0 ]]; then
yay --noconfirm -Rns hyprlock-git
if [ -f /usr/lib/debug/usr/bin/hyprlock.debug ] ;then
sudo rm /usr/lib/debug/usr/bin/hyprlock.debug
echo ":: /usr/lib/debug/usr/bin/hyprlock.debug removed"
fi
echo ":: hyprlock-git uninstalled."
echo ":: hyprlock can now be installed."
echo
fi

View File

@ -221,25 +221,6 @@ echo -e "${NONE}"
echo "Waybar ChatGPT restored."
fi
# Restore Waybar Bluetooth
targetFile1="$HOME/dotfiles-versions/$version/waybar/themes/ml4w/config"
targetFile2="$HOME/dotfiles-versions/$version/waybar/themes/ml4w-blur/config"
targetFile3="$HOME/dotfiles-versions/$version/waybar/themes/ml4w-blur-bottom/config"
targetFile4="$HOME/dotfiles-versions/$version/waybar/themes/ml4w-bottom/config"
targetFile5="$HOME/dotfiles-versions/$version/waybar/themes/ml4w-minimal/config"
settingsFile="$HOME/dotfiles/.settings/waybar_bluetooth"
if [ -f $settingsFile ] ;then
startMarker="START BT TOOGLE"
endMarker="END BT TOOGLE"
customtext="$(cat $settingsFile)"
_replaceInFile "$startMarker" "$endMarker" "$customtext" "$targetFile1"
_replaceInFile "$startMarker" "$endMarker" "$customtext" "$targetFile2"
_replaceInFile "$startMarker" "$endMarker" "$customtext" "$targetFile3"
_replaceInFile "$startMarker" "$endMarker" "$customtext" "$targetFile4"
_replaceInFile "$startMarker" "$endMarker" "$customtext" "$targetFile5"
echo "Waybar Bluetooth restored."
fi
# Restore Waybar Systray
targetFile1="$HOME/dotfiles-versions/$version/waybar/themes/ml4w/config"
targetFile2="$HOME/dotfiles-versions/$version/waybar/themes/ml4w-blur/config"

View File

@ -1,32 +0,0 @@
#!/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

@ -1 +1 @@
2.8.1
2.8.2

View File

@ -1 +1 @@
281
282

View File

@ -1,3 +1,12 @@
Version 2.8.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.2
--------------------------------------------------------
General:
- Force installation of sddm to fix theme issue with sddm-sugar-candy theme. sddm-git doesn't work with themes at the moment
- snapshot.sh script check now for required timeshift and (optional) grub-btrfs packages
- Waybar Bluetooth module now hides automatically if no bluetooth device is detected. Please check that "bluetooth" is not commented out in ~/dotfiles/waybar/modules.json
- Replace hypridle-git with hypridle and hyprlock-git with hyprlock
Version 2.8.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.1
--------------------------------------------------------

View File

@ -1,4 +1,4 @@
# ML4W dotfiles 2.8.1
# ML4W dotfiles 2.8.2
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.
@ -131,6 +131,12 @@ Users have reported that Hyprland with dotfiles could be installed successfully
There is no official Hyprland support for Nvidia hardware. However, you might make it work properly following this page.
https://wiki.hyprland.org/Nvidia/
Please select the following variation in the settings script (system/environment):
https://gitlab.com/stephan-raabe/dotfiles/-/blob/main/hypr/conf/environments/nvidia.conf
Or set the included environment variables in hyprland.conf
## Launch Hyprland from tty
The suggested method to start Hyprland is from tty with the command Hyprland bacause login managers (display managers) are not official supported (https://wiki.hyprland.org/Getting-Started/Master-Tutorial/#launching-hyprland)
@ -307,6 +313,27 @@ Included is a pywal configuration that changes the color scheme based on a rando
# Troubleshooting
## hypridle and hyprlock is not starting after an update of the dotfiles
Please make sure that hypridle and hyprlock has been installed successfully with
```
yay -S hypridle hyprlock
```
If there is an file conflict the remove the files manually with:
```
sudo rm /usr/lib/debug/usr/bin/hypridle.debug
sudo rm /usr/lib/debug/usr/bin/hyprlock.debug
```
and start the installation again with
```
yay -S hypridle hyprlock
```
## Missing icons in waybar
In case of missing icons on waybar, it's due to a conflict between several installed fonts (can happen especially on Arco Linux). Please make sure that ttf-ms-fonts is uninstalled and ttf-font-awesome and otf-font-awesome are installed with

Binary file not shown.

View File

@ -0,0 +1,15 @@
# -----------------------------------------------------
# Environment Variables
# name: "Nvidia"
# -----------------------------------------------------
# https://wiki.hyprland.org/Nvidia/
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORM,wayland
env = WLR_NO_HARDWARE_CURSORS,1
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
# env = __GL_VRR_ALLOWED,1
# env = WLR_DRM_NO_ATOMIC,1

View File

@ -14,7 +14,7 @@ bind = $mainMod, period, exec, emote
# Windows
bind = $mainMod, Q, killactive
bind = $mainMod, F, fullscreen
bind = $mainMod, E, exec, ~/dotfiles/scripts/filemanager.sh
bind = $mainMod, E, exec, ~/dotfiles/.settings/filemanager.sh
bind = $mainMod, T, togglefloating
bind = $mainMod SHIFT, T, exec, ~/dotfiles/hypr/scripts/toggleallfloat.sh
bind = $mainMod, J, togglesplit
@ -28,6 +28,7 @@ bind = $mainMod SHIFT, right, resizeactive, 100 0
bind = $mainMod SHIFT, left, resizeactive, -100 0
bind = $mainMod SHIFT, up, resizeactive, 0 -100
bind = $mainMod SHIFT, down, resizeactive, 0 100
bind = $mainMod, G, togglegroup
# Actions
bind = $mainMod, PRINT, exec, ~/dotfiles/hypr/scripts/screenshot.sh
@ -81,7 +82,7 @@ bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
bind = , XF86Calculator, exec, qalculate-gtk
bind = , XF86Lock, exec, swaylock
bind = , XF86Lock, exec, hyprlock
bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/dotfiles/hypr/settings/settings.sh
# Passthrough SUPER KEY to Virtual Machine

View File

@ -8,3 +8,5 @@ windowrule = tile,^(Chromium)$
windowrule = float,^(pavucontrol)$
windowrule = float,^(blueman-manager)$
windowrule = float,^(nm-connection-editor)$
windowrule = float,^(qalculate-gtk)$
layerrule = blur, gtk-layer-shell

View File

@ -7,23 +7,24 @@
#
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)
ignore_dbus_inhibit = false
}
# Screenlock
listener {
timeout = 600 # in seconds
timeout = 600
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.
# on-resume = notify-send "Welcome back to your desktop!"
}
# Suspend
# Suspend/dpms
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.
timeout = 660
# Laptop Settings
# on-timeout = systemctl suspend
# Desktop Settings
on-timeout = hyprctl dispatch dpms off
on-resume = hyprctl dispatch dpms on
}

2
hypr/scripts/loadconfig.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/bash
hyprctl reload

View File

@ -1,11 +0,0 @@
#!/bin/bash
pgrep_output=$(pgrep swayidle)
pgrep_arr=($pgrep_output)
if [[ "${#pgrep_arr[@]}" == "1" ]] || [[ "${#pgrep_arr[@]}" == "0" ]]; then
echo "Swayidle is not running. Starting Swayidle."
./lockscreentime.sh
else
echo "Swayidle is running. Killing swayidle."
killall swayidle
fi

View File

@ -63,7 +63,7 @@ esac
# Load current pywal color scheme
# -----------------------------------------------------
source "$HOME/.cache/wal/colors.sh"
echo "Wallpaper: $wallpaper"
echo ":: Wallpaper: $wallpaper"
# -----------------------------------------------------
# Write selected wallpaper into .cache files
@ -98,7 +98,12 @@ swww img $wallpaper \
# -----------------------------------------------------
# Send notification
# -----------------------------------------------------
sleep 1
notify-send "Colors and Wallpaper updated" "with image $newwall"
if [ "$1" == "init" ] ;then
echo ":: Init"
else
sleep 1
notify-send "Colors and Wallpaper updated" "with image $newwall"
fi
echo "DONE!"

View File

@ -1,2 +0,0 @@
name="Show/Hide Bluetooth"
order=1

View File

@ -1,44 +0,0 @@
#!/bin/bash
_getHeader "$name" "$author"
echo "Hide or show the bluetooth module in ML4W waybar themes."
# Define File
targetFile1="$HOME/dotfiles/waybar/themes/ml4w/config"
targetFile2="$HOME/dotfiles/waybar/themes/ml4w-blur/config"
targetFile3="$HOME/dotfiles/waybar/themes/ml4w-blur-bottom/config"
targetFile4="$HOME/dotfiles/waybar/themes/ml4w-bottom/config"
targetFile5="$HOME/dotfiles/waybar/themes/ml4w-minimal/config"
settingsFile="$HOME/dotfiles/.settings/waybar_bluetooth"
# Define Markers
startMarker="START BT TOOGLE"
endMarker="END BT TOOGLE"
# Select Value
customvalue=$(gum choose "SHOW" "HIDE" "DEFAULT")
if [ ! -z $customvalue ]; then
if [ "$customvalue" == "SHOW" ] ;then
customtext=" \"bluetooth\","
elif [ "$customvalue" == "DEFAULT" ] ;then
customtext=" \"bluetooth\","
else
customtext=" \/\/\"bluetooth\","
fi
_replaceInFile $startMarker $endMarker $customtext $targetFile1
_replaceInFile $startMarker $endMarker $customtext $targetFile2
_replaceInFile $startMarker $endMarker $customtext $targetFile3
_replaceInFile $startMarker $endMarker $customtext $targetFile4
_replaceInFile $startMarker $endMarker $customtext $targetFile5
_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,2 +1,2 @@
name="Show/Hide Swaylock"
name="Show/Hide Lock"
order=1

View File

@ -1,7 +1,7 @@
#!/bin/bash
_getHeader "$name" "$author"
echo "Hide or show the swaylock (idle_inhibitor) module in ML4W waybar themes."
echo "Hide or show the idle_inhibitor module (lock icon) in ML4W waybar themes."
# Define File
targetFile1="$HOME/dotfiles/waybar/themes/ml4w/config"

View File

@ -39,6 +39,7 @@ source .install/yay.sh
source .install/backup.sh
source .install/preparation.sh
source .install/installer.sh
source .install/remove.sh
source .install/general.sh
source .install/packages/general-packages.sh
source .install/install-packages.sh
@ -49,7 +50,6 @@ if [[ $profile == *"Hyprland"* ]]; then
echo -e "${NONE}"
source .install/packages/hyprland-packages.sh
source .install/install-packages.sh
source .install/screenlock.sh
fi
if [[ $profile == *"Qtile"* ]]; then
echo -e "${GREEN}"

View File

@ -21,11 +21,22 @@ _isInstalledYay() {
return; #false
}
if [[ $(_isInstalledYay "timeshift") == "0" ]] ;then
timeshift_installed=$(_isInstalledYay "timeshift")
grubbtrfs_installed=$(_isInstalledYay "grub-btrfs")
if [[ $timeshift_installed == "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
fi
if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "0" ]] ;then
echo ":: grub-btrfs is already installed"
else
echo ":: grub-btrfs is required to select a snapshot on grub bootloader."
if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then
yay -S grub-btrfs
fi
fi
sleep 3

View File

@ -6,11 +6,56 @@
# |____/|_| |_|\__,_| .__/|___/_| |_|\___/ \__|
# |_|
#
# by Stephan Raabe (2023)
# by Stephan Raabe (2024)
# -----------------------------------------------------
c=$(gum input --placeholder "Enter a comment for the snapshot...")
sudo timeshift --create --comments "$c"
sudo timeshift --list
sudo grub-mkconfig -o /boot/grub/grub.cfg
echo "DONE. Snapshot $c created!"
sleep 1
clear
figlet "Snapshot"
_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
}
timeshift_installed=$(_isInstalledYay "timeshift")
grubbtrfs_installed=$(_isInstalledYay "grub-btrfs")
if [[ $timeshift_installed == "0" ]] ;then
c=$(gum input --placeholder "Enter a comment for the snapshot...")
sudo timeshift --create --comments "$c"
sudo timeshift --list
if [[ -d /boot/grub ]] ;then
if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then
if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then
yay -S grub-btrfs
else
exit
fi
fi
sudo grub-mkconfig -o /boot/grub/grub.cfg
fi
echo "DONE. Snapshot $c created!"
else
echo "ERROR: Timeshift is not installed."
if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then
yay -S timeshift
echo
echo ":: Timeshift has been installed. Please restart this script."
if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then
echo ":: grub-btrfs is required to select a snapshot on grub bootloader."
if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then
yay -S grub-btrfs
else
exit
fi
fi
fi
fi

View File

@ -91,7 +91,7 @@
"return-type": "json",
"exec": "~/dotfiles/scripts/updates.sh",
"restart-interval": 60,
"on-click": "alacritty -e ~/dotfiles/scripts/installupdates.sh",
"on-click": "alacritty --class dotfiles-floating -e ~/dotfiles/scripts/installupdates.sh",
"on-click-right": "~/dotfiles/.settings/software.sh",
"tooltip": false
},
@ -351,7 +351,8 @@
"format-disabled": "",
"format-off": "",
"interval": 30,
"on-click": "blueman-manager"
"on-click": "blueman-manager",
"format-no-controller": ""
},
// Other

View File

@ -306,7 +306,8 @@
"format-disabled": "",
"format-off": "",
"interval": 30,
"on-click": "blueman-manager"
"on-click": "blueman-manager",
"format-no-controller": ""
},
// Other

View File

@ -23,6 +23,7 @@ by Stephan Raabe (2023)
font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
background-image: none;
transition: 20ms;
box-shadow: none;
}
window {