diff --git a/home/default.nix b/home/default.nix index e218ece7..35a3e5e6 100644 --- a/home/default.nix +++ b/home/default.nix @@ -17,6 +17,7 @@ rc = lib.mkMerge [ { development.ai.enable = true; + development.shell.enable = true; editor.enable = true; git.enable = true; ssh.enable = true; diff --git a/home/secrets/atuin-key.age b/home/secrets/atuin-key.age new file mode 100644 index 00000000..66023939 Binary files /dev/null and b/home/secrets/atuin-key.age differ diff --git a/lib/secrets/home.nix b/lib/secrets/home.nix index 0da6c71c..16fab9a1 100644 --- a/lib/secrets/home.nix +++ b/lib/secrets/home.nix @@ -2,4 +2,5 @@ let keys = with (import ../keys.nix); [home Rhizome]; in { "home/secrets/aichat-env.age".publicKeys = keys; + "home/secrets/atuin-key.age".publicKeys = keys; } diff --git a/modules/home/development.nix b/modules/home/development.nix index 92111297..14fa5a98 100644 --- a/modules/home/development.nix +++ b/modules/home/development.nix @@ -22,6 +22,10 @@ in { javascript = { enable = lib.mkEnableOption "JavaScript development tooling"; }; + + shell = { + enable = lib.mkEnableOption "shell development tooling"; + }; }; }; @@ -174,6 +178,24 @@ in { ]; }) + (mkIf cfg.shell.enable { + age.secrets.atuin-key.file = ../../home/secrets/atuin-key.age; + + programs.atuin = { + enable = true; + enableZshIntegration = true; + flags = ["--disable-up-arrow"]; + settings = { + auto_sync = true; + sync_address = "http://glyph:8889"; + key_path = config.age.secrets.atuin-key.path; + update_check = false; + style = "compact"; + inline_height = 20; + }; + }; + }) + (mkIf cfg.javascript.enable { home.packages = with pkgs; let nodejs = nodejs_24;