Move all the individual stored impermanence folders to specific files

This commit is contained in:
Bun 2025-04-29 20:54:29 -04:00
parent 57201099fb
commit dbd5ea69cd
19 changed files with 178 additions and 160 deletions

View file

@ -238,6 +238,9 @@
}; };
# Symlinks to Librewolf # Symlinks to Librewolf
home.file.".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/firefox"; home = {
file.".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/firefox";
persistence."/persist${config.home.homeDirectory}".directories = [ ".mozilla" ];
};
}; };
} }

View file

@ -1,7 +1,8 @@
{ config, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
config = lib.mkIf config.home.production.enable {
programs.obs-studio = { programs.obs-studio = {
enable = config.home.production.enable; enable = true;
plugins = with pkgs.obs-studio-plugins; [ plugins = with pkgs.obs-studio-plugins; [
looking-glass-obs looking-glass-obs
obs-multi-rtmp obs-multi-rtmp
@ -11,4 +12,7 @@
obs-webkitgtk obs-webkitgtk
]; ];
}; };
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".config/obs-studio" ];
};
} }

View file

@ -1,5 +1,6 @@
{ config, ... }: { config, lib, ... }:
{ {
config = lib.mkIf config.home.desktop.enable {
programs.thunderbird = { programs.thunderbird = {
enable = config.home.desktop.enable; enable = config.home.desktop.enable;
profiles = { profiles = {
@ -57,4 +58,7 @@
}; };
}; };
}; };
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".thunderbird" ];
};
} }

View file

@ -1,14 +1,22 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
home.packages = with pkgs; lib.mkIf config.home.gaming.enable [ config = lib.mkIf config.home.gaming.enable {
home.packages = with pkgs; [
heroic heroic
prismlauncher prismlauncher
steam steam
steam-run-free steam-run-free
]; ];
home.persistence."/persist${config.home.homeDirectory}".directories = [
".config/heroic"
".local/share/PrismLauncher"
".local/share/Steam"
];
nixpkgs.allowUnfreePackages = [ nixpkgs.allowUnfreePackages = [
"steam" "steam"
"steam-unwrapped" "steam-unwrapped"
]; ];
};
} }

View file

@ -1,8 +1,11 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
home.packages = with pkgs; lib.mkIf config.home.desktop.enable [ home = lib.mkIf config.home.desktop.enable {
packages = with pkgs; [
libreoffice libreoffice
qbittorrent qbittorrent
vesktop vesktop
]; ];
persistence."/persist${config.home.homeDirectory}".directories = [ ".config/vesktop" ];
};
} }

View file

@ -1,11 +1,17 @@
{ config, lib, pkgs, blender, ... }: { config, lib, pkgs, blender, ... }:
{ {
config = lib.mkIf config.home.production.enable {
nixpkgs.overlays = [ blender.overlays.default ]; nixpkgs.overlays = [ blender.overlays.default ];
home.packages = with pkgs; [
home = lib.mkIf config.home.production.enable {
packages = with pkgs; [
audacity audacity
blender_4_4 blender_4_4
krita krita
]; ];
persistence."/persist${config.home.homeDirectory}".directories = [
".config/audacity"
".config/blender"
".local/share/krita"
];
}; };
} }

View file

@ -7,6 +7,7 @@
./eza ./eza
./fastfetch ./fastfetch
./git ./git
./lazygit
./ncmpcpp ./ncmpcpp
./neovim ./neovim
./nh ./nh

View file

@ -7,10 +7,8 @@
extraConfig.safe.directory = "/etc/nixos"; extraConfig.safe.directory = "/etc/nixos";
}; };
programs.lazygit.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
gnupg
git-crypt git-crypt
gnupg
]; ];
} }

View file

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

View file

@ -110,4 +110,6 @@
nmap <C-a> :NERDTreeToggleVCS<CR> nmap <C-a> :NERDTreeToggleVCS<CR>
''; '';
}; };
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".local/share/nvim/undo" ];
} }

