mirror of
https://github.com/nix-community/home-manager
synced 2024-11-01 00:39:45 +01:00
9d53afb709
This adds a "test.asserts" module that currently just provides a convenient way to assert on the content of warnings. By default all tests will assert that no warnings are given.
110 lines
3.1 KiB
Nix
110 lines
3.1 KiB
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
|
|
let
|
|
|
|
lib = import ../modules/lib/stdlib-extended.nix pkgs.lib;
|
|
|
|
nmt = pkgs.fetchFromGitLab {
|
|
owner = "rycee";
|
|
repo = "nmt";
|
|
rev = "d2cc8c1042b1c2511f68f40e2790a8c0e29eeb42";
|
|
sha256 = "1ykcvyx82nhdq167kbnpgwkgjib8ii7c92y3427v986n2s5lsskc";
|
|
};
|
|
|
|
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";
|
|
|
|
# Avoid including documentation since this will cause
|
|
# unnecessary rebuilds of the tests.
|
|
manual.manpages.enable = false;
|
|
|
|
imports = [ ./asserts.nix ];
|
|
}
|
|
];
|
|
|
|
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/alot
|
|
./modules/programs/aria2
|
|
./modules/programs/autojump
|
|
./modules/programs/bash
|
|
./modules/programs/browserpass
|
|
./modules/programs/dircolors
|
|
./modules/programs/direnv
|
|
./modules/programs/feh
|
|
./modules/programs/fish
|
|
./modules/programs/gh
|
|
./modules/programs/git
|
|
./modules/programs/gpg
|
|
./modules/programs/i3status
|
|
./modules/programs/kakoune
|
|
./modules/programs/lf
|
|
./modules/programs/lieer
|
|
./modules/programs/man
|
|
./modules/programs/mbsync
|
|
./modules/programs/ncmpcpp
|
|
./modules/programs/ne
|
|
./modules/programs/neomutt
|
|
./modules/programs/newsboat
|
|
./modules/programs/nushell
|
|
./modules/programs/powerline-go
|
|
./modules/programs/qutebrowser
|
|
./modules/programs/readline
|
|
./modules/programs/ssh
|
|
./modules/programs/starship
|
|
./modules/programs/texlive
|
|
./modules/programs/tmux
|
|
./modules/programs/vscode
|
|
./modules/programs/zplug
|
|
./modules/programs/zsh
|
|
./modules/xresources
|
|
] ++ lib.optionals pkgs.stdenv.hostPlatform.isDarwin [
|
|
./modules/targets-darwin
|
|
] ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux [
|
|
./modules/misc/debug
|
|
./modules/misc/numlock
|
|
./modules/misc/pam
|
|
./modules/misc/xdg
|
|
./modules/misc/xsession
|
|
./modules/programs/abook
|
|
./modules/programs/autorandr
|
|
./modules/programs/firefox
|
|
./modules/programs/getmail
|
|
./modules/programs/i3status-rust
|
|
./modules/programs/ncmpcpp-linux
|
|
./modules/programs/neovim # Broken package dependency on Darwin.
|
|
./modules/programs/rofi
|
|
./modules/programs/rofi-pass
|
|
./modules/programs/waybar
|
|
./modules/services/dropbox
|
|
./modules/services/emacs
|
|
./modules/services/fluidsynth
|
|
./modules/services/kanshi
|
|
./modules/services/lieer
|
|
./modules/services/pbgopy
|
|
./modules/services/polybar
|
|
./modules/services/sxhkd
|
|
./modules/services/window-managers/i3
|
|
./modules/services/window-managers/sway
|
|
./modules/services/wlsunset
|
|
./modules/systemd
|
|
./modules/targets-linux
|
|
]);
|
|
}
|