aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/home-manager/tests/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/home-manager/tests/default.nix')
-rw-r--r--infra/libkookie/home-manager/tests/default.nix108
1 files changed, 108 insertions, 0 deletions
diff --git a/infra/libkookie/home-manager/tests/default.nix b/infra/libkookie/home-manager/tests/default.nix
new file mode 100644
index 000000000000..0cfa26bbccba
--- /dev/null
+++ b/infra/libkookie/home-manager/tests/default.nix
@@ -0,0 +1,108 @@
+{ pkgs ? import <nixpkgs> {} }:
+
+let
+
+ lib = import ../modules/lib/stdlib-extended.nix pkgs.lib;
+
+ nmt = pkgs.fetchFromGitLab {
+ owner = "rycee";
+ repo = "nmt";
+ rev = "26af5c54c88695ed73be93a9eae6b71f2d76d04a";
+ sha256 = "1m10cwjh63qkz2rgnm0wk16pxh52lp8i9kjfv6cfhbzl5df4q95p";
+ };
+
+ 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;
+ }
+ ];
+
+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
+ ]);
+}