Added impermanence to home manager
This commit is contained in:
@@ -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";
|
||||||
|
|||||||
@@ -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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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; };
|
||||||
|
|||||||
+27
-20
@@ -2,6 +2,7 @@
|
|||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
|
primaryUser,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
@@ -20,26 +21,32 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home = {
|
||||||
git
|
packages = with pkgs; [
|
||||||
git-lfs
|
git
|
||||||
openssh
|
git-lfs
|
||||||
];
|
openssh
|
||||||
|
];
|
||||||
|
|
||||||
home.activation.obsidianVault = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
persistence."/persist/home/${primaryUser}".directories = [
|
||||||
export PATH="${gitBin}:${gitLfsBin}:$PATH"
|
"Notes"
|
||||||
export GIT_SSH_COMMAND="${sshBinary} -o StrictHostKeyChecking=accept-new"
|
];
|
||||||
export GIT_LFS_SKIP_SMUDGE=1
|
|
||||||
|
|
||||||
if [ ! -d "${vaultPath}/.git" ]; then
|
activation.obsidianVault = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||||
echo "Cloning Obsidian vault (LFS objects will be pulled separately)..."
|
export PATH="${gitBin}:${gitLfsBin}:$PATH"
|
||||||
${gitBin}/git clone "${vaultRepo}" "${vaultPath}"
|
export GIT_SSH_COMMAND="${sshBinary} -o StrictHostKeyChecking=accept-new"
|
||||||
${gitLfsBin}/git-lfs install --local "${vaultPath}"
|
export GIT_LFS_SKIP_SMUDGE=1
|
||||||
${gitBin}/git -C "${vaultPath}" lfs pull
|
|
||||||
else
|
if [ ! -d "${vaultPath}/.git" ]; then
|
||||||
echo "Pulling latest changes for Obsidian vault..."
|
echo "Cloning Obsidian vault (LFS objects will be pulled separately)..."
|
||||||
${gitBin}/git -C "${vaultPath}" pull
|
${gitBin}/git clone "${vaultRepo}" "${vaultPath}"
|
||||||
${gitBin}/git -C "${vaultPath}" lfs pull
|
${gitLfsBin}/git-lfs install --local "${vaultPath}"
|
||||||
fi
|
${gitBin}/git -C "${vaultPath}" lfs pull
|
||||||
'';
|
else
|
||||||
|
echo "Pulling latest changes for Obsidian vault..."
|
||||||
|
${gitBin}/git -C "${vaultPath}" pull
|
||||||
|
${gitBin}/git -C "${vaultPath}" lfs pull
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+33
-42
@@ -2,26 +2,43 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
isDarwin,
|
isDarwin,
|
||||||
lib,
|
lib,
|
||||||
|
primaryUser,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home = {
|
||||||
eza # ls replacement
|
packages = with pkgs; [
|
||||||
tdf # terminal pdf viewer
|
eza # ls replacement
|
||||||
jq # json parser
|
tdf # terminal pdf viewer
|
||||||
fastfetch # system stats
|
jq # json parser
|
||||||
tabiew # Table viewer
|
fastfetch # system stats
|
||||||
glow # MD Viewer
|
tabiew # Table viewer
|
||||||
fd # find alternative
|
glow # MD Viewer
|
||||||
bat # cat alternative
|
fd # find alternative
|
||||||
ripgrep # grep alternative
|
bat # cat alternative
|
||||||
dnsutils
|
ripgrep # grep alternative
|
||||||
|
dnsutils
|
||||||
|
|
||||||
# Fun stuff
|
# Fun stuff
|
||||||
zoxide
|
zoxide
|
||||||
lolcat
|
lolcat
|
||||||
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 = {
|
||||||
@@ -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
@@ -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};
|
||||||
|
|||||||
Reference in New Issue
Block a user