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
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,14 +1,18 @@
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
{
programs.obs-studio = {
enable = config.home.production.enable;
plugins = with pkgs.obs-studio-plugins; [
looking-glass-obs
obs-multi-rtmp
obs-pipewire-audio-capture
obs-tuna
obs-vkcapture
obs-webkitgtk
];
config = lib.mkIf config.home.production.enable {
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
looking-glass-obs
obs-multi-rtmp
obs-pipewire-audio-capture
obs-tuna
obs-vkcapture
obs-webkitgtk
];
};
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".config/obs-studio" ];
};
}

View file

@ -1,60 +1,64 @@
{ config, ... }:
{ config, lib, ... }:
{
programs.thunderbird = {
enable = config.home.desktop.enable;
profiles = {
Main = {
isDefault = true;
userContent = ''
*{scrollbar-width:none !important}
'';
settings = {
"general.autoScroll" = true;
config = lib.mkIf config.home.desktop.enable {
programs.thunderbird = {
enable = config.home.desktop.enable;
profiles = {
Main = {
isDefault = true;
userContent = ''
*{scrollbar-width:none !important}
'';
settings = {
"general.autoScroll" = true;
"security.mixed_content.block_active_content" = true;
"security.mixed_content.block_display_content" = true;
"security.mixed_content.block_active_content" = true;
"security.mixed_content.block_display_content" = true;
"extensions.enabled" = false;
"extensions.autoDisableScopes" = 0;
"extensions.allow-non-mpc-extensions" = false;
"extensions.installDistroAddons" = false;
"extensions.getAddons.cache.enabled" = false;
"extensions.blocklist.enabled" = true;
"extensions.webextensions.userSelection" = false;
"extensions.checkCompatibility" = false;
"extensions.allowRemoteAddons" = false;
"extensions.ui.enabled" = false;
"extensions.ui.useSystemTheme" = true;
"extensions.activeThemeID" = "thunderbird-compact-dark@mozilla.org";
"extensions.enabled" = false;
"extensions.autoDisableScopes" = 0;
"extensions.allow-non-mpc-extensions" = false;
"extensions.installDistroAddons" = false;
"extensions.getAddons.cache.enabled" = false;
"extensions.blocklist.enabled" = true;
"extensions.webextensions.userSelection" = false;
"extensions.checkCompatibility" = false;
"extensions.allowRemoteAddons" = false;
"extensions.ui.enabled" = false;
"extensions.ui.useSystemTheme" = true;
"extensions.activeThemeID" = "thunderbird-compact-dark@mozilla.org";
"privacy.clearOnShutdown.cookies" = true;
"privacy.clearOnShutdown.cache" = true;
"privacy.clearOnShutdown.formdata" = true;
"privacy.clearOnShutdown.siteSettings" = true;
"privacy.trackingprotection.enabled" = true;
"privacy.firstparty.isolate" = true;
"privacy.donottrackheader.enabled" = true;
"privacy.resistFingerprinting" = true;
"privacy.clearOnShutdown.cookies" = true;
"privacy.clearOnShutdown.cache" = true;
"privacy.clearOnShutdown.formdata" = true;
"privacy.clearOnShutdown.siteSettings" = true;
"privacy.trackingprotection.enabled" = true;
"privacy.firstparty.isolate" = true;
"privacy.donottrackheader.enabled" = true;
"privacy.resistFingerprinting" = true;
"browser.history.enabled" = false;
"browser.sessionstore.privacy_level" = 2;
"browser.tabs.warnOnClose" = false;
"browser.shell.checkDefaultBrowser" = false;
"browser.urlbar.suggest.openpage" = false;
"browser.urlbar.suggest.bookmark" = false;
"browser.urlbar.suggest.history" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.suggest.topsites" = false;
"browser.download.promptForDownload" = true;
"browser.history.enabled" = false;
"browser.sessionstore.privacy_level" = 2;
"browser.tabs.warnOnClose" = false;
"browser.shell.checkDefaultBrowser" = false;
"browser.urlbar.suggest.openpage" = false;
"browser.urlbar.suggest.bookmark" = false;
"browser.urlbar.suggest.history" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.suggest.topsites" = false;
"browser.download.promptForDownload" = true;
"network.cookie.cookieBehavior" = 1;
"network.dns.dnsOverHttps.enabled" = true;
"network.http.speculative-parallel-limit" = 0;
"network.http.pipelining" = false;
"network.predictor.enabled" = false;
"network.cookie.lifetimePolicy" = 2;
};
"network.cookie.cookieBehavior" = 1;
"network.dns.dnsOverHttps.enabled" = true;
"network.http.speculative-parallel-limit" = 0;
"network.http.pipelining" = false;
"network.predictor.enabled" = false;
"network.cookie.lifetimePolicy" = 2;
};
};
};
};
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".thunderbird" ];
};
}

View file

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

View file

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

View file

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

View file

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

View file

@ -7,10 +7,8 @@
extraConfig.safe.directory = "/etc/nixos";
};
programs.lazygit.enable = true;
home.packages = with pkgs; [
gnupg
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>
'';
};
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".local/share/nvim/undo" ];
}

View file

@ -1,4 +1,5 @@
{ ... }:
{ config, ... }:
{
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 = {
enable = true;
@ -25,4 +25,6 @@
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 = [
./easyeffects
./gnome-keyring
./impermanence
./mpd
./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,19 +1,23 @@
{ config, lib, ... }:
{
services = lib.mkIf config.home.desktop.enable {
mpd = {
enable = true;
network.startWhenNeeded = true;
musicDirectory = "${config.home.homeDirectory}/Network/Midas/Music/NixBops";
playlistDirectory = "${config.services.mpd.musicDirectory}/Playlists";
extraConfig = ''
audio_output {
type "pipewire"
name "Local Pipewire"
}
'';
config = lib.mkIf config.home.desktop.enable {
services = {
mpd = {
enable = true;
network.startWhenNeeded = true;
musicDirectory = "${config.home.homeDirectory}/Network/Midas/Music/NixBops";
playlistDirectory = "${config.services.mpd.musicDirectory}/Playlists";
extraConfig = ''
audio_output {
type "pipewire"
name "Local Pipewire"
}
'';
};
mpd-mpris.enable = true;
mpd-discord-rpc.enable = true;
};
mpd-mpris.enable = true;
mpd-discord-rpc.enable = true;
home.persistence."/persist${config.home.homeDirectory}".directories = [ ".local/share/mpd" ];
};
}

View file

@ -1,8 +1,13 @@
{ impermanence, ... }:
{
imports = [
./main
./root
impermanence.nixosModules.impermanence
];
imports = [ impermanence.nixosModules.impermanence ];
environment.persistence."/persist" = {
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 ];
@ -9,8 +9,9 @@
inherit
stable
unstable
nur
blender
impermanence
nur
;
};
};