2021-01-29 16:43:49 +00:00
|
|
|
{ pkgs ? import <nixpkgs> {}, enableBig ? true }:
|
2018-12-10 23:51:48 +00:00
|
|
|
|
|
|
|
let
|
|
|
|
|
2020-01-16 22:41:14 +00:00
|
|
|
lib = import ../modules/lib/stdlib-extended.nix pkgs.lib;
|
|
|
|
|
2022-06-26 18:55:07 +00:00
|
|
|
nmt = fetchTarball {
|
|
|
|
url =
|
2023-05-15 22:23:00 +00:00
|
|
|
"https://gitlab.com/api/v4/projects/rycee%2Fnmt/repository/archive.tar.gz?sha=4df00c569b1badfedffecd7ccd60f794550486db";
|
|
|
|
sha256 = "1cyly1zazgj8z6bazml4js7lqaqvpp8lw045aqchlpvp42bl1lp4";
|
2022-06-26 18:55:07 +00:00
|
|
|
};
|
2018-12-10 23:51:48 +00:00
|
|
|
|
2020-01-26 11:00:03 +00:00
|
|
|
modules = import ../modules/modules.nix {
|
|
|
|
inherit lib pkgs;
|
|
|
|
check = false;
|
2020-04-24 19:41:22 +00:00
|
|
|
} ++ [
|
|
|
|
{
|
2022-06-14 16:38:44 +00:00
|
|
|
# Bypass <nixpkgs> reference inside modules/modules.nix to make the test
|
|
|
|
# suite more pure.
|
|
|
|
_module.args.pkgsPath = pkgs.path;
|
|
|
|
|
2020-06-12 19:59:51 +00:00
|
|
|
# Fix impurities. Without these some of the user's environment
|
|
|
|
# will leak into the tests through `builtins.getEnv`.
|
2020-04-24 19:41:22 +00:00
|
|
|
xdg.enable = true;
|
2022-06-20 22:06:33 +00:00
|
|
|
home = {
|
|
|
|
username = "hm-user";
|
|
|
|
homeDirectory = "/home/hm-user";
|
|
|
|
stateVersion = lib.mkDefault "18.09";
|
|
|
|
};
|
2020-06-12 19:59:51 +00:00
|
|
|
|
|
|
|
# Avoid including documentation since this will cause
|
|
|
|
# unnecessary rebuilds of the tests.
|
2023-06-29 03:07:31 +00:00
|
|
|
manual.manpages.enable = lib.mkDefault false;
|
2020-12-30 16:20:47 +00:00
|
|
|
|
2022-01-02 09:22:50 +00:00
|
|
|
imports = [ ./asserts.nix ./big-test.nix ./stubs.nix ];
|
|
|
|
|
|
|
|
test.enableBig = enableBig;
|
2020-04-24 19:41:22 +00:00
|
|
|
}
|
|
|
|
];
|
2020-01-16 22:41:14 +00:00
|
|
|
|
2021-09-26 09:08:45 +00:00
|
|
|
isDarwin = pkgs.stdenv.hostPlatform.isDarwin;
|
|
|
|
isLinux = pkgs.stdenv.hostPlatform.isLinux;
|
|
|
|
|
2018-12-10 23:51:48 +00:00
|
|
|
in
|
|
|
|
|
|
|
|
import nmt {
|
2020-01-16 22:41:14 +00:00
|
|
|
inherit lib pkgs modules;
|
2018-12-10 23:51:48 +00:00
|
|
|
testedAttrPath = [ "home" "activationPackage" ];
|
2020-01-26 11:00:03 +00:00
|
|
|
tests = builtins.foldl' (a: b: a // (import b)) { } ([
|
2022-11-21 22:05:02 +00:00
|
|
|
./lib/generators
|
2020-01-26 11:00:03 +00:00
|
|
|
./lib/types
|
|
|
|
./modules/files
|
|
|
|
./modules/home-environment
|
|
|
|
./modules/misc/fontconfig
|
2023-06-29 03:07:31 +00:00
|
|
|
./modules/misc/manual
|
2022-03-18 02:47:32 +00:00
|
|
|
./modules/misc/nix
|
2023-06-13 06:44:30 +00:00
|
|
|
./modules/misc/specialisation
|
2022-08-11 21:08:28 +00:00
|
|
|
./modules/programs/aerc
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/alacritty
|
2022-01-25 21:47:27 +00:00
|
|
|
./modules/programs/alot
|
2023-06-15 12:52:33 +00:00
|
|
|
./modules/programs/antidote
|
2020-04-28 18:38:41 +00:00
|
|
|
./modules/programs/aria2
|
2021-10-05 21:05:22 +00:00
|
|
|
./modules/programs/atuin
|
2020-09-18 13:07:40 +00:00
|
|
|
./modules/programs/autojump
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/bash
|
2021-08-12 19:24:19 +00:00
|
|
|
./modules/programs/bat
|
2021-09-13 01:09:31 +00:00
|
|
|
./modules/programs/bottom
|
2021-08-31 16:52:20 +00:00
|
|
|
./modules/programs/broot
|
2023-06-12 09:29:59 +00:00
|
|
|
./modules/programs/browserpass
|
2022-08-17 16:16:01 +00:00
|
|
|
./modules/programs/btop
|
2023-04-14 21:41:51 +00:00
|
|
|
./modules/programs/comodoro
|
2023-03-27 18:25:17 +00:00
|
|
|
./modules/programs/darcs
|
2020-05-06 16:23:40 +00:00
|
|
|
./modules/programs/dircolors
|
2020-06-01 08:08:33 +00:00
|
|
|
./modules/programs/direnv
|
2022-01-02 09:22:50 +00:00
|
|
|
./modules/programs/emacs
|
2020-09-27 12:20:19 +00:00
|
|
|
./modules/programs/feh
|
2019-09-30 07:11:36 +00:00
|
|
|
./modules/programs/fish
|
2022-07-09 04:20:00 +00:00
|
|
|
./modules/programs/gallery-dl
|
2020-10-15 20:25:47 +00:00
|
|
|
./modules/programs/gh
|
2023-05-05 17:25:28 +00:00
|
|
|
./modules/programs/git-cliff
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/git
|
|
|
|
./modules/programs/gpg
|
2022-01-03 23:09:24 +00:00
|
|
|
./modules/programs/helix
|
2021-06-26 22:29:42 +00:00
|
|
|
./modules/programs/himalaya
|
2021-05-18 23:36:08 +00:00
|
|
|
./modules/programs/htop
|
2022-08-01 15:03:41 +00:00
|
|
|
./modules/programs/hyfetch
|
2020-05-01 03:49:20 +00:00
|
|
|
./modules/programs/i3status
|
2021-10-30 18:40:49 +00:00
|
|
|
./modules/programs/irssi
|
2023-01-27 21:15:17 +00:00
|
|
|
./modules/programs/jujutsu
|
2022-10-23 19:22:14 +00:00
|
|
|
./modules/programs/k9s
|
2020-04-16 11:36:21 +00:00
|
|
|
./modules/programs/kakoune
|
2021-04-07 14:18:09 +00:00
|
|
|
./modules/programs/kitty
|
2023-07-04 10:14:47 +00:00
|
|
|
./modules/programs/khal
|
2023-05-11 09:20:49 +00:00
|
|
|
./modules/programs/ledger
|
2021-11-11 10:32:48 +00:00
|
|
|
./modules/programs/less
|
2020-04-18 18:22:09 +00:00
|
|
|
./modules/programs/lf
|
2022-01-25 21:47:27 +00:00
|
|
|
./modules/programs/lieer
|
2020-09-09 06:50:32 +00:00
|
|
|
./modules/programs/man
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/mbsync
|
2022-05-29 16:53:49 +00:00
|
|
|
./modules/programs/micro
|
2021-01-21 23:10:12 +00:00
|
|
|
./modules/programs/mpv
|
2022-02-22 03:24:27 +00:00
|
|
|
./modules/programs/mu
|
2022-05-12 05:11:22 +00:00
|
|
|
./modules/programs/mujmap
|
2020-08-26 19:20:54 +00:00
|
|
|
./modules/programs/ncmpcpp
|
2020-06-16 01:47:58 +00:00
|
|
|
./modules/programs/ne
|
2022-01-25 21:47:27 +00:00
|
|
|
./modules/programs/neomutt
|
2023-04-22 21:33:06 +00:00
|
|
|
./modules/programs/neovim
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/newsboat
|
2022-08-17 11:58:46 +00:00
|
|
|
./modules/programs/nheko
|
2021-05-09 22:13:10 +00:00
|
|
|
./modules/programs/nix-index
|
2021-10-05 23:14:52 +00:00
|
|
|
./modules/programs/nnn
|
2020-07-24 15:15:55 +00:00
|
|
|
./modules/programs/nushell
|
2022-09-29 11:08:53 +00:00
|
|
|
./modules/programs/oh-my-posh
|
2022-01-01 19:51:06 +00:00
|
|
|
./modules/programs/pandoc
|
2023-01-27 04:20:00 +00:00
|
|
|
./modules/programs/papis
|
2021-04-20 20:16:27 +00:00
|
|
|
./modules/programs/pet
|
2022-03-28 15:19:38 +00:00
|
|
|
./modules/programs/pistol
|
2022-09-30 16:53:39 +00:00
|
|
|
./modules/programs/pls
|
2020-10-22 19:25:09 +00:00
|
|
|
./modules/programs/powerline-go
|
2022-02-02 08:55:08 +00:00
|
|
|
./modules/programs/pubs
|
2023-07-07 12:40:34 +00:00
|
|
|
./modules/programs/pyenv
|
2020-04-07 07:10:07 +00:00
|
|
|
./modules/programs/qutebrowser
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/readline
|
2023-06-02 15:59:12 +00:00
|
|
|
./modules/programs/ripgrep
|
2023-06-07 08:32:56 +00:00
|
|
|
./modules/programs/rtx
|
2021-12-30 11:47:44 +00:00
|
|
|
./modules/programs/sagemath
|
2021-01-30 02:29:23 +00:00
|
|
|
./modules/programs/sbt
|
2021-04-23 02:27:29 +00:00
|
|
|
./modules/programs/scmpuff
|
2022-10-01 14:42:51 +00:00
|
|
|
./modules/programs/sioyek
|
2021-07-11 17:28:56 +00:00
|
|
|
./modules/programs/sm64ex
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/ssh
|
2020-02-29 21:17:47 +00:00
|
|
|
./modules/programs/starship
|
2023-02-08 16:59:38 +00:00
|
|
|
./modules/services/syncthing/common
|
2021-11-24 02:33:03 +00:00
|
|
|
./modules/programs/taskwarrior
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/texlive
|
2022-09-21 20:59:50 +00:00
|
|
|
./modules/programs/tmate
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/tmux
|
2021-04-28 23:56:58 +00:00
|
|
|
./modules/programs/topgrade
|
2023-05-11 09:21:18 +00:00
|
|
|
./modules/programs/translate-shell
|
2023-02-09 09:37:26 +00:00
|
|
|
./modules/programs/vim-vint
|
2020-06-22 18:48:22 +00:00
|
|
|
./modules/programs/vscode
|
2022-01-01 23:22:05 +00:00
|
|
|
./modules/programs/watson
|
2022-04-08 06:48:27 +00:00
|
|
|
./modules/programs/wezterm
|
2023-05-11 19:25:46 +00:00
|
|
|
./modules/programs/zellij
|
2020-03-20 10:02:58 +00:00
|
|
|
./modules/programs/zplug
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/zsh
|
|
|
|
./modules/xresources
|
2021-09-26 09:08:45 +00:00
|
|
|
] ++ lib.optionals isDarwin [
|
2021-11-21 16:13:30 +00:00
|
|
|
./modules/launchd
|
2023-07-09 07:34:18 +00:00
|
|
|
./modules/services/imapnotify-darwin
|
2020-08-28 13:42:05 +00:00
|
|
|
./modules/targets-darwin
|
2021-09-26 09:08:45 +00:00
|
|
|
] ++ lib.optionals isLinux [
|
2021-01-23 14:56:38 +00:00
|
|
|
./modules/config/i18n
|
2021-06-15 22:59:25 +00:00
|
|
|
./modules/i18n/input-method
|
2022-01-02 09:22:50 +00:00
|
|
|
./modules/misc/debug
|
2022-09-06 13:50:36 +00:00
|
|
|
./modules/misc/editorconfig
|
2021-04-30 06:56:01 +00:00
|
|
|
./modules/misc/gtk
|
2020-09-18 15:20:45 +00:00
|
|
|
./modules/misc/numlock
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/misc/pam
|
2021-03-04 03:20:17 +00:00
|
|
|
./modules/misc/qt
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/misc/xdg
|
|
|
|
./modules/misc/xsession
|
2020-02-21 18:11:58 +00:00
|
|
|
./modules/programs/abook
|
2020-05-26 12:19:13 +00:00
|
|
|
./modules/programs/autorandr
|
2023-05-11 12:03:54 +00:00
|
|
|
./modules/programs/beets # One test relies on services.mpd
|
2022-09-25 17:27:04 +00:00
|
|
|
./modules/programs/borgmatic
|
2023-06-09 20:32:11 +00:00
|
|
|
./modules/programs/boxxy
|
2022-01-02 09:22:50 +00:00
|
|
|
./modules/programs/firefox
|
2021-05-14 20:42:00 +00:00
|
|
|
./modules/programs/foot
|
2023-03-01 14:57:55 +00:00
|
|
|
./modules/programs/fuzzel
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/getmail
|
2021-06-15 21:39:56 +00:00
|
|
|
./modules/programs/gnome-terminal
|
2021-02-09 11:59:11 +00:00
|
|
|
./modules/programs/hexchat
|
2020-09-02 02:37:42 +00:00
|
|
|
./modules/programs/i3status-rust
|
2023-06-07 12:51:05 +00:00
|
|
|
./modules/programs/imv
|
2021-10-21 14:40:36 +00:00
|
|
|
./modules/programs/kodi
|
2022-10-09 18:11:59 +00:00
|
|
|
./modules/programs/looking-glass-client
|
2021-06-12 07:55:58 +00:00
|
|
|
./modules/programs/mangohud
|
2020-08-26 19:20:54 +00:00
|
|
|
./modules/programs/ncmpcpp-linux
|
2021-06-06 00:09:02 +00:00
|
|
|
./modules/programs/rbw
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/programs/rofi
|
2020-08-03 08:38:22 +00:00
|
|
|
./modules/programs/rofi-pass
|
2022-06-07 19:01:14 +00:00
|
|
|
./modules/programs/swaylock
|
2021-06-17 15:06:47 +00:00
|
|
|
./modules/programs/terminator
|
2022-09-21 16:03:17 +00:00
|
|
|
./modules/programs/thunderbird
|
2020-07-29 20:29:51 +00:00
|
|
|
./modules/programs/waybar
|
2023-01-31 16:06:18 +00:00
|
|
|
./modules/programs/wlogout
|
2023-04-20 06:11:30 +00:00
|
|
|
./modules/programs/wofi
|
2021-06-29 19:02:43 +00:00
|
|
|
./modules/programs/xmobar
|
2022-09-09 07:56:07 +00:00
|
|
|
./modules/programs/yt-dlp
|
2023-04-13 13:29:15 +00:00
|
|
|
./modules/services/avizo
|
2021-04-29 00:48:05 +00:00
|
|
|
./modules/services/barrier
|
2022-09-25 17:27:04 +00:00
|
|
|
./modules/services/borgmatic
|
2022-10-27 17:08:14 +00:00
|
|
|
./modules/services/cachix-agent
|
2022-08-27 18:52:41 +00:00
|
|
|
./modules/services/clipman
|
2023-04-14 21:41:51 +00:00
|
|
|
./modules/services/comodoro
|
2021-07-05 20:29:34 +00:00
|
|
|
./modules/services/devilspie2
|
2020-10-22 19:25:09 +00:00
|
|
|
./modules/services/dropbox
|
|
|
|
./modules/services/emacs
|
2021-10-24 22:27:41 +00:00
|
|
|
./modules/services/espanso
|
2021-10-11 19:41:49 +00:00
|
|
|
./modules/services/flameshot
|
2020-10-22 19:25:09 +00:00
|
|
|
./modules/services/fluidsynth
|
2021-08-10 04:21:03 +00:00
|
|
|
./modules/services/fnott
|
2022-02-16 16:09:46 +00:00
|
|
|
./modules/services/fusuma
|
2021-07-15 01:20:28 +00:00
|
|
|
./modules/services/git-sync
|
2021-11-25 18:28:18 +00:00
|
|
|
./modules/services/gpg-agent
|
2019-02-24 19:33:56 +00:00
|
|
|
./modules/services/gromit-mpx
|
2021-07-05 20:59:19 +00:00
|
|
|
./modules/services/home-manager-auto-upgrade
|
2023-07-09 07:34:18 +00:00
|
|
|
./modules/services/imapnotify
|
2020-04-12 13:42:43 +00:00
|
|
|
./modules/services/kanshi
|
2020-10-22 19:25:09 +00:00
|
|
|
./modules/services/lieer
|
2022-01-21 13:22:52 +00:00
|
|
|
./modules/services/mopidy
|
2022-03-03 23:43:40 +00:00
|
|
|
./modules/services/mpd
|
2022-05-25 16:31:08 +00:00
|
|
|
./modules/services/mpdris2
|
2022-12-27 17:15:51 +00:00
|
|
|
./modules/services/mpd-mpris
|
2021-06-07 21:38:42 +00:00
|
|
|
./modules/services/pantalaimon
|
2022-12-28 21:16:14 +00:00
|
|
|
./modules/services/parcellite
|
2022-05-07 18:05:10 +00:00
|
|
|
./modules/services/pass-secret-service
|
2020-12-03 02:55:37 +00:00
|
|
|
./modules/services/pbgopy
|
2022-04-11 11:32:21 +00:00
|
|
|
./modules/services/picom
|
2021-01-30 17:20:36 +00:00
|
|
|
./modules/services/playerctld
|
2020-03-02 21:31:15 +00:00
|
|
|
./modules/services/polybar
|
2022-02-07 10:54:09 +00:00
|
|
|
./modules/services/recoll
|
2021-04-30 06:56:01 +00:00
|
|
|
./modules/services/redshift-gammastep
|
2021-10-05 16:58:25 +00:00
|
|
|
./modules/services/screen-locker
|
2022-01-03 19:03:20 +00:00
|
|
|
./modules/services/swayidle
|
2023-07-07 08:15:43 +00:00
|
|
|
./modules/services/swayosd
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/services/sxhkd
|
2023-02-08 16:59:38 +00:00
|
|
|
./modules/services/syncthing/linux
|
2021-07-21 20:43:18 +00:00
|
|
|
./modules/services/trayer
|
2021-10-24 13:50:13 +00:00
|
|
|
./modules/services/twmn
|
2022-08-22 15:01:54 +00:00
|
|
|
./modules/services/udiskie
|
2021-06-19 22:40:17 +00:00
|
|
|
./modules/services/window-managers/bspwm
|
2021-11-09 22:17:36 +00:00
|
|
|
./modules/services/window-managers/herbstluftwm
|
2023-04-03 17:39:13 +00:00
|
|
|
./modules/services/window-managers/hyprland
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/services/window-managers/i3
|
2022-07-08 17:31:25 +00:00
|
|
|
./modules/services/window-managers/spectrwm
|
2020-05-11 21:56:40 +00:00
|
|
|
./modules/services/window-managers/sway
|
2020-11-28 00:47:35 +00:00
|
|
|
./modules/services/wlsunset
|
2021-09-30 03:56:05 +00:00
|
|
|
./modules/services/xsettingsd
|
2020-01-26 11:00:03 +00:00
|
|
|
./modules/systemd
|
2020-08-28 13:42:05 +00:00
|
|
|
./modules/targets-linux
|
2020-01-26 11:00:03 +00:00
|
|
|
]);
|
2018-12-10 23:51:48 +00:00
|
|
|
}
|