# This file contains common configuration applied to every host. # It should only `enable` options defined in the `modules` directory. { config, pkgs, ... }: { soispha = { boot.enable = true; cleanup.enable = true; documentation.enable = true; fonts = { enable = true; enableEmoji = true; }; home-manager.enable = true; impermanence = { enable = true; directories = [ "/etc/nixos" "/var/log" "/var/lib/systemd" "/var/lib/nixos" ]; }; polkit.enable = true; power.enable = true; services = { adb = { enable = true; user = "soispha"; }; fwupd.enable = true; mpd = { enable = true; directories = let data = "${config.home-manager.users.soispha.xdg.dataHome}/mpd"; in { inherit data; playlists = "${data}/playlists"; runtime = "/run/user/${builtins.toString config.users.users.soispha.uid}/mpd"; music = config.home-manager.users.soispha.programs.beets.settings.directory; }; mpc = { enable = true; beetsPkg = config.home-manager.users.soispha.programs.beets.package; }; }; postgresql.enable = false; printing.enable = true; scanning.enable = true; snapper.enable = true; steam.enable = false; systemDiff.enable = true; unison = { enable = true; foreign.userName = "soispha"; dataDir = "${config.home-manager.users.soispha.xdg.dataHome}/unison"; userSourceDir = "/srv/home/soispha"; pathsToIgnore = let extractTarget = attr: "~/${attr.target}"; homeManagerSymlinks = builtins.map extractTarget (builtins.attrValues config.home-manager.users.soispha.home.file); in [ # already synchronized by the taskserver "~/.local/share/task" # Should not be synchronized "~/.local/share/unison" # Is just to big to be synchronized (# TODO: Work around that <2024-08-31> ) "~/media/music" ] ++ homeManagerSymlinks; pathsToSync = [ "~/.local/state/mpv" "~/.local/state/nvim" "~/.local/share" "~/.local/.Trash-1000" "~/.mozilla/.Trash-1000" "~/.mozilla/firefox" "~/media" "~/school" "~/repos" ]; }; }; programs = { nvim = { enable = true; shell = pkgs.zsh; }; atuin.enable = true; git.enable = true; imv.enable = true; less.enable = true; lf.enable = true; taskwarrior.enable = true; yambar.enable = true; zathura.enable = true; zsh.enable = true; }; sound.enable = true; version.enable = true; }; }