Skip to content

Commit 9a9e78a

Browse files
authored
test: check hm beta module integration (#245)
1 parent 3130227 commit 9a9e78a

File tree

3 files changed

+77
-5
lines changed

3 files changed

+77
-5
lines changed

flake.nix

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,9 @@
1414
nixpkgs,
1515
home-manager,
1616
}: let
17-
supportedSystems = [
18-
"x86_64-linux"
19-
"aarch64-linux"
20-
"aarch64-darwin"
21-
];
17+
linuxSystems = ["x86_64-linux" "aarch64-linux"];
18+
19+
supportedSystems = linuxSystems ++ ["aarch64-darwin"];
2220

2321
forAllSystems = f:
2422
nixpkgs.lib.genAttrs supportedSystems (
@@ -29,6 +27,14 @@
2927

3028
formatter = forAllSystems (pkgs: pkgs.alejandra);
3129

30+
checks =
31+
nixpkgs.lib.genAttrs linuxSystems
32+
(system:
33+
import ./tests {
34+
inherit self home-manager;
35+
nixpkgs = nixpkgs.legacyPackages.${system};
36+
});
37+
3238
homeModules = {
3339
beta = import ./hm-module {
3440
inherit self home-manager;

tests/default.nix

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
self,
3+
nixpkgs,
4+
home-manager,
5+
}: let
6+
pkgs = nixpkgs;
7+
8+
mkGenericTest = name: suitePath: let
9+
suite = import suitePath {
10+
inherit pkgs home-manager;
11+
zen-browser-flake = self;
12+
};
13+
in
14+
pkgs.testers.nixosTest {
15+
inherit name;
16+
nodes.machine = {
17+
imports = [
18+
{
19+
imports = [home-manager.nixosModules.home-manager];
20+
21+
users.users.testuser = {
22+
isNormalUser = true;
23+
home = "/home/testuser";
24+
createHome = true;
25+
group = "users";
26+
uid = 1000;
27+
};
28+
29+
home-manager = {
30+
useGlobalPkgs = true;
31+
useUserPackages = true;
32+
33+
users.testuser = {
34+
imports = [suite.homeModule];
35+
36+
home.stateVersion = "26.05";
37+
};
38+
};
39+
}
40+
];
41+
};
42+
43+
inherit (suite) testScript;
44+
};
45+
46+
suites = {
47+
"enable-beta-via-module" = ./enable-beta.nix;
48+
};
49+
in
50+
pkgs.lib.mapAttrs (name: path: mkGenericTest name path) suites

tests/enable-beta.nix

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{zen-browser-flake, ...}: {
2+
homeModule = {
3+
imports = [zen-browser-flake.homeModules.beta];
4+
5+
programs.zen-browser = {
6+
enable = true;
7+
suppressXdgMigrationWarning = true;
8+
};
9+
};
10+
11+
testScript = ''
12+
machine.wait_for_unit("multi-user.target")
13+
machine.wait_for_unit("home-manager-testuser.service")
14+
machine.succeed("su - testuser -c 'zen-beta --version'")
15+
'';
16+
}

0 commit comments

Comments
 (0)