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, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
|
"/persist/storage" = {
|
||||||
|
device = "/dev/disk/by-uuid/d0d6783f-ad51-4d85-b8a9-3374f6460ef6";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"nofail"
|
||||||
|
"nosuid"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
# Network mounts
|
# Network mounts
|
||||||
"/home/${config.sysusers.main}/Network/Midas" = {
|
"/home/${config.sysusers.main}/Network/Midas" = {
|
||||||
device = "sv.nixfox.ca:/storage";
|
device = "sv.nixfox.ca:/storage";
|
||||||
fsType = "nfs4";
|
fsType = "nfs4";
|
||||||
options = [
|
options = [
|
||||||
|
"noatime"
|
||||||
"noauto"
|
"noauto"
|
||||||
"soft"
|
"soft"
|
||||||
"x-systemd.automount"
|
"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" = {
|
"/home/${config.sysusers.main}/Network/Prophet" = {
|
||||||
device = "mx.nixfox.ca:/storage";
|
device = "mx.nixfox.ca:/storage";
|
||||||
fsType = "nfs4";
|
fsType = "nfs4";
|
||||||
options = [
|
options = [
|
||||||
|
"noatime"
|
||||||
"noauto"
|
"noauto"
|
||||||
"soft"
|
"soft"
|
||||||
"x-systemd.automount"
|
"x-systemd.automount"
|
||||||
|
|
|
@ -45,7 +45,10 @@
|
||||||
"/etc/NetworkManager/system-connections"
|
"/etc/NetworkManager/system-connections"
|
||||||
"/var/lib/decky-loader"
|
"/var/lib/decky-loader"
|
||||||
];
|
];
|
||||||
users.${config.sysusers.main}.directories = [ ".steam" ];
|
users.${config.sysusers.main}.directories = [
|
||||||
|
".config/dconf"
|
||||||
|
".steam"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
gnome.excludePackages = with pkgs; [
|
gnome.excludePackages = with pkgs; [
|
||||||
adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
"nosuid"
|
"nosuid"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Network mounts
|
||||||
"/home/${config.sysusers.main}/Network/Midas" = {
|
"/home/${config.sysusers.main}/Network/Midas" = {
|
||||||
device = "11.0.0.1:/storage";
|
device = "11.0.0.1:/storage";
|
||||||
fsType = "nfs4";
|
fsType = "nfs4";
|
||||||
|
|
|
@ -242,7 +242,7 @@
|
||||||
".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/firefox";
|
".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/firefox";
|
||||||
".mozilla/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
|
||||||
steam-run-free
|
steam-run-free
|
||||||
];
|
];
|
||||||
persistence."/persist${config.home.homeDirectory}".directories = [
|
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
|
||||||
".config/heroic"
|
"games/.config/heroic"
|
||||||
".local/share/PrismLauncher"
|
"games/.local/share/PrismLauncher"
|
||||||
".local/share/Steam"
|
"games/.local/share/Steam"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,9 @@
|
||||||
qbittorrent
|
qbittorrent
|
||||||
vesktop
|
vesktop
|
||||||
];
|
];
|
||||||
persistence."/persist${config.home.homeDirectory}".directories = [
|
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
|
||||||
".config/qBittorrent"
|
"data/.config/qBittorrent"
|
||||||
".config/vesktop"
|
"data/.config/vesktop"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
blender_4_4
|
blender_4_4
|
||||||
krita
|
krita
|
||||||
];
|
];
|
||||||
persistence."/persist${config.home.homeDirectory}".directories = [
|
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
|
||||||
".config/audacity"
|
"data/.config/audacity"
|
||||||
".config/blender"
|
"data/.config/blender"
|
||||||
".local/share/krita"
|
"data/.local/share/krita"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
|
|
||||||
shellAliases.seneca = "ssh jhampton1@matrix.senecapolytechnic.ca";
|
shellAliases.seneca = "ssh jhampton1@matrix.senecapolytechnic.ca";
|
||||||
|
|
||||||
persistence."/persist${config.home.homeDirectory}".directories = [
|
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
|
||||||
".cache/gpclient"
|
"school/.cache/gpclient"
|
||||||
".config/com.yuezk.qt"
|
"school/.config/com.yuezk.qt"
|
||||||
".config/remmina"
|
"school/.config/remmina"
|
||||||
".config/teams-for-linux"
|
"school/.config/teams-for-linux"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
nix-direnv.enable = true;
|
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, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
programs.lazygit.enable = true;
|
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 = {
|
home = {
|
||||||
sessionVariables.MANPAGER = "nvim +Man!";
|
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;
|
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 = {
|
home = {
|
||||||
shellAliases.cd = "z";
|
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 = {
|
services.gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSshSupport = true;
|
enableSshSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "secure/.gnupg" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,6 @@
|
||||||
mpd-discord-rpc.enable = true;
|
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, ... }:
|
||||||
{
|
{
|
||||||
config = lib.mkIf config.home.desktop.enable {
|
dconf.settings = lib.mkIf config.home.desktop.enable {
|
||||||
dconf.settings = {
|
"org/gnome/desktop/interface/color-scheme".color-scheme = "prefer-dark";
|
||||||
"org/gnome/desktop/interface/color-scheme".color-scheme = "prefer-dark";
|
"org/virt-manager/virt-manager/connections" = {
|
||||||
"org/virt-manager/virt-manager/connections" = {
|
autoconnect = [ "qemu:///system" ];
|
||||||
autoconnect = [ "qemu:///system" ];
|
uris = [ "qemu:///system" ];
|
||||||
uris = [ "qemu:///system" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".config/dconf" ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,23 +2,24 @@
|
||||||
{
|
{
|
||||||
imports = [ impermanence.homeManagerModules.default ];
|
imports = [ impermanence.homeManagerModules.default ];
|
||||||
|
|
||||||
home.persistence."/persist${config.home.homeDirectory}" = {
|
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}" = {
|
||||||
enable = !config.targets.genericLinux.enable;
|
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;
|
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;
|
publicShare = null;
|
||||||
templates = 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