Added impermanence to home manager

This commit is contained in:
2026-06-30 00:27:15 +02:00
parent f1c99682ac
commit a0f6f9052b
9 changed files with 93 additions and 111 deletions
-6
View File
@@ -8,12 +8,6 @@ in
packages = with pkgs; [ packages = with pkgs; [
adwaita-icon-theme adwaita-icon-theme
]; ];
#pointerCursor = {
# gtk.enable = true;
# name = "catppuccin-mocha-sapphire-cursors";
# package = pkgs.catppuccin-cursors.mochaSapphire;
# size = 24;
#};
file = { file = {
".config/gtk-4.0/gtk.css".source = "${theme}/share/themes/${theme_name}/gtk-4.0/gtk.css"; ".config/gtk-4.0/gtk.css".source = "${theme}/share/themes/${theme_name}/gtk-4.0/gtk.css";
".config/gtk-4.0/gtk-dark.css".source = "${theme}/share/themes/${theme_name}/gtk-4.0/gtk-dark.css"; ".config/gtk-4.0/gtk-dark.css".source = "${theme}/share/themes/${theme_name}/gtk-4.0/gtk-dark.css";
+4 -2
View File
@@ -13,12 +13,14 @@
// (import ./dual.nix { inherit compositor; }) // (import ./dual.nix { inherit compositor; })
); );
home.packages = lib.mkIf (!pkgs.stdenv.isDarwin) (with pkgs; [ cava ]); home = {
packages = lib.mkIf (!pkgs.stdenv.isDarwin) (with pkgs; [ cava ]);
home.file = lib.mkIf (!pkgs.stdenv.isDarwin) { file = lib.mkIf (!pkgs.stdenv.isDarwin) {
".config/waybar" = { ".config/waybar" = {
source = ./configs; source = ./configs;
recursive = true; recursive = true;
}; };
}; };
};
} }
-31
View File
@@ -1,31 +0,0 @@
{
widgets = {
"niri/workspaces" = {
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
"custom/swaync" = {
tooltip = false;
format = "{icon}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = " ";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = " ";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = " ";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = " ";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "swaync-client -t -sw";
on-click-right = "swaync-client -d -sw";
escape = true;
};
};
}
+5 -1
View File
@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, primaryUser, ... }:
let let
addons = pkgs.nur.repos.rycee.firefox-addons; addons = pkgs.nur.repos.rycee.firefox-addons;
readJson = path: builtins.readFile path; readJson = path: builtins.readFile path;
@@ -22,6 +22,10 @@ let
}; };
in in
{ {
home.persistence."/persist/home/${primaryUser}".directories = [
".mozilla/firefox/${primaryUser}"
];
programs.floorp = { programs.floorp = {
enable = true; enable = true;
+1 -4
View File
@@ -4,13 +4,10 @@
hideMounts = true; hideMounts = true;
directories = [ directories = [
".config/nix" ".config/nix"
".local/share/zoxide"
"Documents" "Documents"
"Downloads" "Downloads"
"Pictures" "Pictures"
]; ];
files = [
".local/share/fish/fish_history"
];
}; };
} }
+10 -1
View File
@@ -1,9 +1,18 @@
{ lib, inputs, ... }: {
lib,
inputs,
primaryUser,
...
}:
{ {
imports = [ imports = [
inputs.nixcord.homeModules.nixcord inputs.nixcord.homeModules.nixcord
]; ];
home.persistence."/persist/home/${primaryUser}".directories = [
".config/vesktop"
];
programs.nixcord = { programs.nixcord = {
enable = true; enable = true;
discord = lib.mkForce { enable = false; }; discord = lib.mkForce { enable = false; };
+9 -2
View File
@@ -2,6 +2,7 @@
config, config,
pkgs, pkgs,
lib, lib,
primaryUser,
... ...
}: }:
let let
@@ -20,13 +21,18 @@ in
}; };
}; };
home.packages = with pkgs; [ home = {
packages = with pkgs; [
git git
git-lfs git-lfs
openssh openssh
]; ];
home.activation.obsidianVault = lib.hm.dag.entryAfter [ "writeBoundary" ] '' persistence."/persist/home/${primaryUser}".directories = [
"Notes"
];
activation.obsidianVault = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
export PATH="${gitBin}:${gitLfsBin}:$PATH" export PATH="${gitBin}:${gitLfsBin}:$PATH"
export GIT_SSH_COMMAND="${sshBinary} -o StrictHostKeyChecking=accept-new" export GIT_SSH_COMMAND="${sshBinary} -o StrictHostKeyChecking=accept-new"
export GIT_LFS_SKIP_SMUDGE=1 export GIT_LFS_SKIP_SMUDGE=1
@@ -42,4 +48,5 @@ in
${gitBin}/git -C "${vaultPath}" lfs pull ${gitBin}/git -C "${vaultPath}" lfs pull
fi fi
''; '';
};
} }
+18 -27
View File
@@ -2,10 +2,12 @@
pkgs, pkgs,
isDarwin, isDarwin,
lib, lib,
primaryUser,
... ...
}: }:
{ {
home.packages = with pkgs; [ home = {
packages = with pkgs; [
eza # ls replacement eza # ls replacement
tdf # terminal pdf viewer tdf # terminal pdf viewer
jq # json parser jq # json parser
@@ -23,6 +25,21 @@
cmatrix cmatrix
]; ];
persistence = lib.mkIf (!isDarwin) {
"/persist/home/${primaryUser}" = {
directories = [ ".local/share/zoxide" ];
files = [ ".local/share/fish/fish_history" ];
};
};
file = {
".config/fastfetch/config.jsonc".source = ./fastfetch.jsonc;
".config/tabiew/theme.toml".source = ./tabiew.toml;
".config/kitty/tab_bar.py".source = ./tab_bar.py;
".hushlogin" = lib.mkIf isDarwin { text = ""; }; # Suppress Login
};
};
programs = { programs = {
kitty = { kitty = {
enable = true; enable = true;
@@ -243,30 +260,4 @@
}; };
}; };
home = {
file = {
".config/fastfetch/config.jsonc".source = ./fastfetch.jsonc;
".config/tabiew/theme.toml".source = ./tabiew.toml;
".config/kitty/tab_bar.py".source = ./tab_bar.py;
".hushlogin" = lib.mkIf isDarwin { text = ""; }; # Suppress Login
# Link LLM std template
".config/io.datasette.llm/templates/std.yaml".text = ''
system: |
You are a concise technical assistant running on an Intel Mac (x86_64-darwin)
with nix-darwin and home-manager.
Rules:
- Always respond in valid markdown
- Be concise and direct, no unnecessary explanation
- Prefer code blocks for commands and code
- You have access to these tools in the shell: nvim, fish, git,
eza, bat, ripgrep, fzf, yazi, glow, llm, zoxide, fastfetch,
nix, darwin-rebuild, brew
- When suggesting nix config changes, use the nix language
- nix-switch rebuilds the system config
- nix-check validates the flake without building
'';
};
};
} }
+10 -1
View File
@@ -1,9 +1,18 @@
{ pkgs, inputs, ... }: {
pkgs,
inputs,
primaryUser,
...
}:
{ {
imports = [ imports = [
inputs.spicetify-nix.homeManagerModules.default inputs.spicetify-nix.homeManagerModules.default
]; ];
home.persistence."/persist/home/${primaryUser}".directories = [
".config/spotify"
];
programs.spicetify = programs.spicetify =
let let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};