diff --git a/home/features/cli/direnv.nix b/home/features/cli/direnv.nix index 09a3edc..eea2ac3 100644 --- a/home/features/cli/direnv.nix +++ b/home/features/cli/direnv.nix @@ -1,4 +1,4 @@ -{ +{ config, ... }: { programs.direnv.enable = true; programs.direnv.nix-direnv.enable = true; @@ -8,4 +8,8 @@ # No more usesless logs DIRENV_LOG_FORMAT = ""; }; + + satellite.persistence.at.state.apps.direnv.directories = [ + "${config.xdg.dataHome}/direnv/allow" + ]; } diff --git a/home/features/cli/eza.nix b/home/features/cli/eza.nix index 22b0b3d..e917307 100644 --- a/home/features/cli/eza.nix +++ b/home/features/cli/eza.nix @@ -1,10 +1,12 @@ -{ upkgs, lib, ... }: { - # REASON: not yet in nixpkgs-stable - home.packages = [ upkgs.eza ]; +{ pkgs, lib, ... }: +let package = pkgs.eza; +in +{ + home.packages = [ package ]; # TODO: generalize alias creation to all shells programs.fish.shellAliases = - let eza = lib.getExe upkgs.eza; + let eza = lib.getExe package; in rec { ls = "${eza} --icons --long"; diff --git a/home/features/cli/fish/default.nix b/home/features/cli/fish/default.nix index 536b1d6..ba1eb12 100644 --- a/home/features/cli/fish/default.nix +++ b/home/features/cli/fish/default.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, config, ... }: { programs.fish = { enable = true; @@ -30,4 +30,9 @@ interactiveShellInit = builtins.readFile ./config.fish; }; + + satellite.persistence.at.state.apps.fish.directories = [ + "${config.xdg.dataHome}/fish" + "${config.xdg.dataHome}/z" # The z fish plugin + ]; } diff --git a/home/features/cli/tmux/default.nix b/home/features/cli/tmux/default.nix index 95cb191..30ff327 100644 --- a/home/features/cli/tmux/default.nix +++ b/home/features/cli/tmux/default.nix @@ -35,4 +35,8 @@ in source ${base16-tmux} ''; }; + + satellite.persistence.at.state.apps.tmux.directories = [ + ".tmux" + ]; } diff --git a/home/features/persistence.nix b/home/features/persistence.nix index e0848f3..ea56c30 100644 --- a/home/features/persistence.nix +++ b/home/features/persistence.nix @@ -15,34 +15,38 @@ ]; # }}} # {{{ Rust - satellite.persistence.at.cache.apps.Rust.directories = [ - #".cargo" - #".rustup" + satellite.persistence.at.cache.apps.rust.directories = [ + ".cargo" + ".rustup" ]; # }}} # {{{ Purescript - satellite.persistence.at.cache.apps.Purescript.directories = [ - #"${config.xdg.cacheHome}/spago" + satellite.persistence.at.cache.apps.purescript.directories = [ + "${config.xdg.dataHome}/purescript" + "${config.xdg.cacheHome}/spago" ]; # }}} # {{{ Nodejs - satellite.persistence.at.cache.apps.Node.directories = [ - #"${config.xdg.cacheHome}/yarn" - #"${config.xdg.dataHome}/pnpm" - ]; - # }}} - # {{{ Shell stuff - satellite.persistence.at.cache.apps.Shell.directories = [ - #"${config.xdg.dataHome}/fish" - #"${config.xdg.dataHome}/z" # The z fish plugin - #"${config.xdg.dataHome}/direnv/allow" - #".tmux" - ]; - # }}} - # {{{ Neovim - satellite.persistence.at.cache.apps.Neovim.directories = [ - # "${config.xdg.dataHome}/nvim" - ]; + satellite.persistence.at.cache.apps.nodejs = { + files = [ + # Yarn auto-generated file + ".yarnrc" + ]; + + directories = [ + # Node & npm + "${config.xdg.cacheHome}/node-gyp" + ".npm" + + # Yarn + "${config.xdg.cacheHome}/yarn" + + # Pnpm + "${config.xdg.cacheHome}/pnpm" + "${config.xdg.dataHome}/pnpm" + ".local/state/pnpm" + ]; + }; # }}} # {{{ SSH satellite.persistence.at.state.apps.Ssh.directories = [ @@ -91,9 +95,4 @@ # {{{ Wine satellite.persistence.at.state.apps.Wine.directories = [ ".wine" ]; # }}} - # # {{{ Syncthing - # satellite.persistence.at.state.apps.Syncthing.directories = [ - # "${config.xdg.configHome}/syncthing" # Syncthing config data - # ]; - # # }}} }