From 2bbccb45953c51efed21e09f259868d0932fbf7f Mon Sep 17 00:00:00 2001 From: Michel Fedde Date: Mon, 21 Apr 2025 22:19:46 +0200 Subject: [PATCH] Adds bootstrap.v2 --- .config/hypr/config/Startup_Apps.conf | 1 + .config/hypr/config/WindowRules.conf | 2 + .config/waybar/ModulesCustom.json | 4 + .config/waybar/ModulesGroups.json | 3 +- .config/yadm/bootstrap.d/10-SDDM.sh | 1 - .config/yadm/{ => bootstrap.v1}/_set_class.sh | 0 .config/yadm/{ => bootstrap.v1}/apply_changes | 0 .config/yadm/{ => bootstrap.v1}/bootstrap | 2 +- .../bootstrap.d/00-Update.sh | 0 .../bootstrap.d/01-Dependencies.sh | 0 .../bootstrap.d/02-AMDGPUDrivers.sh##class.PC | 0 .../bootstrap.d/03-Bluetooth.sh | 0 .../bootstrap.d/10-SDDM.sh##default | 0 .../bootstrap.d/11-DesktopEnv.sh | 0 .../bootstrap.d/12-Decrypt.sh | 0 .../bootstrap.d/20-Fonts.sh | 0 .../bootstrap.d/20-GTKGruvbox.sh | 0 .../bootstrap.d/20-Keymap.sh | 0 .../{ => bootstrap.v1}/bootstrap.d/20-Wal.sh | 0 .../bootstrap.d/21-SASSThemes.sh | 0 .../bootstrap.d/30-GeneralPrograms.sh | 0 .../{ => bootstrap.v1}/bootstrap.d/30-Git.sh | 0 .../bootstrap.d/30-Hyprdrop.sh | 0 .../bootstrap.d/30-KDEConnect.sh | 0 .../bootstrap.d/30-Thunar.sh | 0 .../bootstrap.d/30-Vimiv.sh | 0 .../bootstrap.d/30-Yazi.sh.bak | 0 .../{ => bootstrap.v1}/bootstrap.d/30-Zsh.sh | 0 .../bootstrap.d/40-GitRepositories.sh | 0 .../bootstrap.v2/actions/30-KDEConnect.sh | 5 ++ .../bootstrap.v2/actions/30-MimeDefaults.sh | 3 + .../yadm/bootstrap.v2/actions/30-Yazi.sh.bak | 3 + .config/yadm/bootstrap.v2/actions/30-Zsh.sh | 5 ++ .../actions/40-GitRepositories.sh | 21 ++++++ .../yadm/bootstrap.v2/actions/99-Darkman.sh | 5 ++ .../applications/01-Dependencies.sh | 9 +++ .../02-AMDGPUDrivers.sh##class.PC | 5 ++ .../bootstrap.v2/applications/03-Bluetooth.sh | 6 ++ .../applications/10-SDDM.sh##default | 28 +++++++ .../applications/11-DesktopEnv.sh | 35 +++++++++ .../bootstrap.v2/applications/12-Decrypt.sh | 3 + .../bootstrap.v2/applications/20-Fonts.sh | 14 ++++ .../applications/20-GTKGruvbox.sh | 3 + .../bootstrap.v2/applications/20-Keymap.sh | 31 ++++++++ .../bootstrap.v2/applications/20-Theming.sh | 3 + .../applications/30-GeneralPrograms.sh | 6 ++ .../yadm/bootstrap.v2/applications/30-Git.sh | 18 +++++ .../30-GitUserConfig.sh.add##class.Work | 6 ++ .../30-GitUserConfig.sh.add##default | 6 ++ .../bootstrap.v2/applications/30-Hyprdrop.sh | 37 ++++++++++ .../applications/30-KDEConnect.sh | 3 + .../bootstrap.v2/applications/30-Thunar.sh | 14 ++++ .../bootstrap.v2/applications/30-Vimiv.sh | 3 + .../bootstrap.v2/applications/30-Yazi.sh.bak | 4 + .../yadm/bootstrap.v2/applications/30-Zsh.sh | 3 + .config/yadm/bootstrap.v2/bootstrap | 58 +++++++++++++++ .../yadm/bootstrap.v2/functions/filerunner.sh | 74 +++++++++++++++++++ .config/yadm/bootstrap.v2/functions/pkg.sh | 29 ++++++++ .../yadm/bootstrap.v2/functions/set_class.sh | 13 ++++ .gitignore | 4 + .ssh/config | 2 +- 61 files changed, 468 insertions(+), 4 deletions(-) delete mode 120000 .config/yadm/bootstrap.d/10-SDDM.sh rename .config/yadm/{ => bootstrap.v1}/_set_class.sh (100%) rename .config/yadm/{ => bootstrap.v1}/apply_changes (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap (98%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/00-Update.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/01-Dependencies.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/02-AMDGPUDrivers.sh##class.PC (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/03-Bluetooth.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/10-SDDM.sh##default (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/11-DesktopEnv.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/12-Decrypt.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/20-Fonts.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/20-GTKGruvbox.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/20-Keymap.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/20-Wal.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/21-SASSThemes.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/30-GeneralPrograms.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/30-Git.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/30-Hyprdrop.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/30-KDEConnect.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/30-Thunar.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/30-Vimiv.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/30-Yazi.sh.bak (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/30-Zsh.sh (100%) rename .config/yadm/{ => bootstrap.v1}/bootstrap.d/40-GitRepositories.sh (100%) create mode 100755 .config/yadm/bootstrap.v2/actions/30-KDEConnect.sh create mode 100755 .config/yadm/bootstrap.v2/actions/30-MimeDefaults.sh create mode 100755 .config/yadm/bootstrap.v2/actions/30-Yazi.sh.bak create mode 100755 .config/yadm/bootstrap.v2/actions/30-Zsh.sh create mode 100755 .config/yadm/bootstrap.v2/actions/40-GitRepositories.sh create mode 100644 .config/yadm/bootstrap.v2/actions/99-Darkman.sh create mode 100755 .config/yadm/bootstrap.v2/applications/01-Dependencies.sh create mode 100755 .config/yadm/bootstrap.v2/applications/02-AMDGPUDrivers.sh##class.PC create mode 100755 .config/yadm/bootstrap.v2/applications/03-Bluetooth.sh create mode 100755 .config/yadm/bootstrap.v2/applications/10-SDDM.sh##default create mode 100755 .config/yadm/bootstrap.v2/applications/11-DesktopEnv.sh create mode 100755 .config/yadm/bootstrap.v2/applications/12-Decrypt.sh create mode 100755 .config/yadm/bootstrap.v2/applications/20-Fonts.sh create mode 100755 .config/yadm/bootstrap.v2/applications/20-GTKGruvbox.sh create mode 100755 .config/yadm/bootstrap.v2/applications/20-Keymap.sh create mode 100755 .config/yadm/bootstrap.v2/applications/20-Theming.sh create mode 100755 .config/yadm/bootstrap.v2/applications/30-GeneralPrograms.sh create mode 100755 .config/yadm/bootstrap.v2/applications/30-Git.sh create mode 100755 .config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##class.Work create mode 100755 .config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##default create mode 100755 .config/yadm/bootstrap.v2/applications/30-Hyprdrop.sh create mode 100755 .config/yadm/bootstrap.v2/applications/30-KDEConnect.sh create mode 100755 .config/yadm/bootstrap.v2/applications/30-Thunar.sh create mode 100644 .config/yadm/bootstrap.v2/applications/30-Vimiv.sh create mode 100755 .config/yadm/bootstrap.v2/applications/30-Yazi.sh.bak create mode 100755 .config/yadm/bootstrap.v2/applications/30-Zsh.sh create mode 100755 .config/yadm/bootstrap.v2/bootstrap create mode 100644 .config/yadm/bootstrap.v2/functions/filerunner.sh create mode 100644 .config/yadm/bootstrap.v2/functions/pkg.sh create mode 100755 .config/yadm/bootstrap.v2/functions/set_class.sh diff --git a/.config/hypr/config/Startup_Apps.conf b/.config/hypr/config/Startup_Apps.conf index 5c277f2..b54d3e1 100644 --- a/.config/hypr/config/Startup_Apps.conf +++ b/.config/hypr/config/Startup_Apps.conf @@ -24,6 +24,7 @@ exec-once = kdeconnect-indicator & exec-once = beeper --hidden --default-frame & exec-once = solaar --window="hide" & exec-once = protonmail-bridge-core -n & +exec-once = planify -b & # exec-once = sleep 5 && nwg-dock-hyprland -a start -f -nolauncher -x -i 30 -o "DP-4" & exec-once = wal -R diff --git a/.config/hypr/config/WindowRules.conf b/.config/hypr/config/WindowRules.conf index 67537de..28173a0 100644 --- a/.config/hypr/config/WindowRules.conf +++ b/.config/hypr/config/WindowRules.conf @@ -22,6 +22,7 @@ windowrulev2 = move 72% 7%,title:^(Picture-in-Picture)$ windowrulev2 = move cursor -50% -50%, class:blobdrop windowrulev2 = move cursor -50% -25%, class:Bitwarden windowrulev2 = move 0.5% 55px,title:term_hyprdrop +windowrule = move cursor -110% 0%, class:io.github.alainm23.planify # windowrule v2 to avoid idle for fullscreen apps windowrulev2 = idleinhibit fullscreen, class:^(*)$ @@ -89,6 +90,7 @@ windowrulev2 = float, class:Bitwarden windowrulev2 = float, class:org.kde.kdeconnect.daemon windowrulev2 = float, class:org.kde.kdeconnect-settings windowrulev2 = float, class:org.kde.kdeconnect.app +windowrule = float, class:io.github.alainm23.planify # windowrule v2 - size windowrulev2 = size 70% 70%, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ diff --git a/.config/waybar/ModulesCustom.json b/.config/waybar/ModulesCustom.json index 22c2c7d..6cbaa1e 100644 --- a/.config/waybar/ModulesCustom.json +++ b/.config/waybar/ModulesCustom.json @@ -227,5 +227,9 @@ }, "exec-if": "which waybar-updates", "exec": "waybar-updates" + }, + "custom/planify": { + "format": " ", + "on-click": "gtk-launch io.github.alainm23.planify.desktop" } } diff --git a/.config/waybar/ModulesGroups.json b/.config/waybar/ModulesGroups.json index 8b036d7..15c764d 100644 --- a/.config/waybar/ModulesGroups.json +++ b/.config/waybar/ModulesGroups.json @@ -17,7 +17,8 @@ "custom/file_manager", "custom/tty", "custom/colorpicker", - "custom/hypr-class" + "custom/hypr-class", + "custom/planify" ] }, "group/motherboard": { diff --git a/.config/yadm/bootstrap.d/10-SDDM.sh b/.config/yadm/bootstrap.d/10-SDDM.sh deleted file mode 120000 index 66eb03c..0000000 --- a/.config/yadm/bootstrap.d/10-SDDM.sh +++ /dev/null @@ -1 +0,0 @@ -10-SDDM.sh##default \ No newline at end of file diff --git a/.config/yadm/_set_class.sh b/.config/yadm/bootstrap.v1/_set_class.sh similarity index 100% rename from .config/yadm/_set_class.sh rename to .config/yadm/bootstrap.v1/_set_class.sh diff --git a/.config/yadm/apply_changes b/.config/yadm/bootstrap.v1/apply_changes similarity index 100% rename from .config/yadm/apply_changes rename to .config/yadm/bootstrap.v1/apply_changes diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap.v1/bootstrap similarity index 98% rename from .config/yadm/bootstrap rename to .config/yadm/bootstrap.v1/bootstrap index 3fd422b..3999d7d 100755 --- a/.config/yadm/bootstrap +++ b/.config/yadm/bootstrap.v1/bootstrap @@ -83,7 +83,7 @@ SCRIPTPATH="$( pwd -P )" # Directory to look for bootstrap executables in -BOOTSTRAP_D="${BASH_SOURCE[0]}.d" +BOOTSTRAP_D="$SCRIPTPATH/bootstrap.d" $SCRIPTPATH/_set_class.sh diff --git a/.config/yadm/bootstrap.d/00-Update.sh b/.config/yadm/bootstrap.v1/bootstrap.d/00-Update.sh similarity index 100% rename from .config/yadm/bootstrap.d/00-Update.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/00-Update.sh diff --git a/.config/yadm/bootstrap.d/01-Dependencies.sh b/.config/yadm/bootstrap.v1/bootstrap.d/01-Dependencies.sh similarity index 100% rename from .config/yadm/bootstrap.d/01-Dependencies.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/01-Dependencies.sh diff --git a/.config/yadm/bootstrap.d/02-AMDGPUDrivers.sh##class.PC b/.config/yadm/bootstrap.v1/bootstrap.d/02-AMDGPUDrivers.sh##class.PC similarity index 100% rename from .config/yadm/bootstrap.d/02-AMDGPUDrivers.sh##class.PC rename to .config/yadm/bootstrap.v1/bootstrap.d/02-AMDGPUDrivers.sh##class.PC diff --git a/.config/yadm/bootstrap.d/03-Bluetooth.sh b/.config/yadm/bootstrap.v1/bootstrap.d/03-Bluetooth.sh similarity index 100% rename from .config/yadm/bootstrap.d/03-Bluetooth.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/03-Bluetooth.sh diff --git a/.config/yadm/bootstrap.d/10-SDDM.sh##default b/.config/yadm/bootstrap.v1/bootstrap.d/10-SDDM.sh##default similarity index 100% rename from .config/yadm/bootstrap.d/10-SDDM.sh##default rename to .config/yadm/bootstrap.v1/bootstrap.d/10-SDDM.sh##default diff --git a/.config/yadm/bootstrap.d/11-DesktopEnv.sh b/.config/yadm/bootstrap.v1/bootstrap.d/11-DesktopEnv.sh similarity index 100% rename from .config/yadm/bootstrap.d/11-DesktopEnv.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/11-DesktopEnv.sh diff --git a/.config/yadm/bootstrap.d/12-Decrypt.sh b/.config/yadm/bootstrap.v1/bootstrap.d/12-Decrypt.sh similarity index 100% rename from .config/yadm/bootstrap.d/12-Decrypt.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/12-Decrypt.sh diff --git a/.config/yadm/bootstrap.d/20-Fonts.sh b/.config/yadm/bootstrap.v1/bootstrap.d/20-Fonts.sh similarity index 100% rename from .config/yadm/bootstrap.d/20-Fonts.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/20-Fonts.sh diff --git a/.config/yadm/bootstrap.d/20-GTKGruvbox.sh b/.config/yadm/bootstrap.v1/bootstrap.d/20-GTKGruvbox.sh similarity index 100% rename from .config/yadm/bootstrap.d/20-GTKGruvbox.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/20-GTKGruvbox.sh diff --git a/.config/yadm/bootstrap.d/20-Keymap.sh b/.config/yadm/bootstrap.v1/bootstrap.d/20-Keymap.sh similarity index 100% rename from .config/yadm/bootstrap.d/20-Keymap.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/20-Keymap.sh diff --git a/.config/yadm/bootstrap.d/20-Wal.sh b/.config/yadm/bootstrap.v1/bootstrap.d/20-Wal.sh similarity index 100% rename from .config/yadm/bootstrap.d/20-Wal.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/20-Wal.sh diff --git a/.config/yadm/bootstrap.d/21-SASSThemes.sh b/.config/yadm/bootstrap.v1/bootstrap.d/21-SASSThemes.sh similarity index 100% rename from .config/yadm/bootstrap.d/21-SASSThemes.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/21-SASSThemes.sh diff --git a/.config/yadm/bootstrap.d/30-GeneralPrograms.sh b/.config/yadm/bootstrap.v1/bootstrap.d/30-GeneralPrograms.sh similarity index 100% rename from .config/yadm/bootstrap.d/30-GeneralPrograms.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/30-GeneralPrograms.sh diff --git a/.config/yadm/bootstrap.d/30-Git.sh b/.config/yadm/bootstrap.v1/bootstrap.d/30-Git.sh similarity index 100% rename from .config/yadm/bootstrap.d/30-Git.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/30-Git.sh diff --git a/.config/yadm/bootstrap.d/30-Hyprdrop.sh b/.config/yadm/bootstrap.v1/bootstrap.d/30-Hyprdrop.sh similarity index 100% rename from .config/yadm/bootstrap.d/30-Hyprdrop.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/30-Hyprdrop.sh diff --git a/.config/yadm/bootstrap.d/30-KDEConnect.sh b/.config/yadm/bootstrap.v1/bootstrap.d/30-KDEConnect.sh similarity index 100% rename from .config/yadm/bootstrap.d/30-KDEConnect.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/30-KDEConnect.sh diff --git a/.config/yadm/bootstrap.d/30-Thunar.sh b/.config/yadm/bootstrap.v1/bootstrap.d/30-Thunar.sh similarity index 100% rename from .config/yadm/bootstrap.d/30-Thunar.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/30-Thunar.sh diff --git a/.config/yadm/bootstrap.d/30-Vimiv.sh b/.config/yadm/bootstrap.v1/bootstrap.d/30-Vimiv.sh similarity index 100% rename from .config/yadm/bootstrap.d/30-Vimiv.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/30-Vimiv.sh diff --git a/.config/yadm/bootstrap.d/30-Yazi.sh.bak b/.config/yadm/bootstrap.v1/bootstrap.d/30-Yazi.sh.bak similarity index 100% rename from .config/yadm/bootstrap.d/30-Yazi.sh.bak rename to .config/yadm/bootstrap.v1/bootstrap.d/30-Yazi.sh.bak diff --git a/.config/yadm/bootstrap.d/30-Zsh.sh b/.config/yadm/bootstrap.v1/bootstrap.d/30-Zsh.sh similarity index 100% rename from .config/yadm/bootstrap.d/30-Zsh.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/30-Zsh.sh diff --git a/.config/yadm/bootstrap.d/40-GitRepositories.sh b/.config/yadm/bootstrap.v1/bootstrap.d/40-GitRepositories.sh similarity index 100% rename from .config/yadm/bootstrap.d/40-GitRepositories.sh rename to .config/yadm/bootstrap.v1/bootstrap.d/40-GitRepositories.sh diff --git a/.config/yadm/bootstrap.v2/actions/30-KDEConnect.sh b/.config/yadm/bootstrap.v2/actions/30-KDEConnect.sh new file mode 100755 index 0000000..3ba8099 --- /dev/null +++ b/.config/yadm/bootstrap.v2/actions/30-KDEConnect.sh @@ -0,0 +1,5 @@ +#!/bin/env sh + +sudo firewall-cmd --permanent --add-port=1714-1764/{tcp,udp} + +echo "-- For some reason, its recommended to reboot your device to make kdeconnect work..." diff --git a/.config/yadm/bootstrap.v2/actions/30-MimeDefaults.sh b/.config/yadm/bootstrap.v2/actions/30-MimeDefaults.sh new file mode 100755 index 0000000..029f7e1 --- /dev/null +++ b/.config/yadm/bootstrap.v2/actions/30-MimeDefaults.sh @@ -0,0 +1,3 @@ +#!/bin/env sh + +xdg-mime default vimiv.desktop image/{png,jpeg} diff --git a/.config/yadm/bootstrap.v2/actions/30-Yazi.sh.bak b/.config/yadm/bootstrap.v2/actions/30-Yazi.sh.bak new file mode 100755 index 0000000..43b3bab --- /dev/null +++ b/.config/yadm/bootstrap.v2/actions/30-Yazi.sh.bak @@ -0,0 +1,3 @@ +#!/bin/env sh + +ya pack --install diff --git a/.config/yadm/bootstrap.v2/actions/30-Zsh.sh b/.config/yadm/bootstrap.v2/actions/30-Zsh.sh new file mode 100755 index 0000000..70997f0 --- /dev/null +++ b/.config/yadm/bootstrap.v2/actions/30-Zsh.sh @@ -0,0 +1,5 @@ +#!/bin/env sh + +chsh -s $(which zsh) + +sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --keep-zshrc --unattended || exit 0 diff --git a/.config/yadm/bootstrap.v2/actions/40-GitRepositories.sh b/.config/yadm/bootstrap.v2/actions/40-GitRepositories.sh new file mode 100755 index 0000000..95a1eb4 --- /dev/null +++ b/.config/yadm/bootstrap.v2/actions/40-GitRepositories.sh @@ -0,0 +1,21 @@ +#!/bin/env sh + +declare -A repositories + +repositories['DSA']="ssh://git.php.fail/neintonine/dsa.git" +repositories['Notes']="ssh://git.php.fail/neintonine/notes.git" +repositories['gameconcepts']="ssh://git.php.fail/neintonine/game-concepts.git" + +for path in "${!repositories[@]}"; do + url=${repositories[$path]} + + realPath="${HOME}/$path" + if [ -d "$realPath" ]; then + echo "-- $realPath already exist... skipping clone" + continue + fi + + echo "-- Cloning to $realPath"; + git clone "$url" "$realPath" +done + diff --git a/.config/yadm/bootstrap.v2/actions/99-Darkman.sh b/.config/yadm/bootstrap.v2/actions/99-Darkman.sh new file mode 100644 index 0000000..87eeaba --- /dev/null +++ b/.config/yadm/bootstrap.v2/actions/99-Darkman.sh @@ -0,0 +1,5 @@ +#!/bin/env sh + +echo "# Refreshing darkman (bruteforce method)" +darkman toggle +darkman toggle diff --git a/.config/yadm/bootstrap.v2/applications/01-Dependencies.sh b/.config/yadm/bootstrap.v2/applications/01-Dependencies.sh new file mode 100755 index 0000000..0455b4e --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/01-Dependencies.sh @@ -0,0 +1,9 @@ +#!/bin/env bash + +addApplications neovim \ + network-manager-applet \ + ghostty \ + btop \ + zoxide fzf \ + wifi-qr neovim \ + brightnessctl diff --git a/.config/yadm/bootstrap.v2/applications/02-AMDGPUDrivers.sh##class.PC b/.config/yadm/bootstrap.v2/applications/02-AMDGPUDrivers.sh##class.PC new file mode 100755 index 0000000..c8391e2 --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/02-AMDGPUDrivers.sh##class.PC @@ -0,0 +1,5 @@ +#!/bin/env sh + +addApplications mesa lib32-mesa \ + xf86-video-amdgpu \ + vulkan-radeon lib32-vulkan-radeon diff --git a/.config/yadm/bootstrap.v2/applications/03-Bluetooth.sh b/.config/yadm/bootstrap.v2/applications/03-Bluetooth.sh new file mode 100755 index 0000000..197b65f --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/03-Bluetooth.sh @@ -0,0 +1,6 @@ +#!/bin/env sh + +addApplications bluez \ + bluez-utils + +sudo systemctl enable --now bluetooth.service diff --git a/.config/yadm/bootstrap.v2/applications/10-SDDM.sh##default b/.config/yadm/bootstrap.v2/applications/10-SDDM.sh##default new file mode 100755 index 0000000..32bd90b --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/10-SDDM.sh##default @@ -0,0 +1,28 @@ +#!/bin/env sh + +SDDM_THEME_PATH="/etc/sddm.conf.d/theme.conf" + +addApplications sddm catppuccin-sddm-theme-mocha + +sddm() { + sudo mkdir -p /etc/sddm.conf.d + sudo ln ~/.config/sddm/theme.conf /etc/sddm.conf.d/theme.conf + + sudo systemctl enable sddm +} + +check() { + if ! command -v sddm >/dev/null; then + return 0 + fi + + if [ ! -f "$SDDM_THEME_PATH" ]; then + return 0 + fi + + return 1 +} + +if check; then + addAction sddm +fi diff --git a/.config/yadm/bootstrap.v2/applications/11-DesktopEnv.sh b/.config/yadm/bootstrap.v2/applications/11-DesktopEnv.sh new file mode 100755 index 0000000..7fd2dca --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/11-DesktopEnv.sh @@ -0,0 +1,35 @@ +#!/bin/env bash + +if [ -z ${XDG_SESSION_DESKTOP+x} ]; then + read -p "-- Which desktop environment do you want to install? " -r XDG_SESSION_DESKTOP +fi + +echo "-- Adding dependencies for $XDG_SESSION_DESKTOP" + +if [ $XDG_SESSION_DESKTOP = "i3" ]; then + addApplications polybar \ + betterlockscreen \ + dunst \ + pulseaudio-control \ + nitrogen +fi + +if [ $XDG_SESSION_DESKTOP = "Hyprland" ]; then + addApplications hyprland \ + waybar waybar-updates \ + hyprlock \ + swww \ + hyprswitch \ + nwg-dock-hyprland \ + nwg-drawer \ + swaync \ + wayland-logout \ + hyprpicker \ + pulseaudio-control \ + wl-clipboard \ + grim \ + slurp \ + hyprsunset \ + darkman \ + anyrun-git +fi diff --git a/.config/yadm/bootstrap.v2/applications/12-Decrypt.sh b/.config/yadm/bootstrap.v2/applications/12-Decrypt.sh new file mode 100755 index 0000000..963ec54 --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/12-Decrypt.sh @@ -0,0 +1,3 @@ +#!/bin/env sh + +addActions "yadm decrypt" diff --git a/.config/yadm/bootstrap.v2/applications/20-Fonts.sh b/.config/yadm/bootstrap.v2/applications/20-Fonts.sh new file mode 100755 index 0000000..1a158ff --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/20-Fonts.sh @@ -0,0 +1,14 @@ +#!/bin/env bash + +addApplications getnf + +REQUESTED_FONT="JetBrainsMono" + +fonts() { + getnf -i "JetBrainsMono" + fc-cache +} + +if ! getnf -l | grep "$REQUESTED_FONT" >/dev/null; then + addActions fonts +fi diff --git a/.config/yadm/bootstrap.v2/applications/20-GTKGruvbox.sh b/.config/yadm/bootstrap.v2/applications/20-GTKGruvbox.sh new file mode 100755 index 0000000..577bcf1 --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/20-GTKGruvbox.sh @@ -0,0 +1,3 @@ +#!/bin/env sh + +addApplications gruvbox-material-icon-theme-git gruvbox-gtk-theme-git diff --git a/.config/yadm/bootstrap.v2/applications/20-Keymap.sh b/.config/yadm/bootstrap.v2/applications/20-Keymap.sh new file mode 100755 index 0000000..c9cff7b --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/20-Keymap.sh @@ -0,0 +1,31 @@ +#!/bin/env bash + +addApplications evremap + +keymap() { + + sudo gpasswd -a $USER input + echo 'KERNEL=="uinput", GROUP="input"' | sudo tee /etc/udev/rules.d/input.rules + + mkdir -p $HOME/.log +} + +check() { + if ! id | grep input >>/dev/null; then + return 0 + fi + + if [ ! -f "/etc/udev/rules.d/input.rules" ]; then + return 0 + fi + + if [ ! -d "$HOME/.log" ]; then + return 0 + fi + + return 1 +} + +if check; then + addActions keymap +fi diff --git a/.config/yadm/bootstrap.v2/applications/20-Theming.sh b/.config/yadm/bootstrap.v2/applications/20-Theming.sh new file mode 100755 index 0000000..759d038 --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/20-Theming.sh @@ -0,0 +1,3 @@ +#!/bin/env sh + +addApplications python-pywal sass diff --git a/.config/yadm/bootstrap.v2/applications/30-GeneralPrograms.sh b/.config/yadm/bootstrap.v2/applications/30-GeneralPrograms.sh new file mode 100755 index 0000000..eb3ed5e --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-GeneralPrograms.sh @@ -0,0 +1,6 @@ +#!/bin/env sh + +addApplications zen-browser-bin \ + zathura zathura-pdf-mupdf \ + onlyoffice-bin \ + bitwarden diff --git a/.config/yadm/bootstrap.v2/applications/30-Git.sh b/.config/yadm/bootstrap.v2/applications/30-Git.sh new file mode 100755 index 0000000..206787f --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-Git.sh @@ -0,0 +1,18 @@ +#!/bin/env sh + +addApplications git gnome-keyring \ + git-credential-oauth + +configure-git-oauth() { + git credential-oauth configure +} + +#source ./30-GitUserConfig.sh.add + +if ! git config list | grep "credential.helper=oauth" >/dev/null; then + addActions configure-git-oauth +fi + +if ! git config list | grep "user.name" > /dev/null; then + addActions git-user-config +fi diff --git a/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##class.Work b/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##class.Work new file mode 100755 index 0000000..b9d6d3b --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##class.Work @@ -0,0 +1,6 @@ +#!/bin/env sh + +git-user-config() { + git config --global user.email "fedde@eventit.ag" + git config --global user.name "Michel Fedde" +} diff --git a/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##default b/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##default new file mode 100755 index 0000000..9e7107d --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##default @@ -0,0 +1,6 @@ +#!/bin/env sh + +git-user-config() { + git config --global user.email "git@iedsoftworks.com" + git config --global user.name "Michel Fedde" +} diff --git a/.config/yadm/bootstrap.v2/applications/30-Hyprdrop.sh b/.config/yadm/bootstrap.v2/applications/30-Hyprdrop.sh new file mode 100755 index 0000000..9f2dd6e --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-Hyprdrop.sh @@ -0,0 +1,37 @@ +#!/bin/env sh + +HYPRDROP_GIT_PATH="$HOME/.cache/hyprdrop" + +install_hyprdrop() { + PREV_DIRECTORY=$PWD + + if [ ! -d "$HYPRDROP_GIT_PATH" ]; then + git clone https://github.com/kjlo/hyprdrop "$HYPRDROP_GIT_PATH" + fi + + cd ~/.cache/hyprdrop + cargo install --path . + + cd $PREV_DIRECTORY +} + +check_hyprdrop() { + if [ ! -d "$HOME/.cache/hyprdrop" ]; then + return 0 + fi + + PREV_DIRECTORY=$PWD + + cd $HYPRDROP_GIT_PATH + + if ! git remote update && git status | grep behind >>/dev/null; then + cd $PREV_DIRECTORY + return 0 + fi + + return 1 +} + +if check_hyprdrop; then + addActions install_hyprdrop +fi diff --git a/.config/yadm/bootstrap.v2/applications/30-KDEConnect.sh b/.config/yadm/bootstrap.v2/applications/30-KDEConnect.sh new file mode 100755 index 0000000..714e902 --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-KDEConnect.sh @@ -0,0 +1,3 @@ +#!/bin/env sh + +addApplications kdeconnect diff --git a/.config/yadm/bootstrap.v2/applications/30-Thunar.sh b/.config/yadm/bootstrap.v2/applications/30-Thunar.sh new file mode 100755 index 0000000..c60f93a --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-Thunar.sh @@ -0,0 +1,14 @@ +#!/bin/env sh + +echo "# Installing thunar" + +addApplications thunar \ + gvfs \ + thunar-archive-plugin \ + thunar-media-tags-plugin \ + thunar-shares-plugin \ + thunar-volman \ + tumbler \ + libgsf \ + raw-thumbnailer \ + tumbler-extra-thumbnailers diff --git a/.config/yadm/bootstrap.v2/applications/30-Vimiv.sh b/.config/yadm/bootstrap.v2/applications/30-Vimiv.sh new file mode 100644 index 0000000..3091f8d --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-Vimiv.sh @@ -0,0 +1,3 @@ +#!/bin/env sh + +addApplications vimiv diff --git a/.config/yadm/bootstrap.v2/applications/30-Yazi.sh.bak b/.config/yadm/bootstrap.v2/applications/30-Yazi.sh.bak new file mode 100755 index 0000000..99cd23c --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-Yazi.sh.bak @@ -0,0 +1,4 @@ +#!/bin/env sh + +addApplications yazi p7zip jq poppler fd ripgrep fzf zoxide imagemagick fuse-archive zip \ + blobdrop-git diff --git a/.config/yadm/bootstrap.v2/applications/30-Zsh.sh b/.config/yadm/bootstrap.v2/applications/30-Zsh.sh new file mode 100755 index 0000000..9d757ba --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/30-Zsh.sh @@ -0,0 +1,3 @@ +#!/bin/env sh + +addApplications zsh oh-my-zsh diff --git a/.config/yadm/bootstrap.v2/bootstrap b/.config/yadm/bootstrap.v2/bootstrap new file mode 100755 index 0000000..64a1f99 --- /dev/null +++ b/.config/yadm/bootstrap.v2/bootstrap @@ -0,0 +1,58 @@ +#!/bin/env sh + +set -eu + +SCRIPTPATH="$( + cd -- "$(dirname "$0")" >/dev/null 2>&1 + pwd -P +)" +APPLICATIONS_PATH="$SCRIPTPATH/applications" +ACTIONS_PATH="$SCRIPTPATH/actions" + +#$SCRIPTPATH/functions/set_class.sh +source $SCRIPTPATH/functions/pkg.sh +source $SCRIPTPATH/functions/filerunner.sh + +if [[ ! -d "$APPLICATIONS_PATH" ]]; then + echo "Error: applications directory '$APPLICATIONS_PATH' not found" >&2 + exit 1 +fi + +echo -n "# Updating system" +updateSystem + +echo "# Gathering applications" + +declare -x -a applications +declare -x -a actions +actions=() + +addApplications () +{ + for application in "$@"; do + echo "adding application: $application" + + applications+=("$application") + done +} + +addActions() +{ + for action in "$@"; do + echo "adding action: $action" + + actions+=("$action") + done +} + +while IFS= read -r file; do + if [[ -x "$file" && ! "$file" =~ "##" && ! "$file" =~ ~$ && ! "$file" =~ ".bak" ]]; then + source $file + fi +done < <(find -L "$APPLICATIONS_PATH" -type f | sort) + +echo -n "# Installing/Updating applications (${#applications[@]})" +installPackages ${applications[*]} + +echo "# Executing actions... (${#actions[@]})" + diff --git a/.config/yadm/bootstrap.v2/functions/filerunner.sh b/.config/yadm/bootstrap.v2/functions/filerunner.sh new file mode 100644 index 0000000..238ae27 --- /dev/null +++ b/.config/yadm/bootstrap.v2/functions/filerunner.sh @@ -0,0 +1,74 @@ +#!/bin/env sh + +_repeat() { + local start=1 + local end=${1:-80} + local str="${2:-=}" + local range=$(seq $start $end) + for i in $range; do echo -n "${str}"; done +} + +_header() { + local length="$1" + echo -n "/=" + _repeat ${length} "=" + echo "=\\" +} +_value() { + local value="$1" + echo -n "| " + echo -n ${value} + echo " |" +} +_footer() { + local length="$1" + echo -n "\\=" + _repeat ${length} "=" + echo "=/" +} + +display() { + local value="$1" + _header ${#value} + _value "${value}" + _footer ${#value} +} + +runfile() { + local command="$1" + local commandName=$(basename $command) + local prompt="Do you wish to run $commandName? [Ynq]" + local display="Executing $commandName" + + local promptLength=$((${#prompt})) + local displayLength=${#display} + + local maxWidth=$((promptLength > displayLength ? promptLength : displayLength)) + + _header ${maxWidth} + + read -p "| $prompt |" -n 1 -r -s + echo + + if [[ $REPLY =~ ^[Nn]$ ]]; then + _footer ${maxWidth} + return + fi + + if [[ $REPLY =~ ^[Qq]$ ]]; then + _footer ${maxWidth} + display "Exiting..." + exit 0 + fi + + echo -n "| $display" + _repeat $((maxWidth - displayLength)) " " + echo " |" + + _footer ${maxWidth} + + if ! "$command"; then + echo "Error: bootstrap '$command' failed" >&2 + exit 1 + fi +} diff --git a/.config/yadm/bootstrap.v2/functions/pkg.sh b/.config/yadm/bootstrap.v2/functions/pkg.sh new file mode 100644 index 0000000..fdfc20a --- /dev/null +++ b/.config/yadm/bootstrap.v2/functions/pkg.sh @@ -0,0 +1,29 @@ +#!/bin/env sh + +installPackages() { + packages=$@ + + if command -v yay >/dev/null; then + echo " using yay" + yay -S --needed $packages + elif command -v apt >/dev/null; then + echo " using apt" + apt install $packages + else + echo "... no supported package manager found. exiting" + exit 1 + fi +} + +updateSystem() { + if command -v yay >/dev/null; then + echo " using yay" + yay + elif command -v apt >/dev/null; then + echo " using apt" + apt update + else + echo "... no supported package manager found. exiting" + exit 1 + fi +} diff --git a/.config/yadm/bootstrap.v2/functions/set_class.sh b/.config/yadm/bootstrap.v2/functions/set_class.sh new file mode 100755 index 0000000..65f55c7 --- /dev/null +++ b/.config/yadm/bootstrap.v2/functions/set_class.sh @@ -0,0 +1,13 @@ +#!/bin/env sh + +class=$(yadm config local.class) +if [[ ! -z $class ]]; then + yadm alt + exit 0 +fi + +read -p "-- Which class does this device belong to: " -r class + +echo "-- Setting class and reloading alternative files" +yadm config local.class $class +yadm alt diff --git a/.gitignore b/.gitignore index 21df7a2..891b803 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,7 @@ .config/evremap/keychron.toml .config/evremap/ATKeyboard.toml .config/evremap/SurfaceKeyboard.toml +.config/yadm/bootstrap.v1/bootstrap.d/02-AMDGPUDrivers.sh +.config/yadm/bootstrap.v1/bootstrap.d/10-SDDM.sh +.config/yadm/bootstrap.v2/applications/02-AMDGPUDrivers.sh +.config/yadm/bootstrap.v2/applications/10-SDDM.sh diff --git a/.ssh/config b/.ssh/config index a858536..92a04c9 100644 --- a/.ssh/config +++ b/.ssh/config @@ -9,7 +9,7 @@ Host rpi5 IdentityFile ~/.ssh/webserver.key Host home - HostName home + HostName 192.168.178.36 User michel IdentityFile ~/.ssh/home.key