add nixos and darwin-nix modules

This commit is contained in:
Abel Luck 2026-02-27 09:27:34 +01:00
parent eeb8a69740
commit ba34ac0d67
4 changed files with 129 additions and 12 deletions

View file

@ -6,6 +6,7 @@
let
systems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
forAllSystems = fn: nixpkgs.lib.genAttrs systems (system: fn nixpkgs.legacyPackages.${system});
@ -23,18 +24,24 @@
};
});
checks = forAllSystems (pkgs: {
tests = self.packages.${pkgs.stdenv.hostPlatform.system}.default.overrideAttrs (_: {
pname = "nix-cache-login-tests";
checkPhase = ''
runHook preCheck
go test ./...
runHook postCheck
'';
doCheck = true;
});
devShell = self.devShells.${pkgs.stdenv.hostPlatform.system}.default;
});
checks = forAllSystems (
pkgs:
{
tests = self.packages.${pkgs.stdenv.hostPlatform.system}.default.overrideAttrs (_: {
pname = "nix-cache-login-tests";
checkPhase = ''
runHook preCheck
go test ./...
runHook postCheck
'';
doCheck = true;
});
devShell = self.devShells.${pkgs.stdenv.hostPlatform.system}.default;
}
// pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
nixos-module = pkgs.testers.runNixOSTest (import ./nixos-test.nix self);
}
);
devShells = forAllSystems (pkgs: {
default = pkgs.mkShell {
@ -45,6 +52,23 @@
};
});
homeModules = {
# Workstation (Linux + macOS): home-manager module running `nix-cache-login refresh`
default =
{
config,
lib,
pkgs,
...
}:
{
imports = [ ./home-module.nix ];
services.nix-cache-login.package =
lib.mkDefault
self.packages.${pkgs.stdenv.hostPlatform.system}.default;
};
};
nixosModules = {
# Workstation: systemd user timer+service running `nix-cache-login refresh`
default =