1
1
Fork 1
mirror of https://github.com/oddlama/nix-config.git synced 2025-10-10 23:00:39 +02:00

refactor: move impermanence config to application definition where possible

This commit is contained in:
oddlama 2023-09-10 12:39:42 +02:00
parent 8990a63a1e
commit 69b0166a6b
No known key found for this signature in database
GPG key ID: 14EFE510775FE39A
8 changed files with 62 additions and 54 deletions

View file

@ -1,7 +1,7 @@
{
config,
nixosConfig,
lib,
nixosConfig,
...
}: let
inherit (lib) optionals;
@ -20,17 +20,6 @@ in {
".cache/nix" # nix eval cache
".cache/nix-index"
]
++ optionals config.programs.firefox.enable [
".cache/mozilla"
]
++ optionals config.programs.direnv.enable [
".local/share/direnv"
]
++ optionals config.programs.neovim.enable [
".local/share/nvim"
".local/state/nvim"
".cache/nvim"
]
++ optionals nixosConfig.hardware.nvidia.modesetting.enable [
".cache/nvidia" # GLCache
]
@ -42,9 +31,7 @@ in {
[
".local/share/nix" # Repl history
]
++ optionals config.programs.firefox.enable [
".mozilla"
]
# TODO away once atuin is gone
++ optionals config.programs.atuin.enable [
".local/share/atuin"
]

View file

@ -6,4 +6,10 @@
vimdiffAlias = true;
defaultEditor = true;
};
home.persistence."/state".directories = [
".local/share/nvim"
".local/state/nvim"
".cache/nvim"
];
}

View file

@ -29,11 +29,11 @@ in {
home-manager.users.${myuser} = {
imports = [
../common
./dev
./graphical
./neovim
./git.nix
./dev.nix
./gpg.nix
./ssh.nix
];

View file

@ -1,37 +0,0 @@
{pkgs, ...}: {
home = {
extraOutputsToInstall = ["doc" "devdoc"];
file.gdbinit = {
target = ".gdbinit";
text = ''
set auto-load safe-path /
'';
};
packages = with pkgs; [
git-lfs
d2
cloc
];
};
programs = {
direnv = {
enable = true;
nix-direnv.enable = true;
# Store layout configs in an XDG directory and not in a .direnv local directory
stdlib = ''
: ''${XDG_CACHE_HOME:=$HOME/.cache}
declare -A direnv_layout_dirs
direnv_layout_dir() {
echo "''${direnv_layout_dirs[$PWD]:=$(
echo -n "$XDG_CACHE_HOME"/direnv/layouts/
echo -n "$PWD" | shasum | cut -d ' ' -f 1
)}"
}
'';
};
nix-index.enable = true;
};
}

View file

@ -0,0 +1,17 @@
{pkgs, ...}: {
imports = [
./direnv.nix
./gdb.nix
];
home = {
extraOutputsToInstall = ["doc" "devdoc"];
packages = with pkgs; [
git-lfs
d2
cloc
];
};
programs.nix-index.enable = true;
}

View file

@ -0,0 +1,22 @@
{
programs.direnv = {
enable = true;
nix-direnv.enable = true;
# Store layout configs in an XDG directory and not in a .direnv local directory
stdlib = ''
: ''${XDG_CACHE_HOME:=$HOME/.cache}
declare -A direnv_layout_dirs
direnv_layout_dir() {
echo "''${direnv_layout_dirs[$PWD]:=$(
echo -n "$XDG_CACHE_HOME"/direnv/layouts/
echo -n "$PWD" | shasum | cut -d ' ' -f 1
)}"
}
'';
};
home.persistence."/state".directories = [
".local/share/direnv"
];
}

8
users/myuser/dev/gdb.nix Normal file
View file

@ -0,0 +1,8 @@
{
home.file.gdbinit = {
target = ".gdbinit";
text = ''
set auto-load safe-path /
'';
};
}

View file

@ -150,7 +150,7 @@ in {
"dom.push.connection.enabled" = false;
"dom.battery.enabled" = false; # you don't need to see my battery...
"dom.event.clipboardevents.enabled" = false; # the clipboard is mine, no info leak, except when i want to paste
"dom.event.contextmenu.enabled" = false; # no disabling right-clicking..
# "dom.event.contextmenu.enabled" = false; # no disabling right-clicking..
};
search = {
@ -258,9 +258,14 @@ in {
};
home.persistence."/state".directories = [
".cache/mozilla"
"Downloads"
];
home.persistence."/persist".directories = [
".mozilla"
];
xdg.mimeApps.defaultApplications = {
"text/html" = ["firefox.desktop"];
"text/xml" = ["firefox.desktop"];