feat: add claude home-manager module
This commit is contained in:
19
flake.nix
19
flake.nix
@@ -51,19 +51,7 @@
|
|||||||
let
|
let
|
||||||
my-lib = import ./lib { inherit (nixpkgs) lib; };
|
my-lib = import ./lib { inherit (nixpkgs) lib; };
|
||||||
|
|
||||||
overlays = [
|
overlays = [ ];
|
||||||
(_: prev: {
|
|
||||||
inherit
|
|
||||||
(
|
|
||||||
(import inputs.nixpkgs-unstable {
|
|
||||||
inherit (prev.stdenv.hostPlatform) system;
|
|
||||||
config.allowUnfree = true;
|
|
||||||
})
|
|
||||||
)
|
|
||||||
claude-code
|
|
||||||
;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
mkHost = my-lib.mkHost {
|
mkHost = my-lib.mkHost {
|
||||||
inherit
|
inherit
|
||||||
@@ -99,6 +87,11 @@
|
|||||||
inherit my-lib;
|
inherit my-lib;
|
||||||
inherit (nixpkgs) lib;
|
inherit (nixpkgs) lib;
|
||||||
} { };
|
} { };
|
||||||
|
|
||||||
|
homeManagerModules = import ./modules/home-manager {
|
||||||
|
inherit my-lib;
|
||||||
|
inherit (nixpkgs) lib;
|
||||||
|
} { };
|
||||||
}
|
}
|
||||||
// flake-utils.lib.eachDefaultSystem (
|
// flake-utils.lib.eachDefaultSystem (
|
||||||
system:
|
system:
|
||||||
|
|||||||
26
modules/home-manager/claude.nix
Normal file
26
modules/home-manager/claude.nix
Normal file
@@ -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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
1
modules/home-manager/default.nix
Normal file
1
modules/home-manager/default.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{ lib, my-lib }: args: (my-lib.autoDir ./.)
|
||||||
@@ -8,9 +8,16 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
packages = inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system};
|
packages = inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system};
|
||||||
|
hmModules = inputs.self.outputs.homeManagerModules;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [ hmModules.claude ];
|
||||||
|
claude = {
|
||||||
|
enable = true;
|
||||||
|
package = inputs.claude-code-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||||
|
};
|
||||||
|
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "24.11";
|
||||||
|
|
||||||
# TODO:(@janezicmatej) do i need this here?
|
# TODO:(@janezicmatej) do i need this here?
|
||||||
@@ -21,9 +28,6 @@ in
|
|||||||
|
|
||||||
pkgs.starship
|
pkgs.starship
|
||||||
|
|
||||||
inputs.claude-code-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
||||||
packages.todo-mcp
|
|
||||||
|
|
||||||
# git and co
|
# git and co
|
||||||
pkgs.git
|
pkgs.git
|
||||||
packages.git-linearize
|
packages.git-linearize
|
||||||
|
|||||||
Reference in New Issue
Block a user