[helpers] # BASE: A base system. Sets up a nice xdg (zsh) shell environment, utility scripts and # a development environment based on git and nvim. [base] depends = ["shell", "vcs", "nvim", "scripts", "ssh", "terminal", "bootstrap"] [bootstrap.files] "bootstrap/dotlink.sh" = "~/.config/sh/alias.d/dotlink.sh" [shell.files] "sh/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } sh = "~" [vcs.files] "vcs/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } "vcs/git/config" = "~/.config" "vcs/jj" = "~/.config" "vcs/gitignore/config" = "~/.config" "vcs/gitignore/local" = "~/.local" vcs = "~" [nvim.files] "nvim/.config/nvim/spell/de.utf-8.add.spl" = { target = "~/.config/nvim/spell/de.utf-8.add.spl", type = "symbolic" } "nvim/.config/nvim/spell/en.utf-8.add.spl" = { target = "~/.config/nvim/spell/en.utf-8.add.spl", type = "symbolic" } nvim = "~" [scripts.files] "scripts/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } scripts = "~" [ssh.files] ssh = "~" [terminal.files] "terminal/.config/vifm" = "~/.config/vifm" "terminal/.config/vifm/vifmrc" = { target = "~/.config/vifm/vifmrc", type = "symbolic" } terminal = "~" # LINUX: A linux machine, with systemd enabled, auto-mounting set up and a nice productivity suite. [linux] depends = ["base", "disks", "pass", "office", "services", "social", "writing"] [disks.files] "disks/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } disks = "~" [pass.files] "pass/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } "pass/.local/share/pass-pick/assets/rofi-menu.gif" = { target = "~/NOWHERE", type = "symbolic", if = "false" } pass = "~" [office.files] "office/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } "office/.config/glow/email.json" = { target = "~/.config/glow/email.json", type = "symbolic" } "office/.config/isync/mbsyncrc" = { target = "~/.config/isync/mbsyncrc", type = "template" } "office/.config/msmtp/config" = { target = "~/.config/msmtp/config", type = "template" } "office/.config/neomutt/account" = { target = "~/.config/neomutt/account", type = "template" } "office/.config/neomutt/profile.gmail" = { target = "~/.config/neomutt/profile.gmail", type = "template" } "office/.config/neomutt/profile.private" = { target = "~/.config/neomutt/profile.private", type = "template" } office = "~" [services.files] "services/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } services = "~" [social.files] social = "~" [writing.files] "writing/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } "writing/jrnl" = "~/.config/jrnl" "writing/papis/papistui.yaml" = { target = "~/.config/papis/papistui.yaml", type = "symbolic" } "writing/papis" = "~/.config/papis" "writing/sioyek/prefs_user.config" = { target = "~/.config/sioyek/prefs_user.config", type = "template", prepend = "# TEMPLATED BY DOTTER\n" } "writing/sioyek" = "~/.config/sioyek" "writing/zathura" = "~/.config/zathura" "writing/zk" = "~/.config" "writing/pandoc/local" = "~/.local" writing = "~" # WORKSTATION: A desktop machine, with wayland environment and display attached. [workstation] depends = ["linux", "desktop", "multimedia", "qutebrowser"] [desktop.files] "desktop/.config/flavours/templates" = { target = "~/.config/flavours/templates", type = "symbolic" } "desktop/.config/waybar/config" = { target = "~/.config/waybar/config", type = "symbolic" } "desktop/.config/mako/config" = { target = "~/.config/mako/config", type = "template", prepend = "# TEMPLATED BY DOTTER\n" } "desktop/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } desktop = "~" [multimedia.files] "multimedia/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } "multimedia/.config/mpv/scripts" = { target = "~/.config/mpv/scripts", type = "symbolic" } "multimedia/.config/ncmpcpp/config" = { target = "~/.config/ncmpcpp/config", type = "symbolic" } "multimedia/.config/mpv/fonts/uosc_icons.otf" = { target = "~/.config/mpv/fonts/uosc_icons.otf", type = "symbolic" } "multimedia/.config/mpv/fonts/uosc_textures.ttf" = { target = "~/.config/mpv/fonts/uosc_textures.ttf", type = "symbolic" } "multimedia/.config/vimiv/styles/base16" = { target = "~/.config/vimiv/styles/base16", type = "template" } multimedia = "~" [qutebrowser.files] "qutebrowser/config" = "~/.config/qutebrowser" "qutebrowser/scripts" = "~/.local/bin" "qutebrowser/data" = "~/.local/share/qutebrowser" [system.files] "bootstrap/system-packages" = { target = "/", type = "symbolic", owner = "root" }