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