nixos-config/tests/lib/home-manager.nix

60 lines
1.2 KiB
Nix
Raw Normal View History

2024-03-08 08:39:13 +00:00
{ pkgs, lib, self }:
let
# We're just using stub configurations instead.
nixosConfig = {
2025-01-29 04:48:19 +00:00
programs = { firefox = { enable = true; }; };
2024-03-08 08:39:13 +00:00
services = {
pipewire = {
enable = true;
wireplumber.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
};
};
hmConfig = {
services = {
activitywatch.enable = true;
bleachbit = {
enable = true;
2025-01-29 04:48:19 +00:00
cleaners = [ "firefox.cookies" "discord.cache" ];
2024-03-08 08:39:13 +00:00
};
};
};
hmConfig' = {
inherit nixosConfig;
osConfig = nixosConfig;
} // hmConfig;
2025-01-29 04:48:19 +00:00
in lib.runTests {
2024-03-08 08:39:13 +00:00
testHomeManagerStandaloneEmpty = {
2025-01-29 04:48:19 +00:00
expr =
self.home-manager.hasNixOSConfigAttr { } [ "programs" "firefox" "enable" ]
false;
2024-03-08 08:39:13 +00:00
expected = false;
};
testHomeManagerStandalone = {
2025-01-29 04:48:19 +00:00
expr = self.home-manager.hasNixOSConfigAttr hmConfig [
"programs"
"firefox"
"enable"
] false;
2024-03-08 08:39:13 +00:00
expected = false;
};
testHomeManagerWithinNixOS = {
2025-01-29 04:48:19 +00:00
expr = self.home-manager.hasNixOSConfigAttr hmConfig' [
"programs"
"firefox"
"enable"
] false;
2024-03-08 08:39:13 +00:00
expected = true;
};
}