Update home impermanence to be in the style of GNU Stow

This commit is contained in:
Bun 2025-05-14 00:12:33 -04:00
parent 968ae4631c
commit 66502988ef
22 changed files with 72 additions and 64 deletions

View file

@ -242,7 +242,7 @@
".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/firefox";
".mozilla/librewolf".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/firefox";
};
persistence."/persist${config.home.homeDirectory}".directories = [ ".mozilla" ];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "browser/.mozilla" ];
};
};
}

View file

@ -12,6 +12,6 @@
];
};
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".config/obs-studio" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "data/.config/obs-studio" ];
};
}

View file

@ -59,6 +59,6 @@
};
};
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".thunderbird" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "browser/.thunderbird" ];
};
}

View file

@ -8,10 +8,10 @@
steam
steam-run-free
];
persistence."/persist${config.home.homeDirectory}".directories = [
".config/heroic"
".local/share/PrismLauncher"
".local/share/Steam"
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
"games/.config/heroic"
"games/.local/share/PrismLauncher"
"games/.local/share/Steam"
];
};

View file

@ -6,9 +6,9 @@
qbittorrent
vesktop
];
persistence."/persist${config.home.homeDirectory}".directories = [
".config/qBittorrent"
".config/vesktop"
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
"data/.config/qBittorrent"
"data/.config/vesktop"
];
};
}

View file

@ -8,10 +8,10 @@
blender_4_4
krita
];
persistence."/persist${config.home.homeDirectory}".directories = [
".config/audacity"
".config/blender"
".local/share/krita"
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
"data/.config/audacity"
"data/.config/blender"
"data/.local/share/krita"
];
};
}

View file

@ -11,11 +11,11 @@
shellAliases.seneca = "ssh jhampton1@matrix.senecapolytechnic.ca";
persistence."/persist${config.home.homeDirectory}".directories = [
".cache/gpclient"
".config/com.yuezk.qt"
".config/remmina"
".config/teams-for-linux"
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
"school/.cache/gpclient"
"school/.config/com.yuezk.qt"
"school/.config/remmina"
"school/.config/teams-for-linux"
];
};
}

View file

@ -5,5 +5,5 @@
nix-direnv.enable = true;
};
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".local/share/direnv" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "data/.local/share/direnv" ];
}

View file

@ -1,5 +1,5 @@
{ config, ... }:
{
programs.lazygit.enable = true;
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".local/state/lazygit" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.local/state/lazygit" ];
}

View file

@ -115,6 +115,6 @@
home = {
sessionVariables.MANPAGER = "nvim +Man!";
persistence."/persist${config.home.homeDirectory}".directories = [ ".local/share/nvim/undo" ];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.local/share/nvim/undo" ];
};
}

View file

@ -2,5 +2,5 @@
{
programs.nix-index.enable = true;
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".cache/nix-index" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "nix/.cache/nix-index" ];
}

View file

@ -4,6 +4,6 @@
home = {
shellAliases.cd = "z";
persistence."/persist${config.home.homeDirectory}".directories = [ ".local/share/zoxide" ];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.local/share/zoxide" ];
};
}

View file

@ -26,5 +26,5 @@
'';
};
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".config/zsh" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.config/zsh" ];
}

View file

@ -1,7 +1,9 @@
{ ... }:
{ config, ... }:
{
services.gpg-agent = {
enable = true;
enableSshSupport = true;
};
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "secure/.gnupg" ];
}

View file

@ -18,6 +18,6 @@
mpd-discord-rpc.enable = true;
};
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".local/share/mpd" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.local/share/mpd" ];
};
}

View file

@ -1,14 +1,10 @@
{ config, lib, ... }:
{
config = lib.mkIf config.home.desktop.enable {
dconf.settings = {
"org/gnome/desktop/interface/color-scheme".color-scheme = "prefer-dark";
"org/virt-manager/virt-manager/connections" = {
autoconnect = [ "qemu:///system" ];
uris = [ "qemu:///system" ];
};
dconf.settings = lib.mkIf config.home.desktop.enable {
"org/gnome/desktop/interface/color-scheme".color-scheme = "prefer-dark";
"org/virt-manager/virt-manager/connections" = {
autoconnect = [ "qemu:///system" ];
uris = [ "qemu:///system" ];
};
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".config/dconf" ];
};
}

View file

@ -2,23 +2,24 @@
{
imports = [ impermanence.homeManagerModules.default ];
home.persistence."/persist${config.home.homeDirectory}" = {
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}" = {
enable = !config.targets.genericLinux.enable;
directories = [
"Keepers"
"Projects"
".gnupg"
".local/state/nix/profiles"
".ssh"
] ++ (if config.home.desktop.enable then [
"Documents"
"Photos"
"Videos"
"Games"
".local/state/wireplumber"
] else []);
allowOther = false;
removePrefixDirectory = true;
directories = [
"home/Keepers"
"home/Projects"
"nix/.local/state/nix/profiles"
"secure/.ssh"
] ++ (if config.home.desktop.enable then [
"home/Documents"
"home/Games"
"home/Photos"
"home/Videos"
"secure/.pki"
"state/.local/state/wireplumber"
] else []);
};
}

View file

@ -10,6 +10,9 @@
publicShare = null;
templates = null;
extraConfig.XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
extraConfig = {
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
XDG_PERSIST_DIR = "/persist${config.home.homeDirectory}";
};
};
}