From d3646ecace018c025c3ca568c70e8ae3225d4ef6 Mon Sep 17 00:00:00 2001 From: Mans Ziesel Date: Wed, 8 May 2024 17:13:04 +0200 Subject: [PATCH] use gnu stow to manage dotfiles --- .gitmodules | 3 ++ __setup/.gitkeep | 0 bin/{ => bin}/screenshot.sh | 0 {.config => fish/dot-config}/fish/config.fish | 0 .../dot-config}/fish/fish_variables | 0 .../fish/functions/fish_prompt.fish | 0 git/.gitconfig | 9 ++++ {.config => i3/dot-config}/i3/config | 0 {.config => i3/dot-config}/i3/i3blocks.conf | 0 {.config => i3/dot-config}/i3/keybindings | 0 .../dot-config}/i3/scripts/bandwidth2 | 0 .../i3/scripts/battery-pinebook-pro | 0 .../dot-config}/i3/scripts/battery1 | 0 .../dot-config}/i3/scripts/battery2 | 0 .../dot-config}/i3/scripts/blur-lock | 0 .../dot-config}/i3/scripts/cpu_usage | 0 {.config => i3/dot-config}/i3/scripts/disk | 0 .../dot-config}/i3/scripts/empty_workspace | 0 .../dot-config}/i3/scripts/keyboard-layout | 0 {.config => i3/dot-config}/i3/scripts/keyhint | 0 .../dot-config}/i3/scripts/keyhint-2 | 0 {.config => i3/dot-config}/i3/scripts/memory | 0 .../dot-config}/i3/scripts/openweather | 0 .../dot-config}/i3/scripts/openweather-city | 0 .../dot-config}/i3/scripts/openweather.conf | 0 .../dot-config}/i3/scripts/power-profiles | 0 .../dot-config}/i3/scripts/powermenu | 0 .../dot-config}/i3/scripts/ppd-status | 0 .../dot-config}/i3/scripts/temperature | 0 {.config => i3/dot-config}/i3/scripts/volume | 0 .../i3/scripts/volume_brightness.sh | 0 {.config => i3/dot-config}/i3/scripts/vpn | 0 .../dot-config}/kitty/kitty.conf | 0 .../kitty/kitty.d/my_theme.conf.bak | 0 .../dot-config}/kitty/kitty.d/theme.conf.bak | 0 .../kitty/kitty.d/tokyonight_night.conf | 0 nvim/dot-config/nvim | 1 + setup.sh | 47 ++++++++++++++++++ .../dot-wallpapers}/crosswalk.jpg | Bin .../dot-wallpapers}/ghost.jpg | Bin .../dot-wallpapers}/horsefighter.jpg | Bin .../dot-wallpapers}/sunroad.jpg | Bin 42 files changed, 60 insertions(+) create mode 100644 .gitmodules create mode 100644 __setup/.gitkeep rename bin/{ => bin}/screenshot.sh (100%) rename {.config => fish/dot-config}/fish/config.fish (100%) rename {.config => fish/dot-config}/fish/fish_variables (100%) rename {.config => fish/dot-config}/fish/functions/fish_prompt.fish (100%) create mode 100644 git/.gitconfig rename {.config => i3/dot-config}/i3/config (100%) rename {.config => i3/dot-config}/i3/i3blocks.conf (100%) rename {.config => i3/dot-config}/i3/keybindings (100%) rename {.config => i3/dot-config}/i3/scripts/bandwidth2 (100%) rename {.config => i3/dot-config}/i3/scripts/battery-pinebook-pro (100%) rename {.config => i3/dot-config}/i3/scripts/battery1 (100%) rename {.config => i3/dot-config}/i3/scripts/battery2 (100%) rename {.config => i3/dot-config}/i3/scripts/blur-lock (100%) rename {.config => i3/dot-config}/i3/scripts/cpu_usage (100%) rename {.config => i3/dot-config}/i3/scripts/disk (100%) rename {.config => i3/dot-config}/i3/scripts/empty_workspace (100%) rename {.config => i3/dot-config}/i3/scripts/keyboard-layout (100%) rename {.config => i3/dot-config}/i3/scripts/keyhint (100%) rename {.config => i3/dot-config}/i3/scripts/keyhint-2 (100%) rename {.config => i3/dot-config}/i3/scripts/memory (100%) rename {.config => i3/dot-config}/i3/scripts/openweather (100%) rename {.config => i3/dot-config}/i3/scripts/openweather-city (100%) rename {.config => i3/dot-config}/i3/scripts/openweather.conf (100%) rename {.config => i3/dot-config}/i3/scripts/power-profiles (100%) rename {.config => i3/dot-config}/i3/scripts/powermenu (100%) rename {.config => i3/dot-config}/i3/scripts/ppd-status (100%) rename {.config => i3/dot-config}/i3/scripts/temperature (100%) rename {.config => i3/dot-config}/i3/scripts/volume (100%) rename {.config => i3/dot-config}/i3/scripts/volume_brightness.sh (100%) rename {.config => i3/dot-config}/i3/scripts/vpn (100%) rename {.config => kitty/dot-config}/kitty/kitty.conf (100%) rename {.config => kitty/dot-config}/kitty/kitty.d/my_theme.conf.bak (100%) rename {.config => kitty/dot-config}/kitty/kitty.d/theme.conf.bak (100%) rename {.config => kitty/dot-config}/kitty/kitty.d/tokyonight_night.conf (100%) create mode 160000 nvim/dot-config/nvim create mode 100755 setup.sh rename {.config/wallpapers => wallpapers/dot-wallpapers}/crosswalk.jpg (100%) rename {.config/wallpapers => wallpapers/dot-wallpapers}/ghost.jpg (100%) rename {.config/wallpapers => wallpapers/dot-wallpapers}/horsefighter.jpg (100%) rename {.config/wallpapers => wallpapers/dot-wallpapers}/sunroad.jpg (100%) diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..adbedd6 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "nvim/dot-config/nvim"] + path = nvim/dot-config/nvim + url = git@git.mzsl.nl:mans/neovim-config diff --git a/__setup/.gitkeep b/__setup/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/bin/screenshot.sh b/bin/bin/screenshot.sh similarity index 100% rename from bin/screenshot.sh rename to bin/bin/screenshot.sh diff --git a/.config/fish/config.fish b/fish/dot-config/fish/config.fish similarity index 100% rename from .config/fish/config.fish rename to fish/dot-config/fish/config.fish diff --git a/.config/fish/fish_variables b/fish/dot-config/fish/fish_variables similarity index 100% rename from .config/fish/fish_variables rename to fish/dot-config/fish/fish_variables diff --git a/.config/fish/functions/fish_prompt.fish b/fish/dot-config/fish/functions/fish_prompt.fish similarity index 100% rename from .config/fish/functions/fish_prompt.fish rename to fish/dot-config/fish/functions/fish_prompt.fish diff --git a/git/.gitconfig b/git/.gitconfig new file mode 100644 index 0000000..89fafc5 --- /dev/null +++ b/git/.gitconfig @@ -0,0 +1,9 @@ +[user] + email = mans@mziesel.com + name = Mans Ziesel + signingkey = /home/mans/.ssh/id_rsa.pub + +[url "git@git.mzsl.nl:"] + insteadOf = https://git.mzsl.nl/ +[gpg] + format = ssh diff --git a/.config/i3/config b/i3/dot-config/i3/config similarity index 100% rename from .config/i3/config rename to i3/dot-config/i3/config diff --git a/.config/i3/i3blocks.conf b/i3/dot-config/i3/i3blocks.conf similarity index 100% rename from .config/i3/i3blocks.conf rename to i3/dot-config/i3/i3blocks.conf diff --git a/.config/i3/keybindings b/i3/dot-config/i3/keybindings similarity index 100% rename from .config/i3/keybindings rename to i3/dot-config/i3/keybindings diff --git a/.config/i3/scripts/bandwidth2 b/i3/dot-config/i3/scripts/bandwidth2 similarity index 100% rename from .config/i3/scripts/bandwidth2 rename to i3/dot-config/i3/scripts/bandwidth2 diff --git a/.config/i3/scripts/battery-pinebook-pro b/i3/dot-config/i3/scripts/battery-pinebook-pro similarity index 100% rename from .config/i3/scripts/battery-pinebook-pro rename to i3/dot-config/i3/scripts/battery-pinebook-pro diff --git a/.config/i3/scripts/battery1 b/i3/dot-config/i3/scripts/battery1 similarity index 100% rename from .config/i3/scripts/battery1 rename to i3/dot-config/i3/scripts/battery1 diff --git a/.config/i3/scripts/battery2 b/i3/dot-config/i3/scripts/battery2 similarity index 100% rename from .config/i3/scripts/battery2 rename to i3/dot-config/i3/scripts/battery2 diff --git a/.config/i3/scripts/blur-lock b/i3/dot-config/i3/scripts/blur-lock similarity index 100% rename from .config/i3/scripts/blur-lock rename to i3/dot-config/i3/scripts/blur-lock diff --git a/.config/i3/scripts/cpu_usage b/i3/dot-config/i3/scripts/cpu_usage similarity index 100% rename from .config/i3/scripts/cpu_usage rename to i3/dot-config/i3/scripts/cpu_usage diff --git a/.config/i3/scripts/disk b/i3/dot-config/i3/scripts/disk similarity index 100% rename from .config/i3/scripts/disk rename to i3/dot-config/i3/scripts/disk diff --git a/.config/i3/scripts/empty_workspace b/i3/dot-config/i3/scripts/empty_workspace similarity index 100% rename from .config/i3/scripts/empty_workspace rename to i3/dot-config/i3/scripts/empty_workspace diff --git a/.config/i3/scripts/keyboard-layout b/i3/dot-config/i3/scripts/keyboard-layout similarity index 100% rename from .config/i3/scripts/keyboard-layout rename to i3/dot-config/i3/scripts/keyboard-layout diff --git a/.config/i3/scripts/keyhint b/i3/dot-config/i3/scripts/keyhint similarity index 100% rename from .config/i3/scripts/keyhint rename to i3/dot-config/i3/scripts/keyhint diff --git a/.config/i3/scripts/keyhint-2 b/i3/dot-config/i3/scripts/keyhint-2 similarity index 100% rename from .config/i3/scripts/keyhint-2 rename to i3/dot-config/i3/scripts/keyhint-2 diff --git a/.config/i3/scripts/memory b/i3/dot-config/i3/scripts/memory similarity index 100% rename from .config/i3/scripts/memory rename to i3/dot-config/i3/scripts/memory diff --git a/.config/i3/scripts/openweather b/i3/dot-config/i3/scripts/openweather similarity index 100% rename from .config/i3/scripts/openweather rename to i3/dot-config/i3/scripts/openweather diff --git a/.config/i3/scripts/openweather-city b/i3/dot-config/i3/scripts/openweather-city similarity index 100% rename from .config/i3/scripts/openweather-city rename to i3/dot-config/i3/scripts/openweather-city diff --git a/.config/i3/scripts/openweather.conf b/i3/dot-config/i3/scripts/openweather.conf similarity index 100% rename from .config/i3/scripts/openweather.conf rename to i3/dot-config/i3/scripts/openweather.conf diff --git a/.config/i3/scripts/power-profiles b/i3/dot-config/i3/scripts/power-profiles similarity index 100% rename from .config/i3/scripts/power-profiles rename to i3/dot-config/i3/scripts/power-profiles diff --git a/.config/i3/scripts/powermenu b/i3/dot-config/i3/scripts/powermenu similarity index 100% rename from .config/i3/scripts/powermenu rename to i3/dot-config/i3/scripts/powermenu diff --git a/.config/i3/scripts/ppd-status b/i3/dot-config/i3/scripts/ppd-status similarity index 100% rename from .config/i3/scripts/ppd-status rename to i3/dot-config/i3/scripts/ppd-status diff --git a/.config/i3/scripts/temperature b/i3/dot-config/i3/scripts/temperature similarity index 100% rename from .config/i3/scripts/temperature rename to i3/dot-config/i3/scripts/temperature diff --git a/.config/i3/scripts/volume b/i3/dot-config/i3/scripts/volume similarity index 100% rename from .config/i3/scripts/volume rename to i3/dot-config/i3/scripts/volume diff --git a/.config/i3/scripts/volume_brightness.sh b/i3/dot-config/i3/scripts/volume_brightness.sh similarity index 100% rename from .config/i3/scripts/volume_brightness.sh rename to i3/dot-config/i3/scripts/volume_brightness.sh diff --git a/.config/i3/scripts/vpn b/i3/dot-config/i3/scripts/vpn similarity index 100% rename from .config/i3/scripts/vpn rename to i3/dot-config/i3/scripts/vpn diff --git a/.config/kitty/kitty.conf b/kitty/dot-config/kitty/kitty.conf similarity index 100% rename from .config/kitty/kitty.conf rename to kitty/dot-config/kitty/kitty.conf diff --git a/.config/kitty/kitty.d/my_theme.conf.bak b/kitty/dot-config/kitty/kitty.d/my_theme.conf.bak similarity index 100% rename from .config/kitty/kitty.d/my_theme.conf.bak rename to kitty/dot-config/kitty/kitty.d/my_theme.conf.bak diff --git a/.config/kitty/kitty.d/theme.conf.bak b/kitty/dot-config/kitty/kitty.d/theme.conf.bak similarity index 100% rename from .config/kitty/kitty.d/theme.conf.bak rename to kitty/dot-config/kitty/kitty.d/theme.conf.bak diff --git a/.config/kitty/kitty.d/tokyonight_night.conf b/kitty/dot-config/kitty/kitty.d/tokyonight_night.conf similarity index 100% rename from .config/kitty/kitty.d/tokyonight_night.conf rename to kitty/dot-config/kitty/kitty.d/tokyonight_night.conf diff --git a/nvim/dot-config/nvim b/nvim/dot-config/nvim new file mode 160000 index 0000000..08a1521 --- /dev/null +++ b/nvim/dot-config/nvim @@ -0,0 +1 @@ +Subproject commit 08a1521eac9639ec9cde52b5aead2e49187f7d25 diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..681b497 --- /dev/null +++ b/setup.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +# make sure we have pulled in and updated any submodules +git submodule init +git submodule update + +# what directories should be installable by all users including the root user +base=( +) + +# folders that should, or only need to be installed for a local user +useronly=( + bin + git + i3 + kitty + nvim + fish +) + +# run the stow command for the passed in directory ($2) in location $1 +stowit() { + usr=$1 + app=$2 + # -v verbose + # -R recursive + # -t target + stow --dotfiles -v -R -t "${usr}" "${app}" +} + +echo "" +echo "Stowing apps for user: $(whoami)" + +# install apps available to local users and root +for app in "${base[@]}"; do + stowit "${HOME}" "$app" +done + +# install only user space folders +for app in "${useronly[@]}"; do + if [[ ! "$(whoami)" = *"root"* ]]; then + stowit "${HOME}" "$app" + fi +done + +echo "" +echo "##### ALL DONE" diff --git a/.config/wallpapers/crosswalk.jpg b/wallpapers/dot-wallpapers/crosswalk.jpg similarity index 100% rename from .config/wallpapers/crosswalk.jpg rename to wallpapers/dot-wallpapers/crosswalk.jpg diff --git a/.config/wallpapers/ghost.jpg b/wallpapers/dot-wallpapers/ghost.jpg similarity index 100% rename from .config/wallpapers/ghost.jpg rename to wallpapers/dot-wallpapers/ghost.jpg diff --git a/.config/wallpapers/horsefighter.jpg b/wallpapers/dot-wallpapers/horsefighter.jpg similarity index 100% rename from .config/wallpapers/horsefighter.jpg rename to wallpapers/dot-wallpapers/horsefighter.jpg diff --git a/.config/wallpapers/sunroad.jpg b/wallpapers/dot-wallpapers/sunroad.jpg similarity index 100% rename from .config/wallpapers/sunroad.jpg rename to wallpapers/dot-wallpapers/sunroad.jpg