diff --git a/Justfile b/Justfile index 417ebc3..6046b3e 100644 --- a/Justfile +++ b/Justfile @@ -48,15 +48,19 @@ move-rc-files: sudo mv /etc/zshrc /etc/zshrc.before-nix-darwin sudo mv /etc/zprofile /etc/zprofile.before-nix-darwin +[doc("Edit a secret file")] edit-secret file: EDITOR="zeditor --wait" sops {{ file }} +[doc("Update all secret files with new keys")] update-secret-files: find . -regextype egrep -regex '^.*secrets\.(json|yml)' -execdir sops updatekeys {} -y ';' +[doc("Generate an age key for the current user")] generate-user-age-key: mkdir -p ~/.config/sops/age nix shell nixpkgs#age --command sh -c "age-keygen -o ~/.config/sops/age/keys.txt" +[doc("Get the age key for the current host")] host-age-key: nix shell nixpkgs#ssh-to-age --command sh -c "sudo cat /etc/ssh/ssh_host_ed25519_key.pub | ssh-to-age" diff --git a/flake.lock b/flake.lock index ae0940d..6b23977 100644 --- a/flake.lock +++ b/flake.lock @@ -528,11 +528,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1775062601, - "narHash": "sha256-/5+NrxyE/JmHmnsSEve/zE7sTgXxrNSi+S+vAanmSSc=", + "lastModified": 1775925499, + "narHash": "sha256-yDiy4gqHJyHe4gliPyNabgXTJKXfddKr91MENiAJ22k=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "120ce11560e7ce7c73b9977ca15fe9915b921e82", + "rev": "d620f2831e367850fb9310849db3049587151ad1", "type": "github" }, "original": { @@ -1877,11 +1877,11 @@ ] }, "locked": { - "lastModified": 1775060170, - "narHash": "sha256-PipZGd4lzEm64M3T0OOYbej+KgXEjmyIT+SPbswqAiA=", + "lastModified": 1775588949, + "narHash": "sha256-Dui1kPYl9SyK4sT9dG5KStp2f8a8CsbG8pRWSyEPcrU=", "owner": "nix-community", "repo": "haumea", - "rev": "c9bf22f79ba1250c31d2c79232669b0280200cc6", + "rev": "efc8797aba90f740b9ddf7a6c8eaf6baf226ae77", "type": "github" }, "original": { @@ -1999,16 +1999,15 @@ ] }, "locked": { - "lastModified": 1775077333, - "narHash": "sha256-OXcxobt7lBkh1B8AjwreU+24myhtKpqeLfAeIyNLFY8=", + "lastModified": 1775900011, + "narHash": "sha256-QUGu6CJYFQ5AWVV0n3/FsJyV+1/gj7HSDx68/SX9pwM=", "owner": "nix-community", "repo": "home-manager", - "rev": "49ca96b2714c5931e17401eff87f3edd42d2b0f2", + "rev": "b0569dc6ec1e6e7fefd8f6897184e4c191cd768e", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.11", "repo": "home-manager", "type": "github" } @@ -2229,6 +2228,26 @@ "type": "github" } }, + "mcp-servers": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775901136, + "narHash": "sha256-5J+54o9YDgAeY1iYuSN7kVt0cTB90x4zO5whqdPg3Tw=", + "owner": "natsukium", + "repo": "mcp-servers-nix", + "rev": "59335c80be7b719df7b6e6473f14424b1e6647df", + "type": "github" + }, + "original": { + "owner": "natsukium", + "repo": "mcp-servers-nix", + "type": "github" + } + }, "mise": { "inputs": { "flake-utils": "flake-utils", @@ -2291,16 +2310,15 @@ ] }, "locked": { - "lastModified": 1772129556, - "narHash": "sha256-Utk0zd8STPsUJPyjabhzPc5BpPodLTXrwkpXBHYnpeg=", + "lastModified": 1775037210, + "narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "ebec37af18215214173c98cf6356d0aca24a2585", + "rev": "06648f4902343228ce2de79f291dd5a58ee12146", "type": "github" }, "original": { "owner": "nix-darwin", - "ref": "nix-darwin-25.11", "repo": "nix-darwin", "type": "github" } @@ -2975,16 +2993,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1774818300, - "narHash": "sha256-4eRB7XOFBxQ/tUUFPjz7UU2/zt1dtTiVP96X9BNWdeI=", + "lastModified": 1775823930, + "narHash": "sha256-ALT447J7FcxP/97J01A/gp/hgdO5lXRsm+zLMt+gIjc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fb0b20238291625260547f4ce9f5540aff156fd5", + "rev": "8c11f88bb9573a10a7d6bf87161ef08455ac70b9", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-25.11-darwin", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -3175,11 +3193,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1775093810, - "narHash": "sha256-kOlaUrWgaZHS63XDKAnew7iv+1nqh+QaL2xvDuKlCS8=", + "lastModified": 1775939394, + "narHash": "sha256-WJyQHoFLIHjki8bL9uR3tEP8ANmKFudsOX0/PsHpfDE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b44f78afb715c272c65fb6bcb29a7542d69fc9a0", + "rev": "bdc8856144febb6c032d0c5452f9ab764e03b5ba", "type": "github" }, "original": { @@ -3286,11 +3304,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1775002709, - "narHash": "sha256-d3Yx83vSrN+2z/loBh4mJpyRqr9aAJqlke4TkpFmRJA=", + "lastModified": 1775811116, + "narHash": "sha256-t+HZK42pB6N+i5RGbuy7Xluez/VvWbembBdvzsc23Ss=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bcd464ccd2a1a7cd09aa2f8d4ffba83b761b1d0e", + "rev": "54170c54449ea4d6725efd30d719c5e505f1c10e", "type": "github" }, "original": { @@ -4222,6 +4240,7 @@ "flake-root": "flake-root", "haumea": "haumea", "home-manager": "home-manager", + "mcp-servers": "mcp-servers", "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", @@ -4554,11 +4573,11 @@ ] }, "locked": { - "lastModified": 1771943863, - "narHash": "sha256-uSsGDhojfy6BbjHJ6gRnbCnrsspoMTWeWg3Ci2Nbdj8=", + "lastModified": 1775941241, + "narHash": "sha256-uj9pd6tBOZU9u4sCLXQ4CBkoh4Qi/hKO474Cc0g9pBM=", "ref": "refs/heads/main", - "rev": "7054ab1713cd73ec5bdd917a38ad69603683c0c7", - "revCount": 35, + "rev": "4baf7b5a310a8b478288ffbf31f2d9c23d6839f3", + "revCount": 36, "type": "git", "url": "ssh://git@github.com/ethnt/tilde-secrets" }, @@ -4971,11 +4990,11 @@ ] }, "locked": { - "lastModified": 1773297127, - "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", + "lastModified": 1775636079, + "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", + "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f1cbb34..b9feb74 100644 --- a/flake.nix +++ b/flake.nix @@ -20,16 +20,16 @@ }; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-25.11-darwin"; + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs-master.url = "github:nixos/nixpkgs"; flake-parts.url = "github:hercules-ci/flake-parts"; - nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11"; + nix-darwin.url = "github:nix-darwin/nix-darwin"; nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-25.11"; + home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; flake-root.url = "github:srid/flake-root"; @@ -48,6 +48,9 @@ emacs-overlay.url = "github:nix-community/emacs-overlay"; emacs-overlay.inputs.nixpkgs.follows = "nixpkgs"; + mcp-servers.url = "github:natsukium/mcp-servers-nix"; + mcp-servers.inputs.nixpkgs.follows = "nixpkgs"; + pragmatapro.url = "git+ssh://git@github.com/ethnt/pragmatapro"; pragmatapro.inputs.nixpkgs.follows = "nixpkgs"; pragmatapro.inputs.flake-parts.follows = "flake-parts"; diff --git a/lib/src/hm.nix b/lib/src/hm.nix index 8925e0b..61eb91e 100644 --- a/lib/src/hm.nix +++ b/lib/src/hm.nix @@ -5,8 +5,10 @@ let l = inputs.nixpkgs.lib // builtins; - sharedModules = l.attrValues flake.homeModules - ++ [ inputs.sops-nix.homeManagerModules.sops ]; + sharedModules = l.attrValues flake.homeModules ++ (with inputs; [ + sops-nix.homeManagerModules.sops + mcp-servers.homeManagerModules.default + ]); extraSpecialArgs = { inherit flake inputs secrets; diff --git a/modules/profiles/home/claude-code.nix b/modules/profiles/home/claude-code.nix new file mode 100644 index 0000000..87e8bda --- /dev/null +++ b/modules/profiles/home/claude-code.nix @@ -0,0 +1,6 @@ +{ + programs.claude-code = { + enable = true; + enableMcpIntegration = true; + }; +} diff --git a/modules/profiles/home/man.nix b/modules/profiles/home/man.nix new file mode 100644 index 0000000..7f3b164 --- /dev/null +++ b/modules/profiles/home/man.nix @@ -0,0 +1 @@ +{ pkgs, ... }: { programs.man.package = pkgs.man; } diff --git a/modules/profiles/home/mcp/default.nix b/modules/profiles/home/mcp/default.nix new file mode 100644 index 0000000..343c82f --- /dev/null +++ b/modules/profiles/home/mcp/default.nix @@ -0,0 +1 @@ +{ programs.mcp.enable = true; } diff --git a/modules/profiles/home/mcp/github/default.nix b/modules/profiles/home/mcp/github/default.nix new file mode 100644 index 0000000..c2055de --- /dev/null +++ b/modules/profiles/home/mcp/github/default.nix @@ -0,0 +1,20 @@ +{ config, ... }: { + sops = { + secrets.github_mcp_pat = { + sopsFile = ./secrets.json; + path = "${config.xdg.dataHome}/secrets/mcp/github-mcp-pat.txt"; + }; + + templates.github_mcp_env_file = { + content = '' + GITHUB_PERSONAL_ACCESS_TOKEN=${config.sops.placeholder.github_mcp_pat} + ''; + mode = "0777"; + }; + }; + + mcp-servers.programs.github = { + enable = true; + envFile = config.sops.templates.github_mcp_env_file.path; + }; +} diff --git a/modules/profiles/home/mcp/github/secrets.json b/modules/profiles/home/mcp/github/secrets.json new file mode 100644 index 0000000..7d06c7a --- /dev/null +++ b/modules/profiles/home/mcp/github/secrets.json @@ -0,0 +1,27 @@ +{ + "github_mcp_pat": "ENC[AES256_GCM,data:L8TNbqtvvbl8Un/VXTeqqPYA9pJcS6TgyMZNI5mZyMuB+HQrfoR5Ew==,iv:FkL5gq/va/CEPYvvk0CMSMOmoIv3H3/u+RY9HdQe7Xc=,tag:VI8mlpcrSSHjJUpLZNgIsg==,type:str]", + "sops": { + "age": [ + { + "recipient": "age10539mc6shf02hpa8huyjktdw3nfyavxdg8pt247wwvq4xrv8h5zs8nc0k0", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkb0h6cjlFYWNzc25ZdXl4\nTnppQXo1SVhDQVUyNkhIdFA0K2JKY1BYbkJrCjhHZmIyclV3TWpDMjEyUS9Rb2lW\ncXpQOFhoVXBUNEtoQmx4WEo1OGpnQTgKLS0tIGxaN0xvQ3ZYdnEwWmoxZGR1R1My\nZlFmNVFYN0JDbWFFSk4vcDFoL1o1SGcKLZbwXjvCGfA9/e0/bdDTTf9NIg4XWBYQ\nm+kCwS2KSxlgFZux81UO5Jgo9irkwJ5giyvy3EksXHaGItGEsgWN2Q==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1s2dhv789xf9jjfr9pdjsww7rf4dutl3qmavgpurlwj6l5khdkfasd4v7xn", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxYlV5Z3ZkRExxL1A2aFlC\nV2hNVHFZU05RVWJtOG82YXVjWE9rb044S0ZrCnIvV3F3MHltMHNaUFprKzRubURM\nL1FmMVdKdFZLbEcxT0xVMlZObjlHWmsKLS0tIFVrSTIzdlByaExqNzBtK2xwWGZN\nbWxneERMS05icE5Wb2gwSXROdjdTOEkKsXQ2uGllbWEALG943bIHsF05Ic93rfdX\n3nwiqsTpXorkfuv/38RRi61OvGPJFwx+SGHEnX22nfIka4ltFC2Yrg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1hqq6znfaedyrmqkqqnaafa243cus77nts3e5vunxdl5xkfm6ffgqmf70r8", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrWm9JQU0yK1h0eHRkY2tN\nczFhSHJiNG9ReXhjMkpLYXlrRTZsU1dNZ0RNCklpaHpNSHhPSXVpdFdyWStTaVFs\naGk2N1l2VUYzSnNlWDR5eXNmMGVNdEEKLS0tIDhVLzhXbm1LbGRpVTZlVTFqL0hz\nMVBmS05venVkRnV5NndnMUJWbVhwM3cKizmrV8U0BJj4Mu2g0nHLA9j+SvDbBC10\n9auqt6WjqbsyiCbpdKTmu6krzHK3Ivg8YKekLIAnPKaexa8CBe2CBA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1zkx88lththygcwj07xtz54tcvy6ltavnedrpskfpzcdh9tt2ngyq9gvqv5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwWDltbGlKVlRhRkxCMW5V\ncm14bmpXam5zR2VkbGhUSHpFemc5VTVueVY0CklYNllSMHprSVlTMlJ1ZGJJc0pK\nbDZzNU5MOWtGclM1TFFseHNKclM1UGMKLS0tIHVtV2dGRmgxMXdjYkZJZDRjNXZZ\nZ01uaHo4Q0ZVNzlJSEo5L1ZGUXlwRUUKsMz0K7x57fbPka6BAlINK8P0AK+UdiQh\nTtnS0wYIIz/SAGDqcBKtZNH902v2zpJXkrWu5e2+f4z6Thu84Gk6mg==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-04-11T18:18:16Z", + "mac": "ENC[AES256_GCM,data:mr9tFkYfP5l9a0hpRtLJK4GosCyZJ+aIXpol6IyzfQh4hPQORuxFVLMW5FgkNNFf6Cw9+Vvjn/iIAdQcDt/rvLJ4493RX/nfN/uU7yq1RL+d3amIfHUTabzh64erdt2INgVkhocLQb8crXH/JWE2unQHEGW1hS8BrVnFrQKZdqY=,iv:FwlnaMdzkKnSYtO2WGtRZ5x8qK/d38p7sxM5Gvf7Iqs=,tag:mc+wo0LIATIHvlLm6Z0yQg==,type:str]", + "unencrypted_suffix": "_unencrypted", + "version": "3.12.1" + } +} diff --git a/modules/profiles/home/mcp/nixos.nix b/modules/profiles/home/mcp/nixos.nix new file mode 100644 index 0000000..9863583 --- /dev/null +++ b/modules/profiles/home/mcp/nixos.nix @@ -0,0 +1 @@ +{ mcp-servers.programs.nixos.enable = true; } diff --git a/modules/profiles/home/mise.nix b/modules/profiles/home/mise.nix index 0ce96c4..5c409b1 100644 --- a/modules/profiles/home/mise.nix +++ b/modules/profiles/home/mise.nix @@ -3,7 +3,7 @@ enable = true; enableFishIntegration = true; package = pkgs.mise; - settings = { + globalConfig.settings = { asdf_compat = true; legacy_version_file = true; idiomatic_version_file_enable_tools = [ "node" ]; diff --git a/modules/profiles/home/nodejs.nix b/modules/profiles/home/nodejs.nix index d02344a..395e46f 100644 --- a/modules/profiles/home/nodejs.nix +++ b/modules/profiles/home/nodejs.nix @@ -1 +1 @@ -{ pkgs, ... }: { home.packages = with pkgs; [ corepack nodejs_24 ]; } +{ pkgs, ... }: { home.packages = with pkgs; [ nodejs_25 ]; } diff --git a/modules/profiles/system/core/nix-config/secrets.json b/modules/profiles/system/core/nix-config/secrets.json index 70fce03..3b09eb1 100644 --- a/modules/profiles/system/core/nix-config/secrets.json +++ b/modules/profiles/system/core/nix-config/secrets.json @@ -4,11 +4,19 @@ "age": [ { "recipient": "age10539mc6shf02hpa8huyjktdw3nfyavxdg8pt247wwvq4xrv8h5zs8nc0k0", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBV1BzVHpRYWMzN2lrTmR1\nTG1CdDc5a2lMbXZxNnc5RnlhMEg0aklyUFNzCkovbElTOGhIZjNuMHFsU3ZNQWhN\nc0VNeFhST3EybGR6eDZqbnhNNUFsTmsKLS0tIGZlK0JDRG5QWWFXdnByQjdZTkti\neVNrQWFCUll2d2VFbFVEdkF1YnhEa2MK0EhU2rJSFMHJ9SUCBWxdgXXOh1gyGKDr\nY0A7DVjbhqZqPUz0DMmnrTn7um7uvxJqy+QEwd/nDUtbHgh1Ws/urQ==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGcFJCMkxmVE50MGMxUU9B\nU0hWZU80aGNGV2JWcW15RTYxRTVUL2QwUW1RCnBwbUpCYTdzYW13WW1pMnY2aUhy\nTmsySHFIWlFudk1ZamVWb0huMVNRZUUKLS0tIEFHYTBFSGhJNTY3eFpYRVI3bEFk\nYkx6QjFLbVFoTWVyNzVaQ05FVW1yQTgK1lbBhhCvCGX96oNt9UAx0p3d+aJubew2\nZuX7UXjXOd6uRpO08zaBwPVC7rCivmPsm+54hhZmFvWm1m4WhD5boA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1s2dhv789xf9jjfr9pdjsww7rf4dutl3qmavgpurlwj6l5khdkfasd4v7xn", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLQnNFaEduaWVrWGNrUW5K\nZEdka2JxSmRMSjhuM3RGYU9FOWJiRTQyd0FJCkhFZG9NT0p2MS9hSmhHbGFweGlZ\nM2ZieE11YWpmcHhhQXg5V09WbmYzUWsKLS0tIHNUdHRYYWloV2oxcURkekNhdDRG\nRkJxOHh5MlorTnNxbXhsUkJtcUlPRkUKS7ustSTK/mh/In1bclZGHJ+4yrtI/wTl\n8xHN2hI9tiuXk3PJT73PTc0V/6BBYXsHC3HYSPVcgRbEPLf0KU8uqQ==\n-----END AGE ENCRYPTED FILE-----\n" }, { "recipient": "age1hqq6znfaedyrmqkqqnaafa243cus77nts3e5vunxdl5xkfm6ffgqmf70r8", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnUkN1VFJoOGJBVUszMmJL\najVnZkZ5bTRHZkJVcXlSS0toNDl2N0dIU2tJCnN5Q0MxdmVxc2s3cTY3bjgxUDBV\nY3YxNFE2YnhNSG1ZR0xDa09MbitLM2sKLS0tIHp4QmhMaEJkWFV1Y1NxSUp5WnVv\nY2tlSjBING01Yi9PeXcvQjZLSWpCUzgKwb98LBNBawqlAEGIuZzBWSh7S/4fLJV5\nVsewLWRGyePe/IbekpnYpENvVVP7oap9QSsdIdlYGyg4zycnQN1w1w==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsb1FtYXdUbTczVVBUbGJK\nSThSZlBJbG5ybitQd1VFNVNXTTFralpadUVJCmh6TE94dWJVdUVIZDJVcWlCdGM4\nUDIvbS9OV29CMHlORkxGWnFCQ0V2cFEKLS0tIGhoNGoza1BVWmtKRU1VRzB5UlQ1\nWk9wYzB1VDNnRW5EbUJNYXVuZFc4TmMKbo2wmIqT0owmmEhFHnoj40fMiOitoRo6\nI89QzzC9nEsKvqjRHysgRJx5r6DnEryz1lidEw8MZso29xJj44kBDQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1zkx88lththygcwj07xtz54tcvy6ltavnedrpskfpzcdh9tt2ngyq9gvqv5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsL0hMVWgyYU15SUFsQ25w\nQXRTYUNZeE02SHBGMFFteHlEQTN0cmg2NjBVCjJTWER2SVRURndhU2NIWmNZOGN3\neEh2dm14d0pmTlVVV3FMZW1aNWxGclkKLS0tIDd3ci9SY3h4TnpHQy9yU24wT3c1\nTHNpRTVwZUJOa1NkS28vS3dsREc3eDgK5y+i56ywqzk4vXg3Vwrn8m2BRu9jiTpB\nMMCjOv4fMPg+N3xJR/7cS+QnM5zDH8lk9mDtj8yEVcFpTTjRyucotQ==\n-----END AGE ENCRYPTED FILE-----\n" } ], "lastmodified": "2026-04-11T03:31:33Z", diff --git a/modules/suites/home.nix b/modules/suites/home.nix index 8f5bc0f..46d56fa 100644 --- a/modules/suites/home.nix +++ b/modules/suites/home.nix @@ -16,6 +16,7 @@ with profiles; helix lazygit jujutsu + man navi paths rippkgs @@ -29,12 +30,16 @@ with profiles; ]; development = [ + claude-code git.common git.difftastic git.mergiraf git.worktrunk gh gh-dash + mcp.default + mcp.github.default + mcp.nixos mise vscode ]; diff --git a/users/et/home.nix b/users/et/home.nix index 75eaa06..cd0a26e 100644 --- a/users/et/home.nix +++ b/users/et/home.nix @@ -13,6 +13,6 @@ username = "et"; homeDirectory = "/Users/et"; - stateVersion = "24.05"; + stateVersion = "26.05"; }; } diff --git a/users/et/profiles/mcp.nix b/users/et/profiles/mcp.nix new file mode 100644 index 0000000..ac87364 --- /dev/null +++ b/users/et/profiles/mcp.nix @@ -0,0 +1 @@ +{ mcp-servers.programs.notion.enable = true; } diff --git a/users/ethan/home.nix b/users/ethan/home.nix index 6f2e23a..5dedac8 100644 --- a/users/ethan/home.nix +++ b/users/ethan/home.nix @@ -12,6 +12,6 @@ home = { username = "ethan"; homeDirectory = "/Users/ethan"; - stateVersion = "24.05"; + stateVersion = "26.05"; }; }