refactor(dotfiles): separate desktop configuration

This commit is contained in:
2026-10-08 12:09:17 -04:00
parent ecf01dad51
commit 0e203b188d
160 changed files with 153 additions and 107 deletions
+19 -90
View File
@@ -13,84 +13,54 @@ dotfiles.default_mode = "symlink-each"
[dotfiles]
"~/.config/btop" = "config/btop"
"~/.config/mise/config.toml" = { source = "config/mise/config.toml", mode = "symlink" }
"~/.config/mise/env" = { source = "templates/dotenv.tmpl", mode = "template", template = "tera" }
"~/.config/emacs" = "config/emacs"
"~/.config/environment.d/generic.conf" = { source = "templates/environments.tmpl", mode = "template", template = "tera" }
"~/.gnupg" = "config/gnupg"
"~/.config/fish" = "config/fish" # check if we really need the fisher plugins
"~/.config/gdb" = "config/gdb"
"~/.config/ghostty" = "config/ghostty"
"~/.config/git" = "config/git"
"~/.config/git/local" = { source = "templates/git-local.tmpl", mode = "template", template = "tera" }
"~/.config/goose" = "config/goose"
"~/.config/herdr" = "config/herdr"
"~/.config/ostt" = "config/ostt"
"~/.config/fabric" = "config/fabric"
"~/.config/fontconfig" = { source = "config/fontconfig", mode = "copy" }
"~/.config/foot" = "config/foot"
"~/.config/hypr/sjb" = "config/hypr/sjb"
"~/.config/hypr/hypridle.conf" = { source = "config/hypr/hypridle.conf", mode = "symlink" }
"~/.config/hypr/hyprlock.conf" = { source = "config/hypr/hyprlock.conf", mode = "symlink" }
"~/.config/hypr/hyprpm.conf" = { source = "config/hypr/hyprpm.conf", mode = "symlink" }
"~/.config/hypr/hyprland.lua/sjb" = { block = 'require("sjb.init")' }
"~/.config/jj" = "config/jj"
"~/.config/jj/conf.d/local.toml" = { source = "templates/git-local.tmpl", mode = "template", template = "tera" }
"~/.config/kitty" = "config/kitty"
"~/.config/mini.nvim" = "config/mini.nvim"
"~/.config/mise/config.toml" = { source = "config/mise/config.toml", mode = "symlink" }
"~/.config/nvim" = "config/nvim"
"~/.config/opencode" = "config/opencode"
"~/.agents" = { source = "config/agents", mode = "symlink-each" }
"~/.config/opencode/agents" = { source = "config/agents/prompts", mode = "symlink" }
"~/.pi" = "config/pi"
"~/.pi-lens/config.json" = { source = "config/pi-lens/config.json", mode = "symlink" }
"~/.pi/agent/AGENTS.md" = { source = "config/agents/AGENTS.md", mode = "symlink" }
"~/.config/rofi" = "config/rofi"
"~/.config/rio" = "config/rio"
"~/.ssh" = "config/ssh"
"~/.config/systemd" = { source = "config/systemd", mode = "copy" }
"~/.config/environment.d" = "config/environment.d"
"~/.config/tmux" = "config/tmux"
"~/.config/uwsm" = "config/uwsm"
"~/.config/worktrunk" = "config/worktrunk"
"~/.config/workmux/config.yaml" = { source = "config/workmux/config.yaml", mode = "symlink" }
"~/.config/chromium-flags.conf" = { source = "config/chromium-flags.conf", mode = "symlink" }
"~/.profile" = { source = "config/bash/profile", mode = "symlink" }
"~/.bash_aliases" = { source = "config/bash/aliases", mode = "symlink" }
"~/.bashrc" = { source = "config/bash/profile", mode = "symlink" }
"~/.config/zero" = "config/zero"
"~/.sandboxec" = "config/sandboxec"
"~/.local/bin/ssh-auth" = { source = "script/ssh-auth", mode = "symlink" }
"~/.config/omarchy/themed" = { source = "default/themed", mode = "symlink-each" }
"~/.local/share/fonts/" = { source = "fonts", mode = "copy" }
# Desktop files
"~/.local/share/applications" = { source = "applications", mode = "symlink-each" }
# scripts.
"~/.local/bin/hyprland-activeworkspace" = { source = "script/hyprland-activeworkspace", mode = "symlink" }
"~/.local/bin/hyprland-keybindings" = { source = "script/hyprland-keybindings", mode = "symlink" }
"~/.local/bin/hyprland-fetch-client" = { source = "script/hyprland-fetch-client", mode = "symlink" }
"~/.local/bin/hyprland-focus-client" = { source = "script/hyprland-focus-client", mode = "symlink" }
"~/.local/bin/terminal-launcher" = { source = "script/terminal-launcher", mode = "symlink" }
"~/.local/bin/screen-recorder" = { source = "script/screen-recorder", mode = "symlink" }
"~/.local/bin/battery" = { source = "script/battery", mode = "symlink" }
# "~/.config/bin/ec" = { source = "script/ec", mode = "symlink" }
"~/.local/bin/tmux-open" = { source = "script/tmux-open", mode = "symlink" }
"~/.local/bin/active-workspace" = { source = "script/active-workspace", mode = "symlink" }
"~/.local/bin/avr-flash" = { source = "script/avr-flash", mode = "symlink" }
"~/.local/bin/dfu-flash" = { source = "script/dfu-flash", mode = "symlink" }
"~/.local/bin/git-bare-clone" = { source = "script/git-bare-clone", mode = "symlink" }
"~/.local/bin/git-churn" = { source = "script/git-churn", mode = "symlink" }
"~/.local/bin/hyprland-tmux-session" = { source = "script/hyprland-tmux-session", mode = "symlink" }
"~/.local/bin/hyprland-toggle-monitor" = { source = "script/hyprland-toggle-monitor", mode = "symlink" }
"~/.local/bin/ci" = { source = "script/ci", mode = "symlink" }
"~/.local/bin/rofi-pass" = { source = "script/rofi-pass", mode = "symlink" }
"~/.local/bin/sharehome" = { source = "script/sharehome", mode = "symlink" }
"~/.local/bin/sjb-orgmode-installer" = { source = "script/sjb-orgmode-installer", mode = "symlink" }
"~/.local/bin/sjb-script-installer" = { source = "script/sjb-script-installer", mode = "symlink" }
"~/.local/bin/sjb-update-config" = { source = "script/sjb-update-config", mode = "symlink" }
"~/.local/bin/sjb-webapp-installer" = { source = "script/sjb-webapp-installer", mode = "symlink" }
"~/.local/bin/battery" = { source = "script/battery", mode = "symlink" }
"~/.local/bin/sysinfo" = { source = "script/sysinfo", mode = "symlink" }
"~/.local/bin/s" = { source = "script/s", mode = "symlink" }
"~/.local/bin/t" = { source = "script/t", mode = "symlink" }
@@ -99,15 +69,9 @@ dotfiles.default_mode = "symlink-each"
"~/.local/bin/rherdr" = { source = "script/rherdr", mode = "symlink" }
"~/.local/bin/rtmux" = { source = "script/rtmux", mode = "symlink" }
"~/.local/bin/bing-wallpaper" = { source = "script/bing-wallpaper", mode = "symlink" }
"~/.local/bin/set-wallpaper.sh" = { source = "script/set-wallpaper.sh", mode = "symlink" }
"~/.local/bin/wallpaper-fetcher" = { source = "bin/wallpaper-fetcher", mode = "symlink" }
"~/.local/bin/strata" = { source = "bin/strata", mode = "symlink" }
"~/.config/strata/settings.toml" = { source = "config/strata/settings.toml", mode = "symlink" }
[bootstrap.user]
login_shell = "/usr/bin/fish"
#"~/.local/bin/sjb-orgmode-installer" = { source = "script/sjb-orgmode-installer", mode = "symlink" }
#"~/.local/bin/sjb-script-installer" = { source = "script/sjb-script-installer", mode = "symlink" }
#"~/.local/bin/sjb-update-config" = { source = "script/sjb-update-config", mode = "symlink" }
[bootstrap.packages]
"pacman:zoxide" = "latest"
@@ -118,52 +82,17 @@ login_shell = "/usr/bin/fish"
"pacman:harper" = "latest"
"pacman:tree-sitter-cli" = "latest"
[tasks.shells]
description = "Script to setup some cli environment"
run = [
'fish -c "fisher install franciscolourenco/done"',
'test -d ~/.config/tmux/plugins/tpm || git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm',
'tmux run-shell ~/.config/tmux/plugins/tpm/bindings/install_plugins',
'fc-cache',
]
[bootstrap.mise_shell_activate] # mise activation in shell startup files ■ This sentence does not start wit
zprofile = "shims"
zshrc = "activate"
[tasks.desktop]
description = "setup gui"
[tasks.setup_theme]
run = [
'xdg-settings set default-web-browser firefox.desktop',
'gsettings set org.gnome.desktop.interface gtk-enable-primary-paste true',
'id -nG sjb | grep -qw "input" && systemctl --user enable ydotool',
'systemctl --user enable syncthing',
'systemctl --user enable mako.service',
'systemctl --user enable hypridle.service',
'systemctl --user enable awww-daemon.service',
'systemctl --user enable gnome-keyring-daemon.service',
'systemctl --user enable hyprpolkitagent.service',
'systemctl --user enable wallpaper.timer',
'systemctl --user enable foot-server.service',
'xdg-mime default obsidian.desktop x-scheme-handler/obsidian',
'xdg-settings set default-url-scheme-handler obsidian obsidian.desktop',
]
[tasks.webapps]
description = 'create all web application'
run = [
'sjb-webapp-installer "WhatsApp" https://web.whatsapp.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/whatsapp.png',
'sjb-webapp-installer "Google Photos" https://photos.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-photos.png',
'sjb-webapp-installer "Google Contacts" https://contacts.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-contacts.png',
'sjb-webapp-installer "Google Messages" https://messages.google.com/web/conversations https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-messages.png',
'sjb-webapp-installer "ChatGPT" https://chatgpt.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/chatgpt.png',
'sjb-webapp-installer "YouTube" https://youtube.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png',
'sjb-webapp-installer "GitHub" https://github.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png',
'sjb-webapp-installer "Figma" https://figma.com/ https://www.veryicon.com/download/png/application/app-icon-7/figma-1?s=256',
'sjb-webapp-installer "Discord" https://discord.com/channels/@me https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/discord.png',
'sjb-webapp-installer "Twitch" https://twitch.tv/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/twitch.png',
'sjb-webapp-installer "Team" https://teams.microsoft.com/v2/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-teams.svg',
'sjb-webapp-installer "Outlook" https://outlook.office.com/mail/inbox/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-outlook.svg',
'sjb-webapp-installer "Slack" https://app.slack.com/client/T09M8T3BB1N/C09KZ5N0ZK9 https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/slack.svg',
'sjb-webapp-installer "Copilot" https://m365.cloud.microsoft https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-copilot.svg',
'sjb-webapp-installer "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x.png',
'test -d ~/.local/state/omarchy/current/theme || rsync -av config/omarchy/default/ $HOME/.local/state/omarchy/current/theme --mkpath',
'mkdir -p ~/.config/btop/themes && ln -snf ~/.local/state/omarchy/current/theme/btop.theme ~/.config/btop/themes/current.theme',
'mkdir -p ~/.config/nvim/plugin && ln -snf ~/.local/state/omarchy/current/theme/neovim-vimpack.lua ~/.config/nvim/plugin/theme.lua',
'mkdir -p ~/.config/tmux && ln -snf ~/.local/state/omarchy/current/theme/tmux ~/.config/tmux/theme',
]
[tasks.bootstrap]
depends = ['shells', 'desktop', 'webapps']
depends = ['setup_theme', 'setup_shells', 'setup_tmux', 'setup_pi', 'setup_herdr', 'setup_tmux']