[vars] USER_FULLNAME = "Steve Beaulac" USER_EMAIL = "steve@beaulac.me" DOTFILES_DIR = "{{config_root}}" SECOND_BRAIN = "~/Documents/sjb-brain" [env] DOTFILES_DIR = "{{config_root}}" [settings] dotfiles.root = "{{config_root}}" dotfiles.default_mode = "symlink-each" [dotfiles] "~/.config/btop" = "config/btop" "~/.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" } "~/.config/zero" = "config/zero" "~/.sandboxec" = "config/sandboxec" "~/.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/sysinfo" = { source = "script/sysinfo", mode = "symlink" } "~/.local/bin/s" = { source = "script/s", mode = "symlink" } "~/.local/bin/t" = { source = "script/t", mode = "symlink" } "~/.local/bin/n" = { source = "script/n", mode = "symlink" } "~/.local/bin/ykswap" = { source = "script/ykswap", mode = "symlink" } "~/.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" [bootstrap.packages] "pacman:zoxide" = "latest" "pacman:git" = "latest" "pacman:tmux" = "latest" "pacman:fzf" = "latest" "pacman:neovim" = "latest" "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', ] [tasks.desktop] description = "setup gui" 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', ] [tasks.bootstrap] depends = ['shells', 'desktop', 'webapps']