Преглед на файлове

feat: upgrade to NixOS 25.11 and enhance development environment

- Update nixpkgs and nix-darwin to 25.11 release
- Switch nixvim to main branch with unstable nixpkgs
- Add sesh session manager with tmux integration
- Configure fzf with ripgrep and bat previews
- Enhance tmux with focus events and sesh bindings
- Add Zofie profile to Zen browser containers
- Configure agenix for secrets management on meili
- Fix platform detection using stdenv.hostPlatform.system
- Add devenv to meili system packages
Zander Hawke преди 5 месеца
родител
ревизия
93d66f8900

+ 40 - 125
flake.lock

@@ -85,16 +85,16 @@
         ]
         ]
       },
       },
       "locked": {
       "locked": {
-        "lastModified": 1762912391,
-        "narHash": "sha256-4hpBE7bGd24SfD28rzMdUGXsLsNEYxCCrTipFdoqoNM=",
+        "lastModified": 1765066094,
+        "narHash": "sha256-0YSU35gfRFJzx/lTGgOt6ubP8K6LeW0vaywzNNqxkl4=",
         "owner": "lnl7",
         "owner": "lnl7",
         "repo": "nix-darwin",
         "repo": "nix-darwin",
-        "rev": "d76299b2cd01837c4c271a7b5186e3d5d8ebd126",
+        "rev": "688427b1aab9afb478ca07989dc754fa543e03d5",
         "type": "github"
         "type": "github"
       },
       },
       "original": {
       "original": {
         "owner": "lnl7",
         "owner": "lnl7",
-        "ref": "nix-darwin-25.05",
+        "ref": "nix-darwin-25.11",
         "repo": "nix-darwin",
         "repo": "nix-darwin",
         "type": "github"
         "type": "github"
       }
       }
@@ -131,11 +131,11 @@
         ]
         ]
       },
       },
       "locked": {
       "locked": {
-        "lastModified": 1765794845,
-        "narHash": "sha256-YD5QWlGnusNbZCqR3pxG8tRxx9yUXayLZfAJRWspq2s=",
+        "lastModified": 1766150702,
+        "narHash": "sha256-P0kM+5o+DKnB6raXgFEk3azw8Wqg5FL6wyl9jD+G5a4=",
         "owner": "nix-community",
         "owner": "nix-community",
         "repo": "disko",
         "repo": "disko",
-        "rev": "7194cfe5b7a3660726b0fe7296070eaef601cae9",
+        "rev": "916506443ecd0d0b4a0f4cf9d40a3c22ce39b378",
         "type": "github"
         "type": "github"
       },
       },
       "original": {
       "original": {
@@ -152,11 +152,11 @@
       },
       },
       "locked": {
       "locked": {
         "dir": "pkgs/firefox-addons",
         "dir": "pkgs/firefox-addons",
-        "lastModified": 1766117060,
-        "narHash": "sha256-wOPdAVKLiI1vE3IzNVR5mx0eM6Mf6+WWOsMETuKEyoU=",
+        "lastModified": 1766203416,
+        "narHash": "sha256-UrIuqnXvM+73owAiq1zjHNtaWrv72wD1yKO6jTowhTQ=",
         "owner": "rycee",
         "owner": "rycee",
         "repo": "nur-expressions",
         "repo": "nur-expressions",
-        "rev": "0f011296901c43d84590b262ce64259b79dee3ac",
+        "rev": "8b55bb199045aa79e2965b7482b04ee4773192e3",
         "type": "gitlab"
         "type": "gitlab"
       },
       },
       "original": {
       "original": {
@@ -227,11 +227,11 @@
         ]
         ]
       },
       },
       "locked": {
       "locked": {
-        "lastModified": 1765495779,
-        "narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=",
+        "lastModified": 1765835352,
+        "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
         "owner": "hercules-ci",
         "owner": "hercules-ci",
         "repo": "flake-parts",
         "repo": "flake-parts",
-        "rev": "5635c32d666a59ec9a55cab87e898889869f7b71",
+        "rev": "a34fae9c08a15ad73f295041fec82323541400a9",
         "type": "github"
         "type": "github"
       },
       },
       "original": {
       "original": {
@@ -240,24 +240,6 @@
         "type": "github"
         "type": "github"
       }
       }
     },
     },
