Add checks for NixOS and HomeManager modules

This commit is contained in:
Mikael Voss 2024-08-07 13:20:53 +02:00
parent 9365484de0
commit c13f79e881
No known key found for this signature in database
2 changed files with 91 additions and 2 deletions

48
flake.lock Normal file
View file

@ -0,0 +1,48 @@
{
"nodes": {
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1723015306,
"narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1722957468,
"narHash": "sha256-SQ0TCC4aklOhN/OzcztrKqDLY8SjpIZcyvTulzhDXs0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2a13929e1f191b3690dd2f2db13098b04adb9043",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,7 +1,18 @@
{
description = "Custom locale";
outputs = { self, ... }:
let patchLocales = pkgs: args:
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, ... }:
let
inherit (nixpkgs) lib;
stateVersion = lib.versions.majorMinor lib.version;
patchLocales = pkgs: args:
let glibcLocales =
if pkgs.glibcLocales == null
then pkgs.callPackage
@ -31,5 +42,35 @@
locales = [ "en_EU.UTF-8/UTF-8" ];
};
};
checks = lib.genAttrs lib.systems.flakeExposed (system: {
home = (home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
modules = [
self.homeModules.default {
home = {
inherit stateVersion;
username = "test";
homeDirectory = "/home/test";
};
}
];
}).activationPackage;
} // lib.optionalAttrs (lib.hasSuffix "-linux" system) {
nixos = (nixpkgs.lib.nixosSystem {
inherit system;
modules = [
self.nixosModules.default {
boot.loader.grub.enable = false;
fileSystems."/".device = "nodev";
system.stateVersion = stateVersion;
}
];
}).config.system.build.toplevel;
});
hydraJobs.checks = {
inherit (self.checks) x86_64-linux aarch64-linux riscv64-linux;
};
};
}