# Path to your dotfiles relative to your $HOME directory dotfiles_dir = "src/dotfiles" [settings] # An array of toml files paths containing the variables to inject in your templatized dotfiles # You can have multiple var files as long as variable names does not colide. vars = [ "dark.toml", "vars.toml" ] # An array of post install shell commands # hooks = [ "" ] [profiles.light] vars = [ "light.toml" ] [profiles.dark] vars = [ "dark.toml" ] [settings.dots] # A dot entry representing a symlink, `source` is relative to `dotfiles_dir` # and `target` shall be relative to $HOME directory or absolute. # You can have as many dot entry as you want, linking files or directories # alacritty alacritty = { source = "alacritty", target = ".config/alacritty" } # bat bat = { source = "bat", target = ".config/bat" } # broot broot = { source = "broot", target = ".config/broot" } # git git_template = { source = "git_template", target = ".git_template" } gitconfig = { source = "gitconfig", target = ".gitconfig" } gitignore = { source = "gitignore", target = ".gitignore" } gitui = { source = "gitui", target = ".config/gitui" } # gpg gpg_agent = { source = "gnupg/gpg-agent.conf", target = ".gnupg/gpg-agent.conf" } # helix helix = { source = "helix", target = ".config/helix" } # file handlers mimeapps = { source = "mimeapps.list", target = ".config/mimeapps.list" } # navi navi = { source = "navi", target = ".config/navi" } # starship starship = { source = "starship.toml", target = ".config/starship.toml"} # zellij zellij = { source = "zellij", target = ".config/zellij" } # zsh zshconfigs = { source = "zsh.d", target = ".config/zsh.d" } zshaliases = { source = "aliases.d", target = ".config/aliases.d" } zshenv = { source = "zshenv.zsh", target = ".zshenv" } zshrc = { source = "zshrc.zsh", target = ".zshrc" } # justfile — task runner, usable from anywhere via `just -g` justfile = { source = "Justfile", target = ".justfile" } # claude code (shared across hosts; agents/skills are host-specific, see profiles below) claude_settings = { source = "claude/shared/settings.json", target = ".claude/settings.json" } claude_statusline = { source = "claude/shared/statusline-command.sh", target = ".claude/statusline-command.sh" } # Host profiles — select one per machine alongside the theme profile (space-separated), e.g. # daniel-xps: bombadil link -f -p dark xps # daniel-desktop: bombadil link -f -p dark desktop # (or just `just -g link`, which auto-detects the host) # Each links the host's own Claude agents/skills (the GPU box drives the local # model; the laptop is the orchestrator that delegates to it over SSH). # Linked at the file level (not as directory dots): bombadil 4.2.0 only symlinks # regular files, and this keeps the live ~/.claude/{agents,skills} as real dirs so # Claude's own agents/skills coexist with these dotfile-managed ones. [profiles.xps.dots] claude_agent_desktop_coder = { source = "claude/xps/agents/desktop-coder.md", target = ".claude/agents/desktop-coder.md" } claude_skill_desktop_delegate = { source = "claude/xps/skills/desktop-delegate/SKILL.md", target = ".claude/skills/desktop-delegate/SKILL.md" } [profiles.desktop.dots] claude_agent_local_coder = { source = "claude/desktop/agents/local-coder.md", target = ".claude/agents/local-coder.md" } claude_skill_local_delegate = { source = "claude/desktop/skills/local-delegate/SKILL.md", target = ".claude/skills/local-delegate/SKILL.md" } claude_skill_unload_local_model = { source = "claude/desktop/skills/unload-local-model/SKILL.md", target = ".claude/skills/unload-local-model/SKILL.md" }