View file

@ -1,4 +1,5 @@
{ ... }: { config, ... }:
{ {
programs.nix-index.enable = true; programs.nix-index.enable = true;
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".cache/nix-index" ];
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { config, pkgs, ... }:
{ {
programs.zsh = { programs.zsh = {
enable = true; enable = true;
@ -25,4 +25,6 @@
source ${pkgs.zsh-you-should-use}/share/zsh/plugins/you-should-use/you-should-use.plugin.zsh source ${pkgs.zsh-you-should-use}/share/zsh/plugins/you-should-use/you-should-use.plugin.zsh
''; '';
}; };
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".config/zsh" ];
} }

View file

@ -3,6 +3,7 @@
imports = [ imports = [
./easyeffects ./easyeffects
./gnome-keyring ./gnome-keyring
./impermanence
./mpd ./mpd
./playerctl ./playerctl
]; ];

View file

@ -0,0 +1,24 @@
{ config, impermanence, ... }:
{
imports = [ impermanence.homeManagerModules.impermanence ];
home.persistence."/persist${config.home.homeDirectory}" = {
directories = [
"Keepers"
"Projects"
"Documents"
"Pictures"
"Videos"
"Games"
"VMs"
".ssh"
".gnupg"
".config/sunshine"
".local/share/keyrings"
".local/state/wireplumber"
];
allowOther = false;
};
}

View file

@ -1,6 +1,7 @@
{ config, lib, ... }: { config, lib, ... }:
{ {
services = lib.mkIf config.home.desktop.enable { config = lib.mkIf config.home.desktop.enable {
services = {
mpd = { mpd = {
enable = true; enable = true;
network.startWhenNeeded = true; network.startWhenNeeded = true;
@ -16,4 +17,7 @@
mpd-mpris.enable = true; mpd-mpris.enable = true;
mpd-discord-rpc.enable = true; mpd-discord-rpc.enable = true;
}; };
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".local/share/mpd" ];
};
} }

View file

@ -1,8 +1,13 @@
{ impermanence, ... }: { impermanence, ... }:
{ {
imports = [ imports = [ impermanence.nixosModules.impermanence ];
./main
./root environment.persistence."/persist" = {
impermanence.nixosModules.impermanence hideMounts = true;
directories = [
"/storage"
"/var/lib/nixos"
]; ];
files = [ "/etc/machine-id" ];
};
} }

View file

@ -1,43 +0,0 @@
{ config, ... }:
{
environment.persistence."/persist" = {
hideMounts = true;
users.${config.sysusers.main} = {
directories = [
"Keepers"
"Projects"
"Documents"
"Pictures"
"Videos"
"Games"
"VMs"
".mozilla"
".thunderbird"
".config/blender"
".config/dconf"
".config/heroic"
".config/obs-studio"
".config/sunshine"
".config/vesktop"
".config/zsh"
".local/share/PrismLauncher"
".local/share/Steam"
".local/share/TelegramDesktop"
".local/share/mpd"
".local/share/nvim/undo"
".local/state/lazygit"
".local/state/wireplumber"
".cache/nix-index"
{ directory = ".ssh"; mode = "0700"; }
{ directory = ".gnupg"; mode = "0700"; }
{ directory = ".local/share/keyrings"; mode = "0700"; }
];
};
};
}

View file

@ -1,11 +0,0 @@
{ ... }:
{
environment.persistence."/persist" = {
hideMounts = true;
directories = [
"/storage"
"/var/lib/nixos"
];
files = [ "/etc/machine-id" ];
};
}

View file

@ -1,4 +1,4 @@
{ hm, stable, unstable, nur, blender, ... }: { hm, stable, unstable, blender, impermanence, nur, ... }:
{ {
imports = [ hm.nixosModules.home-manager ]; imports = [ hm.nixosModules.home-manager ];
@ -9,8 +9,9 @@
inherit inherit
stable stable
unstable unstable
nur
blender blender
impermanence
nur
; ;
}; };
}; };