[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", "git", "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 = "~" [git.files] "git/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } git = "~" [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 = "~" [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/.config/papis/papistui.yaml" = { target = "~/.config/papis/papistui.yaml", type = "symbolic" } "writing/.config/sioyek/prefs_user.config" = { target = "~/.config/sioyek/prefs_user.config", type = "template", prepend = "# TEMPLATED BY DOTTER\n" } 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 = "~" [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" }