nixos/object: Fix harmonia
Some checks failed
CI / Check, build and cache nixfiles (push) Failing after 3h13m40s

This commit is contained in:
2025-12-06 15:20:55 +00:00
parent 45861bef08
commit b031840f81
4 changed files with 138 additions and 10 deletions

101
flake.lock generated
View File

@@ -89,6 +89,21 @@
} }
}, },
"crane": { "crane": {
"locked": {
"lastModified": 1763938834,
"narHash": "sha256-j8iB0Yr4zAvQLueCZ5abxfk6fnG/SJ5JnGUziETjwfg=",
"owner": "ipetkov",
"repo": "crane",
"rev": "d9e753122e51cee64eb8d2dddfe11148f339f5a2",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"crane_2": {
"locked": { "locked": {
"lastModified": 1760924934, "lastModified": 1760924934,
"narHash": "sha256-tuuqY5aU7cUkR71sO2TraVKK2boYrdW3gCSXUkF4i44=", "narHash": "sha256-tuuqY5aU7cUkR71sO2TraVKK2boYrdW3gCSXUkF4i44=",
@@ -241,6 +256,27 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"harmonia",
"nixpkgs"
]
},
"locked": {
"lastModified": 1763759067,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@@ -427,6 +463,31 @@
"type": "github" "type": "github"
} }
}, },
"harmonia": {
"inputs": {
"crane": "crane",
"flake-parts": "flake-parts",
"nix": "nix",
"nixpkgs": [
"nixpkgs-unstable"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1765032623,
"narHash": "sha256-BbtN5NFN2RU3KP2TLA6zOoiv5MZXWqN1mXxIkKY8Kx4=",
"owner": "devplayer0",
"repo": "harmonia",
"rev": "310e2b2c6583710c52531785f1245d9621284310",
"type": "github"
},
"original": {
"owner": "devplayer0",
"ref": "cache-config-daemon-store",
"repo": "harmonia",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -519,6 +580,22 @@
"type": "github" "type": "github"
} }
}, },
"nix": {
"flake": false,
"locked": {
"lastModified": 1764532838,
"narHash": "sha256-hw4J7wfqXWBCvsMVXPS4nvkcSeTXAtR5h9Ylv7a7dBA=",
"owner": "nixos",
"repo": "nix",
"rev": "8be9507a88f466dd44e6e56cd00167fa10e995b8",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nix",
"type": "github"
}
},
"nixGL": { "nixGL": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_7", "flake-utils": "flake-utils_7",
@@ -704,7 +781,7 @@
"ragenix": { "ragenix": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
"crane": "crane", "crane": "crane_2",
"flake-utils": "flake-utils_8", "flake-utils": "flake-utils_8",
"nixpkgs": [ "nixpkgs": [
"nixpkgs-unstable" "nixpkgs-unstable"
@@ -734,6 +811,7 @@
"deploy-rs": "deploy-rs", "deploy-rs": "deploy-rs",
"devshell": "devshell_3", "devshell": "devshell_3",
"flake-utils": "flake-utils_6", "flake-utils": "flake-utils_6",
"harmonia": "harmonia",
"home-manager-stable": "home-manager-stable", "home-manager-stable": "home-manager-stable",
"home-manager-unstable": "home-manager-unstable", "home-manager-unstable": "home-manager-unstable",
"impermanence": "impermanence", "impermanence": "impermanence",
@@ -945,6 +1023,27 @@
"type": "github" "type": "github"
} }
}, },
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"harmonia",
"nixpkgs"
]
},
"locked": {
"lastModified": 1761311587,
"narHash": "sha256-Msq86cR5SjozQGCnC6H8C+0cD4rnx91BPltZ9KK613Y=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "2eddae033e4e74bf581c2d1dfa101f9033dbd2dc",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_3"

View File

@@ -34,6 +34,9 @@
boardie.inputs.nixpkgs.follows = "nixpkgs-unstable"; boardie.inputs.nixpkgs.follows = "nixpkgs-unstable";
nixGL.url = "github:nix-community/nixGL"; nixGL.url = "github:nix-community/nixGL";
nixGL.inputs.nixpkgs.follows = "nixpkgs-unstable"; nixGL.inputs.nixpkgs.follows = "nixpkgs-unstable";
# harmonia.url = "github:nix-community/harmonia";
harmonia.url = "github:devplayer0/harmonia/cache-config-daemon-store";
harmonia.inputs.nixpkgs.follows = "nixpkgs-unstable";
# Packages not in nixpkgs # Packages not in nixpkgs
sharry.url = "github:eikek/sharry"; sharry.url = "github:eikek/sharry";

View File

@@ -89,12 +89,17 @@ in
{ {
users = { users = {
harmonia = { harmonia = {
isSystemUser = true;
group = "harmonia";
shell = pkgs.bashInteractive; shell = pkgs.bashInteractive;
openssh.authorizedKeys.keyFiles = [ openssh.authorizedKeys.keyFiles = [
lib.my.c.sshKeyFiles.harmonia lib.my.c.sshKeyFiles.harmonia
]; ];
}; };
}; };
groups = {
harmonia = { };
};
} }
]; ];
@@ -127,13 +132,24 @@ in
}; };
} }
]; ];
harmonia = {
environment.NIX_REMOTE = "/var/lib/harmonia"; harmonia-dev = {
# environment.RUST_LOG = mkForce "trace";
# serviceConfig = {
# StateDirectory = "harmonia";
# DynamicUser = mkForce false;
# };
};
harmonia-daemon = {
# environment.RUST_LOG = mkForce "trace";
preStart = '' preStart = ''
${config.nix.package}/bin/nix store ping ${config.nix.package}/bin/nix store info --store /var/lib/harmonia
''; '';
serviceConfig = { serviceConfig = {
User = "harmonia";
Group = "harmonia";
StateDirectory = "harmonia"; StateDirectory = "harmonia";
DynamicUser = mkForce false;
}; };
}; };
}; };
@@ -235,11 +251,20 @@ in
}; };
}; };
harmonia = { harmonia-dev = {
enable = true; daemon = {
signKeyPaths = [ config.age.secrets."nix-cache.key".path ]; enable = true;
settings = { storeDir = "/nix/store";
priority = 30; dbPath = "/var/lib/harmonia/nix/var/nix/db/db.sqlite";
};
cache = {
enable = true;
signKeyPaths = [ config.age.secrets."nix-cache.key".path ];
settings = {
priority = 30;
daemon_store = "/nix/store";
real_nix_store = "/var/lib/harmonia/nix/store";
};
}; };
}; };

View File

@@ -9,10 +9,11 @@ in
}; };
imports = [ imports = [
inputs.impermanence.nixosModule inputs.impermanence.nixosModules.default
inputs.ragenix.nixosModules.age inputs.ragenix.nixosModules.age
inputs.sharry.nixosModules.default inputs.sharry.nixosModules.default
inputs.copyparty.nixosModules.default inputs.copyparty.nixosModules.default
inputs.harmonia.nixosModules.harmonia
]; ];
config = mkMerge [ config = mkMerge [