1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-25 03:09:47 +01:00
home-manager/tests/default.nix
Robert Helgesson 95b95b1407
tests: improve test purity
Before the XDG variables would be set from the user's environment, if
available. This would break some tests.

With this change the tests should be fully deterministic.

Fixes #1190
2020-04-24 21:46:34 +02:00

73 lines
1.9 KiB
Nix

{ pkgs ? import <nixpkgs> {} }:
let
lib = import ../modules/lib/stdlib-extended.nix pkgs.lib;
nmt = pkgs.fetchFromGitLab {
owner = "rycee";
repo = "nmt";
rev = "8e130d655ec396ce165763c95bbf4ac429810ca8";
sha256 = "1jbljr06kg1ycdn24hj8xap16axq11rhb6hm4949fz48n57pwwps";
};
modules = import ../modules/modules.nix {
inherit lib pkgs;
check = false;
} ++ [
# Fix impurities. Without these some of the user's environment
# will leak into the tests through `builtins.getEnv`.
{
xdg.enable = true;
home.username = "hm-user";
home.homeDirectory = "/home/hm-user";
}
];
in
import nmt {
inherit lib pkgs modules;
testedAttrPath = [ "home" "activationPackage" ];
tests = builtins.foldl' (a: b: a // (import b)) { } ([
./lib/types
./modules/files
./modules/home-environment
./modules/misc/fontconfig
./modules/programs/alacritty
./modules/programs/bash
./modules/programs/browserpass
./modules/programs/fish
./modules/programs/git
./modules/programs/gpg
./modules/programs/kakoune
./modules/programs/lf
./modules/programs/lieer
./modules/programs/mbsync
./modules/programs/neomutt
./modules/programs/newsboat
./modules/programs/qutebrowser
./modules/programs/readline
./modules/programs/ssh
./modules/programs/starship
./modules/programs/texlive
./modules/programs/tmux
./modules/programs/zsh
./modules/xresources
] ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux [
./modules/misc/debug
./modules/misc/pam
./modules/misc/xdg
./modules/misc/xsession
./modules/programs/abook
./modules/programs/firefox
./modules/programs/getmail
./modules/services/lieer
./modules/programs/rofi
./modules/services/polybar
./modules/services/sxhkd
./modules/services/window-managers/i3
./modules/systemd
./modules/targets
]);
}