commit 7bcdc7435759ec603f5e087a22efcd9ce2c80f96
parent f3b6a9cca74d1ec88c21703d18964d7a4eb071cb
Author: Katja (zaphyra) <git@ctu.cx>
Date: Fri, 6 Jun 2025 19:03:03 +0200
parent f3b6a9cca74d1ec88c21703d18964d7a4eb071cb
Author: Katja (zaphyra) <git@ctu.cx>
Date: Fri, 6 Jun 2025 19:03:03 +0200
config/home/katja: add impermanence to home `UwU`
10 files changed, 73 insertions(+), 1 deletion(-)
diff --git a/config/home/katja/configure/gnome.nix b/config/home/katja/configure/gnome.nix @@ -17,6 +17,14 @@ in QT_QPA_PLATFORMTHEME = "gnome"; }; + home.persistence."/nix/persist/home/katja".directories = [ + "dconf/.config/dconf" + "keyring/.local/share/keyrings" + "evolution-data-server/.local/share/evolution" + "gnome-online-accounts/.config/goa-1.0" + "gnome/.local/share/gnome-shell" + ]; + home.packages = with pkgs; [
diff --git a/config/home/katja/impermanence.nix b/config/home/katja/impermanence.nix @@ -0,0 +1,22 @@ +{ ... }: + +{ + + home.persistence."/nix/persist/home/katja" = { + allowOther = true; + removePrefixDirectory = true; + directories = let + symlink = path: { method = "symlink"; directory = path; }; + in [ + (symlink "syncthing/Documents") + (symlink "syncthing/Bahn-Richtlinien") + (symlink "syncthing/Videos") + (symlink "syncthing/Pictures") + (symlink "syncthing/Music") + (symlink "syncthing/Audiobooks") + (symlink "data/Downloads") + (symlink "data/proj") + ]; + }; + +}+ \ No newline at end of file
diff --git a/config/home/katja/programs/firefox.nix b/config/home/katja/programs/firefox.nix @@ -16,6 +16,11 @@ target = ".mozilla/firefox/katja/chrome/firefox-gnome-theme"; }; + home.persistence."/nix/persist/home/katja".directories = [ + "firefox/.mozilla/firefox/" + "firefox/.cache/mozilla/firefox" + ]; + programs.firefox = { enable = true; package = pkgs.firefox;
diff --git a/config/home/katja/programs/fish.nix b/config/home/katja/programs/fish.nix @@ -2,6 +2,10 @@ { + home.persistence."/nix/persist/home/katja".directories = [ + "fish/.local/share/fish" + ]; + programs.fish = { enable = true; generateCompletions = true;
diff --git a/config/home/katja/programs/fractal.nix b/config/home/katja/programs/fractal.nix @@ -2,6 +2,13 @@ { - home.packages = [ pkgs.fractal ]; + home = { + packages = [ pkgs.fractal ]; + + persistence."/nix/persist/home/katja".directories = [ + "fractal/.local/share/fractal/" + "fractal/.cache/fractal/" + ]; + }; }
diff --git a/config/home/katja/programs/mcfly.nix b/config/home/katja/programs/mcfly.nix @@ -2,6 +2,10 @@ { + home.persistence."/nix/persist/home/katja".directories = [ + "mcfly/.local/share/mcfly" + ]; + programs.mcfly = { enable = true; enableFishIntegration = true;
diff --git a/config/home/katja/programs/ssh.nix b/config/home/katja/programs/ssh.nix @@ -2,6 +2,11 @@ { + + home.persistence."/nix/persist/home/katja".files = [ + "ssh/.ssh/known_hosts" + ]; + programs.ssh = { enable = true; compression = true;
diff --git a/config/home/katja/programs/thunderbird.nix b/config/home/katja/programs/thunderbird.nix @@ -9,6 +9,11 @@ home.packages = [ pkgs.thunderbird ]; + home.persistence."/nix/persist/home/katja".directories = [ + "thunderbird/.thunderbird/" + "thunderbird/.cache/thunderbird" + ]; + systemd.user.services.thunderbird = lib.mkIf config.wayland.windowManager.sway.enable { Unit.After = [ "graphical-session-pre.target" ]; Unit.PartOf = [ "graphical-session.target" ];
diff --git a/config/home/katja/programs/tuba.nix b/config/home/katja/programs/tuba.nix @@ -4,6 +4,10 @@ home.packages = [ pkgs.tuba ]; + home.persistence."/nix/persist/home/katja".directories = [ + "tuba/.cache/tuba" + ]; + dconf.settings = { "dev/geopjr/Tuba" = { work-in-background = true;
diff --git a/config/nixos/modules/users/katja.nix b/config/nixos/modules/users/katja.nix @@ -25,6 +25,8 @@ in sopsFile = inputs.self.sopsSecrets.common; }; + programs.fuse.userAllowOther = lib.mkIf config.modules.filesystem.impermanence.home.enable (lib.mkDefault true); + users.users.katja = { uid = 1001; description = "Katja"; @@ -47,6 +49,11 @@ in [ homeManagerModules.katja.common ] + + (lib.optionals config.modules.filesystem.impermanence.home.enable [ + inputs.impermanence.homeManagerModules.impermanence + homeManagerModules.katja.impermanence + ]) (lib.optionals config.modules.presets.graphical.enable ( with homeManagerModules.katja; [