Add use flake for fresh claude code

This commit is contained in:
2026-02-09 18:04:09 -08:00
parent 69fc3ad837
commit cbf2aedcad
3 changed files with 56 additions and 13 deletions

View File

@@ -18,6 +18,10 @@
hostConfig.inputs.nix-index-database.nixosModules.default hostConfig.inputs.nix-index-database.nixosModules.default
]; ];
nixpkgs.overlays = [
hostConfig.inputs.claude-code-nix.overlays.default
];
# Basic system configuration # Basic system configuration
system.stateVersion = "25.11"; system.stateVersion = "25.11";

24
flake.lock generated
View File

@@ -43,6 +43,29 @@
"type": "gitlab" "type": "gitlab"
} }
}, },
"claude-code-nix": {
"inputs": {
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1770491193,
"narHash": "sha256-zdnWeXmPZT8BpBo52s4oansT1Rq0SNzksXKpEcMc5lE=",
"owner": "sadjow",
"repo": "claude-code-nix",
"rev": "f68a2683e812d1e4f9a022ff3e0206d46347d019",
"type": "github"
},
"original": {
"owner": "sadjow",
"repo": "claude-code-nix",
"type": "github"
}
},
"dailybot": { "dailybot": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@@ -295,6 +318,7 @@
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
"claude-code-nix": "claude-code-nix",
"dailybot": "dailybot", "dailybot": "dailybot",
"deploy-rs": "deploy-rs", "deploy-rs": "deploy-rs",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",

View File

@@ -72,6 +72,15 @@
url = "github:astro/microvm.nix"; url = "github:astro/microvm.nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# Up to date claude-code
claude-code-nix = {
url = "github:sadjow/claude-code-nix";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
}; };
outputs = { self, nixpkgs, ... }@inputs: outputs = { self, nixpkgs, ... }@inputs:
@@ -96,7 +105,10 @@
self.nixosModules.kernel-modules self.nixosModules.kernel-modules
({ lib, ... }: { ({ lib, ... }: {
config = { config = {
nixpkgs.overlays = [ self.overlays.default ]; nixpkgs.overlays = [
self.overlays.default
inputs.claude-code-nix.overlays.default
];
environment.systemPackages = [ environment.systemPackages = [
agenix.packages.${system}.agenix agenix.packages.${system}.agenix
@@ -146,7 +158,8 @@
mkSystem cfg.arch nixpkgs cfg.configurationPath hostname) mkSystem cfg.arch nixpkgs cfg.configurationPath hostname)
machineHosts machineHosts
// //
(let (
let
mkEphemeral = system: nixpkgs.lib.nixosSystem { mkEphemeral = system: nixpkgs.lib.nixosSystem {
inherit system; inherit system;
modules = [ modules = [
@@ -154,10 +167,12 @@
inputs.nix-index-database.nixosModules.default inputs.nix-index-database.nixosModules.default
]; ];
}; };
in { in
{
ephemeral-x86_64 = mkEphemeral "x86_64-linux"; ephemeral-x86_64 = mkEphemeral "x86_64-linux";
ephemeral-aarch64 = mkEphemeral "aarch64-linux"; ephemeral-aarch64 = mkEphemeral "aarch64-linux";
}); }
);
# kexec produces a tarball; for a self-extracting bundle see: # kexec produces a tarball; for a self-extracting bundle see:
# https://github.com/nix-community/nixos-generators/blob/master/formats/kexec.nix#L60 # https://github.com/nix-community/nixos-generators/blob/master/formats/kexec.nix#L60