-    "flake-utils": {
-      "inputs": {
-        "systems": "systems_2"
-      },
-      "locked": {
-        "lastModified": 1731533236,
-        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "type": "github"
-      }
-    },
     "git-hooks": {
     "git-hooks": {
       "inputs": {
       "inputs": {
         "flake-compat": [
         "flake-compat": [
@@ -377,11 +359,11 @@
         ]
         ]
       },
       },
       "locked": {
       "locked": {
-        "lastModified": 1765980955,
-        "narHash": "sha256-rB45jv4uwC90vM9UZ70plfvY/2Kdygs+zlQ07dGQFk4=",
+        "lastModified": 1766171975,
+        "narHash": "sha256-47Ee0bTidhF/3/sHuYnWRuxcCrrm0mBNDxBkOTd3wWQ=",
         "owner": "nix-community",
         "owner": "nix-community",
         "repo": "home-manager",
         "repo": "home-manager",
-        "rev": "89c9508bbe9b40d36b3dc206c2483ef176f15173",
+        "rev": "bb35f07cc95a73aacbaf1f7f46bb8a3f40f265b5",
         "type": "github"
         "type": "github"
       },
       },
       "original": {
       "original": {
@@ -406,34 +388,6 @@
         "type": "github"
         "type": "github"
       }
       }
     },
     },
