Update home impermanence to be in the style of GNU Stow
This commit is contained in:
parent
968ae4631c
commit
66502988ef
22 changed files with 72 additions and 64 deletions
0
.nvimlog
Normal file
0
.nvimlog
Normal file
|
@ -1,30 +1,31 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
fileSystems = {
|
||||
"/persist/storage" = {
|
||||
device = "/dev/disk/by-uuid/d0d6783f-ad51-4d85-b8a9-3374f6460ef6";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"nofail"
|
||||
"nosuid"
|
||||
];
|
||||
};
|
||||
|
||||
# Network mounts
|
||||
"/home/${config.sysusers.main}/Network/Midas" = {
|
||||
device = "sv.nixfox.ca:/storage";
|
||||
fsType = "nfs4";
|
||||
options = [
|
||||
"noatime"
|
||||
"noauto"
|
||||
"soft"
|
||||
"x-systemd.automount"
|
||||
];
|
||||
};
|
||||
"/home/${config.sysusers.main}/Network/Kitty" = {
|
||||
device = "sv.nixfox.ca:/storage/bun";
|
||||
fsType = "nfs4";
|
||||
options = [
|
||||
"noauto"
|
||||
"port=2050"
|
||||
"soft"
|
||||
"x-systemd.automount"
|
||||
];
|
||||
};
|
||||
"/home/${config.sysusers.main}/Network/Prophet" = {
|
||||
device = "mx.nixfox.ca:/storage";
|
||||
fsType = "nfs4";
|
||||
options = [
|
||||
"noatime"
|
||||
"noauto"
|
||||
"soft"
|
||||
"x-systemd.automount"
|
||||
|
|
|
@ -45,7 +45,10 @@
|
|||
"/etc/NetworkManager/system-connections"
|
||||
"/var/lib/decky-loader"
|
||||
];
|
||||
users.${config.sysusers.main}.directories = [ ".steam" ];
|
||||
users.${config.sysusers.main}.directories = [
|
||||
".config/dconf"
|
||||
".steam"
|
||||
];
|
||||
};
|
||||
gnome.excludePackages = with pkgs; [
|
||||
adwaita-icon-theme
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
"nosuid"
|
||||
];
|
||||
};
|
||||
|
||||
# Network mounts
|
||||
"/home/${config.sysusers.main}/Network/Midas" = {
|
||||
device = "11.0.0.1:/storage";
|
||||
fsType = "nfs4";
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -59,6 +59,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".thunderbird" ];
|
||||
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "browser/.thunderbird" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{ ... }:
|
||||
{ config, ... }:
|
||||
{
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
enableSshSupport = true;
|
||||
};
|
||||
|
||||
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "secure/.gnupg" ];
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,14 +1,10 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
config = lib.mkIf config.home.desktop.enable {
|
||||
dconf.settings = {
|
||||
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" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 []);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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}";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue