From 786748caeb89be3523a98a0633746ea89c3cb3e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Jane=C5=BEi=C4=8D?= Date: Fri, 6 Mar 2026 00:23:22 +0100 Subject: [PATCH] feat: add claude home-manager module --- flake.nix | 19 ++++++------------- modules/home-manager/claude.nix | 26 ++++++++++++++++++++++++++ modules/home-manager/default.nix | 1 + users/matej/home-manager.nix | 10 +++++++--- 4 files changed, 40 insertions(+), 16 deletions(-) create mode 100644 modules/home-manager/claude.nix create mode 100644 modules/home-manager/default.nix diff --git a/flake.nix b/flake.nix index 19c52b3..d9ae9e9 100644 --- a/flake.nix +++ b/flake.nix @@ -51,19 +51,7 @@ let my-lib = import ./lib { inherit (nixpkgs) lib; }; - overlays = [ - (_: prev: { - inherit - ( - (import inputs.nixpkgs-unstable { - inherit (prev.stdenv.hostPlatform) system; - config.allowUnfree = true; - }) - ) - claude-code - ; - }) - ]; + overlays = [ ]; mkHost = my-lib.mkHost { inherit @@ -99,6 +87,11 @@ inherit my-lib; inherit (nixpkgs) lib; } { }; + + homeManagerModules = import ./modules/home-manager { + inherit my-lib; + inherit (nixpkgs) lib; + } { }; } // flake-utils.lib.eachDefaultSystem ( system: diff --git a/modules/home-manager/claude.nix b/modules/home-manager/claude.nix new file mode 100644 index 0000000..51017bb --- /dev/null +++ b/modules/home-manager/claude.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + pkgs, + inputs, + ... +}: +let + packages = inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system}; +in +{ + options = { + claude = { + enable = lib.mkEnableOption "claude code"; + package = lib.mkPackageOption pkgs "claude-code" { }; + }; + }; + + config = lib.mkIf config.claude.enable { + home.packages = [ + config.claude.package + packages.todo-mcp + pkgs.mcp-nixos + ]; + }; +} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix new file mode 100644 index 0000000..70db651 --- /dev/null +++ b/modules/home-manager/default.nix @@ -0,0 +1 @@ +{ lib, my-lib }: args: (my-lib.autoDir ./.) diff --git a/users/matej/home-manager.nix b/users/matej/home-manager.nix index d5a4045..a579be3 100644 --- a/users/matej/home-manager.nix +++ b/users/matej/home-manager.nix @@ -8,9 +8,16 @@ let packages = inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system}; + hmModules = inputs.self.outputs.homeManagerModules; in { + imports = [ hmModules.claude ]; + claude = { + enable = true; + package = inputs.claude-code-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default; + }; + home.stateVersion = "24.11"; # TODO:(@janezicmatej) do i need this here? @@ -21,9 +28,6 @@ in pkgs.starship - inputs.claude-code-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default - packages.todo-mcp - # git and co pkgs.git packages.git-linearize