-    "ixx": {
-      "inputs": {
-        "flake-utils": [
-          "nixvim",
-          "nuschtosSearch",
-          "flake-utils"
-        ],
-        "nixpkgs": [
-          "nixvim",
-          "nuschtosSearch",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1754860581,
-        "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
-        "owner": "NuschtOS",
-        "repo": "ixx",
-        "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
-        "type": "github"
-      },
-      "original": {
-        "owner": "NuschtOS",
-        "ref": "v0.1.1",
-        "repo": "ixx",
-        "type": "github"
-      }
-    },
     "nix": {
     "nix": {
       "inputs": {
       "inputs": {
         "flake-compat": [
         "flake-compat": [
@@ -491,43 +445,43 @@
     },
     },
     "nixpkgs": {
     "nixpkgs": {
       "locked": {
       "locked": {
-        "lastModified": 1766014764,
-        "narHash": "sha256-+73VffE5GP5fvbib6Hs1Su6LehG+9UV1Kzs90T2gBLA=",
+        "lastModified": 1765838191,
+        "narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=",
         "owner": "nixos",
         "owner": "nixos",
         "repo": "nixpkgs",
         "repo": "nixpkgs",
-        "rev": "2b0d2b456e4e8452cf1c16d00118d145f31160f9",
+        "rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6",
         "type": "github"
         "type": "github"
       },
       },
       "original": {
       "original": {
         "owner": "nixos",
         "owner": "nixos",
-        "ref": "nixos-25.05",
+        "ref": "nixos-25.11",
         "repo": "nixpkgs",
         "repo": "nixpkgs",
         "type": "github"
         "type": "github"
       }
       }
     },
     },
     "nixpkgs-darwin": {
     "nixpkgs-darwin": {
       "locked": {
       "locked": {
-        "lastModified": 1765945985,
-        "narHash": "sha256-duJghHCT45Q6xQGw+H1qXcMiVz0mQjBMq83FETGm9yY=",
+        "lastModified": 1766151767,
+        "narHash": "sha256-ai7QH3Kv2hZP90LADKpglwvlfGO7dTMOxh+9ZAwEFkM=",
         "owner": "nixos",
         "owner": "nixos",
         "repo": "nixpkgs",
         "repo": "nixpkgs",
-        "rev": "bc80944f6858c39d5cd06cbae1088a7f79924b41",
+        "rev": "7a0f7bfacda008fcd0ae46ef106d7c7dfe53596e",
         "type": "github"
         "type": "github"
       },
       },
       "original": {
       "original": {
         "owner": "nixos",
         "owner": "nixos",
-        "ref": "nixpkgs-25.05-darwin",
+        "ref": "nixpkgs-25.11-darwin",
         "repo": "nixpkgs",
         "repo": "nixpkgs",
         "type": "github"
         "type": "github"
       }
       }
     },
     },
     "nixpkgs-unstable": {
     "nixpkgs-unstable": {
       "locked": {
       "locked": {
-        "lastModified": 1766025857,
-        "narHash": "sha256-Lav5jJazCW4mdg1iHcROpuXqmM94BWJvabLFWaJVJp0=",
+        "lastModified": 1766747458,
+        "narHash": "sha256-m63jjuo/ygo8ztkCziYh5OOIbTSXUDkKbqw3Vuqu4a4=",
         "owner": "nixos",
         "owner": "nixos",
         "repo": "nixpkgs",
         "repo": "nixpkgs",
-        "rev": "def3da69945bbe338c373fddad5a1bb49cf199ce",
+        "rev": "c633f572eded8c4f3c75b8010129854ed404a6ce",
         "type": "github"
         "type": "github"
       },
       },
       "original": {
       "original": {
@@ -541,49 +495,25 @@
       "inputs": {
       "inputs": {
         "flake-parts": "flake-parts_2",
         "flake-parts": "flake-parts_2",
         "nixpkgs": [
         "nixpkgs": [
-          "nixpkgs"
+          "nixpkgs-unstable"
         ],
         ],
-        "nuschtosSearch": "nuschtosSearch",
-        "systems": "systems_3"
+        "systems": "systems_2"
       },
       },
       "locked": {
       "locked": {
-        "lastModified": 1765643213,
-        "narHash": "sha256-1JU2vcsRXwjrQoDpNc8+E13vLEu8MwLaVfBQ3ktWFUw=",
+        "lastModified": 1766721995,
+        "narHash": "sha256-2qZLSojZFP3AzbC6UNF3ASCIDLahNniR2XP7l/qINm4=",
         "owner": "nix-community",
         "owner": "nix-community",
         "repo": "nixvim",
         "repo": "nixvim",
-        "rev": "0e8b4ccf0a4e4e90f9ca39295e807628a6e575e6",
+        "rev": "66a5dc70e2d8433034bccdbb9c3c7bcecd86f9a6",
         "type": "github"
         "type": "github"
       },
       },
       "original": {
       "original": {
         "owner": "nix-community",
         "owner": "nix-community",
-        "ref": "nixos-25.05",
+        "ref": "main",
         "repo": "nixvim",
         "repo": "nixvim",
         "type": "github"
         "type": "github"
       }
       }
     },
     },
-    "nuschtosSearch": {
-      "inputs": {
-        "flake-utils": "flake-utils",
-        "ixx": "ixx",
-        "nixpkgs": [
-          "nixvim",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1761730856,
-        "narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=",
-        "owner": "NuschtOS",
-        "repo": "search",
-        "rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b",
-        "type": "github"
-      },
-      "original": {
-        "owner": "NuschtOS",
-        "repo": "search",
-        "type": "github"
-      }
-    },
     "root": {
     "root": {
       "inputs": {
       "inputs": {
         "agenix": "agenix",
         "agenix": "agenix",
@@ -605,11 +535,11 @@
     },
     },
     "secrets": {
     "secrets": {
       "locked": {
       "locked": {
-        "lastModified": 1766127461,
-        "narHash": "sha256-qgphzScIyjIBofGbO0Qg876mmlWX9znZuuOsKmWk4As=",
+        "lastModified": 1766322995,
+        "narHash": "sha256-0pCdXKlpRNIei0sb3iMzWI8pytMRNa9Nx7Jr6AY4d14=",
         "ref": "refs/heads/master",
         "ref": "refs/heads/master",
-        "rev": "d8c454a0eda0605252da7fbff2a8f3b37ae7b3dd",
-        "revCount": 25,
+        "rev": "fc077853141b2f902b2767251c73379c915f20c7",
+        "revCount": 26,
         "type": "git",
         "type": "git",
         "url": "ssh://[email protected]/control/secrets.git"
         "url": "ssh://[email protected]/control/secrets.git"
       },
       },
@@ -648,21 +578,6 @@
         "type": "github"
         "type": "github"
       }
       }
     },
     },
-    "systems_3": {
-      "locked": {
-        "lastModified": 1681028828,
-        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
-        "owner": "nix-systems",
-        "repo": "default",
-        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nix-systems",
-        "repo": "default",
-        "type": "github"
-      }
-    },
     "zen-browser": {
     "zen-browser": {
       "inputs": {
       "inputs": {
         "home-manager": [
         "home-manager": [
@@ -673,11 +588,11 @@
         ]
         ]
       },
       },
       "locked": {
       "locked": {
-        "lastModified": 1766032508,
-        "narHash": "sha256-7MHR94mOoa5/s4NBrpsXWaNNzrZyRC0OwRwEobp1wzI=",
+        "lastModified": 1766204826,
+        "narHash": "sha256-NccmxYNOUHLLehsBLaeZ3QtVlDfIW1FDBe3W/kIDwa0=",
         "owner": "0xc000022070",
         "owner": "0xc000022070",
         "repo": "zen-browser-flake",
         "repo": "zen-browser-flake",
-        "rev": "a7f58a9e3481804915d75a9c86527bca6d9dafb3",
+        "rev": "4563d0ffdf586368f1bec1a39cc20c9b12b73884",
         "type": "github"
         "type": "github"
       },
       },
       "original": {
       "original": {

+ 9 - 6
flake.nix

@@ -1,13 +1,13 @@
 {
 {
   inputs = {
   inputs = {
-    nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05?shallow=true";
-    nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-25.05-darwin?shallow=true";
+    nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11?shallow=true";
+    nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-25.11-darwin?shallow=true";
     nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable?shallow=true";
     nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable?shallow=true";
 
 
     nixos-facter-modules.url = "github:nix-community/nixos-facter-modules?shallow=true";
     nixos-facter-modules.url = "github:nix-community/nixos-facter-modules?shallow=true";
     # nixos-facter-modules.inputs.nixpkgs.follows = "nixpkgs";
     # nixos-facter-modules.inputs.nixpkgs.follows = "nixpkgs";
 
 
-    darwin.url = "github:lnl7/nix-darwin/nix-darwin-25.05?shallow=true";
+    darwin.url = "github:lnl7/nix-darwin/nix-darwin-25.11?shallow=true";
     darwin.inputs.nixpkgs.follows = "nixpkgs-darwin";
     darwin.inputs.nixpkgs.follows = "nixpkgs-darwin";
 
 
     devenv.url = "github:cachix/devenv?shallow=true";
     devenv.url = "github:cachix/devenv?shallow=true";
@@ -16,8 +16,8 @@
     home-manager.url = "github:nix-community/home-manager/master?shallow=true";
     home-manager.url = "github:nix-community/home-manager/master?shallow=true";
     home-manager.inputs.nixpkgs.follows = "nixpkgs";
     home-manager.inputs.nixpkgs.follows = "nixpkgs";
 
 
-    nixvim.url = "github:nix-community/nixvim/nixos-25.05?shallow=true";
-    nixvim.inputs.nixpkgs.follows = "nixpkgs";
+    nixvim.url = "github:nix-community/nixvim/main?shallow=true";
+    nixvim.inputs.nixpkgs.follows = "nixpkgs-unstable";
 
 
     impermanence.url = "github:nix-community/impermanence?shallow=true";
     impermanence.url = "github:nix-community/impermanence?shallow=true";
     # impermanence.inputs.nixpkgs.follows = "nixpkgs";
     # impermanence.inputs.nixpkgs.follows = "nixpkgs";
@@ -53,7 +53,10 @@
       modules = import ./modules;
       modules = import ./modules;
 
 
       formatter = lib.eachSystem (_system: pkgs: pkgs.nixfmt-tree);
       formatter = lib.eachSystem (_system: pkgs: pkgs.nixfmt-tree);
-      packages = lib.eachSystem (_system: pkgs: import ./packages { inherit pkgs; });
+      packages = lib.eachSystem (system: pkgs: import ./packages {
+        inherit pkgs;
+        nixvim = inputs.nixvim.legacyPackages.${system}.makeNixvimWithModule { };
+      });
       devShells = lib.eachSystem (system: pkgs: import ./shell.nix {
       devShells = lib.eachSystem (system: pkgs: import ./shell.nix {
         inherit pkgs system;
         inherit pkgs system;
         inherit (self.checks.${system}.pre-commit-check) shellHook enabledPackages;
         inherit (self.checks.${system}.pre-commit-check) shellHook enabledPackages;

+ 9 - 1
home/features/cli/default.nix

@@ -19,7 +19,15 @@
 
 
   programs.bash.enable = true;
   programs.bash.enable = true;
   programs.direnv.enable = true;
   programs.direnv.enable = true;
-  programs.fzf.enable = true;
   programs.zoxide.enable = true;
   programs.zoxide.enable = true;
   programs.zsh.enable = true;
   programs.zsh.enable = true;
+
+  programs.fzf = {
+    enable = true;
+    defaultCommand = "rg --files";
+    defaultOptions = [
+      "--tmux='center,80%'"
+      "--preview='bat --style=numbers --color=always --line-range :500 {}'"
+    ];
+  };
 }
 }

+ 15 - 0
home/features/cli/git.nix

@@ -16,6 +16,17 @@ let
     name = "Zander Hawke";
     name = "Zander Hawke";
     signingKey = "ED5EAAA8E895B23A";
     signingKey = "ED5EAAA8E895B23A";
   };
   };
+
+  zofie-architect = {
+    commit.gpgSign = true;
+    gpg.format = "ssh";
+    user = {
+      email = "[email protected]";
+      name = "Zofie Architect";
+      signingKey = "~/.ssh/zofie_architect.pub";
+    };
+    core.sshCommand = "ssh -i ~/.ssh/zofie_architect.pub";
+  };
 in
 in
 
 
 {
 {
@@ -42,6 +53,10 @@ in
         condition = "gitdir/i:~/workspace/control/**";
         condition = "gitdir/i:~/workspace/control/**";
         contents = control;
         contents = control;
       }
       }
+      {
+        condition = "gitdir/i:~/workspace/zofie/**";
+        contents = zofie-architect;
+      }
     ];
     ];
 
 
     signing = {
     signing = {

+ 32 - 0
home/features/cli/tmux.nix

@@ -12,6 +12,16 @@ in
 {
 {
   home.packages = with pkgs; [ eza ];
   home.packages = with pkgs; [ eza ];
 
 
+  programs.sesh = {
+    enable = true;
+    settings = {
+      dir_length = 2;
+      default_session.startup_command = "nvim -c \"lua vim.defer_fn(function() require('telescope.builtin').find_files() end, 0)\"";
+      default_session.preview_command = "eza --all --git --icons --color=always {}";
+    };
+  };
+  programs.fzf.tmux.enableShellIntegration = true;
+
   programs.tmux = {
   programs.tmux = {
     sensibleOnTop = true;
     sensibleOnTop = true;
 
 
@@ -20,6 +30,7 @@ in
     enable = true;
     enable = true;
     escapeTime = 10;
     escapeTime = 10;
     keyMode = "vi";
     keyMode = "vi";
+    focusEvents = true;
     mouse = true;
     mouse = true;
     prefix = "C-b";
     prefix = "C-b";
     shell = "${lib.getExe config.programs.fish.package}";
     shell = "${lib.getExe config.programs.fish.package}";
@@ -81,6 +92,27 @@ in
       # some display popups
       # some display popups
       bind-key -n C-g display-popup -d "#{pane_current_path}" -w 80% -h 80% -E "${lazygit}"
       bind-key -n C-g display-popup -d "#{pane_current_path}" -w 80% -h 80% -E "${lazygit}"
       bind-key -n C-t display-popup -d "#{pane_current_path}" -w 75% -h 75% -E "${shell}"
       bind-key -n C-t display-popup -d "#{pane_current_path}" -w 75% -h 75% -E "${shell}"
+
+      # sesh
+      bind-key -n C-s run-shell "sesh connect \"$(
+        sesh list --icons | fzf --tmux 80%,70% \
+          --no-sort --ansi --border-label ' sesh ' --prompt '⚡  ' \
+          --header '  ^a all ^t tmux ^g configs ^x zoxide ^d tmux kill ^f find' \
+          --bind 'tab:down,btab:up' \
+          --bind 'ctrl-a:change-prompt(⚡  )+reload(sesh list --icons)' \
+          --bind 'ctrl-t:change-prompt(🪟  )+reload(sesh list --icons -t)' \
+          --bind 'ctrl-g:change-prompt(⚙️  )+reload(sesh list --icons -c)' \
+          --bind 'ctrl-x:change-prompt(📁  )+reload(sesh list --icons -z)' \
+          --bind 'ctrl-f:change-prompt(🔎  )+reload(fd -H -d 2 -t d -E .Trash . ~)' \
+          --bind 'ctrl-d:execute(tmux kill-session -t {2..})+change-prompt(⚡  )+reload(sesh list --icons)' \
+          --preview-window 'right:55%' \
+          --preview 'sesh preview {}' \
+          -- --ansi
+      )\""
+
+      # kill pane
+      bind-key x kill-pane
+      set -g detach-on-destroy off
     '';
     '';
   };
   };
 }
 }

+ 2 - 2
home/features/desktop/aerospace.nix

@@ -61,8 +61,8 @@ in
         ctrl-shift-q = "close-all-windows-but-current";
         ctrl-shift-q = "close-all-windows-but-current";
 
 
         # fullscreen and floating
         # fullscreen and floating
-        ctrl-f = "fullscreen";
-        ctrl-shift-f = "layout floating tiling";
+        # ctrl-f = "fullscreen";
+        # ctrl-shift-f = "layout floating tiling";
 
 
         # layout switching
         # layout switching
         ctrl-space = "layout tiles horizontal vertical";
         ctrl-space = "layout tiles horizontal vertical";

+ 13 - 0
home/features/desktop/zen-browser.nix

@@ -126,6 +126,12 @@
           icon = "chill";
           icon = "chill";
           id = 4;
           id = 4;
         };
         };
+
+        Zofie = {
+          color = "orange";
+          icon = "fence";
+          id = 5;
+        };
       };
       };
 
 
       # TODO: Figure out how to enable this.
       # TODO: Figure out how to enable this.
@@ -149,6 +155,13 @@
             position = 2000;
             position = 2000;
           };
           };
 
 
+          "Zofie" = {
+            id = "{6c3bfa4d-faeb-490a-b10c-d38d260c5750}";
+            icon = "✨";
+            container = containers.Zofie.id;
+            position = 2500;
+          };
+
           "Shopping" = {
           "Shopping" = {
             id = "{78aabdad-8aae-4fe0-8ff0-2a0c6c4ccc24}";
             id = "{78aabdad-8aae-4fe0-8ff0-2a0c6c4ccc24}";
             icon = "💸";
             icon = "💸";

+ 10 - 1
home/features/nvim/mapping.nix

@@ -141,7 +141,16 @@ in
     (keyMap [ "n" "t" ] "<A-i>"
     (keyMap [ "n" "t" ] "<A-i>"
       (mkRaw ''
       (mkRaw ''
         function()
         function()
-          require("nvchad.term").toggle { pos = "float", id = "floatTerm" }
+          require("nvchad.term").toggle {
+            pos = "float",
+            id = "floatTerm",
+            floatOpts = {
+              row = .04,
+              col = .04,
+              width = .9,
+              height = .9,
+            },
+          }
         end
         end
       '')
       '')
       { desc = "terminal toggle floating term"; })
       { desc = "terminal toggle floating term"; })

+ 14 - 5
home/meili.nix

@@ -1,11 +1,12 @@
-{
-  config,
-  lib,
-  pkgs,
-  ...
+{ config
+, inputs
+, lib
+, pkgs
+, ...
 }:
 }:
 let
 let
   configHome = "${config.xdg.configHome}/gnupg";
   configHome = "${config.xdg.configHome}/gnupg";
+  secrets = inputs.secrets.secrets;
 in
 in
 {
 {
   home.sessionVariables = {
   home.sessionVariables = {
@@ -13,6 +14,8 @@ in
   };
   };
 
 
   imports = [
   imports = [
+    inputs.agenix.homeManagerModules.default
+
     ./features/core.nix
     ./features/core.nix
 
 
     ./features/cli
     ./features/cli
@@ -25,4 +28,10 @@ in
   programs.fish.interactiveShellInit = ''
   programs.fish.interactiveShellInit = ''
     eval "$(/opt/homebrew/bin/brew shellenv)"
     eval "$(/opt/homebrew/bin/brew shellenv)"
   '';
   '';
+
+  # FIXME: change this to a different identity
+  age.identityPaths = [ "/Users/thomas/.ssh/builder_ed25519" ];
+  age.secrets = {
+    "meili/openrouter".file = secrets."meili/openrouter.age";
+  };
 }
 }

+ 6 - 7
hosts/common/nix.nix

@@ -1,9 +1,8 @@
-{
-  lib,
-  pkgs,
-  config,
-  outputs,
-  ...
+{ lib
+, pkgs
+, config
+, outputs
+, ...
 }:
 }:
 {
 {
   nix = {
   nix = {
@@ -34,7 +33,7 @@
       experimental-features = nix-command flakes impure-derivations
       experimental-features = nix-command flakes impure-derivations
       auto-optimise-store = true
       auto-optimise-store = true
     ''
     ''
-    + lib.optionalString (pkgs.system == "aarch64-darwin") ''
+    + lib.optionalString (pkgs.stdenv.hostPlatform.system == "aarch64-darwin") ''
       extra-platforms = x86_64-darwin aarch64-darwin x86_64-linux aarch64-linux
       extra-platforms = x86_64-darwin aarch64-darwin x86_64-linux aarch64-linux
     '';
     '';
 
 

+ 1 - 0
hosts/meili/software.nix

@@ -5,6 +5,7 @@
   #   - Proton Drive set up home folders
   #   - Proton Drive set up home folders
 
 
   environment.systemPackages = with pkgs; [
   environment.systemPackages = with pkgs; [
+    devenv
     git
     git
     gnupg
     gnupg
     jq
     jq

+ 1 - 1
modules/global/nix-config.nix

@@ -38,7 +38,7 @@
       experimental-features = nix-command flakes impure-derivations
       experimental-features = nix-command flakes impure-derivations
       auto-optimise-store = true
       auto-optimise-store = true
     ''
     ''
-    + lib.optionalString (pkgs.system == "aarch64-darwin") ''
+    + lib.optionalString (pkgs.stdenv.hostPlatform.system == "aarch64-darwin") ''
       extra-platforms = x86_64-darwin aarch64-darwin
       extra-platforms = x86_64-darwin aarch64-darwin
     '';
     '';