2024-06-04 18:23:39 +00:00
|
|
|
{ pkgs ? import <nixpkgs> { }, enableBig ? true }:
|
2020-10-12 00:22:58 +00:00
|
|
|
|
|
|
|
let
|
|
|
|
|
|
|
|
lib = import ../modules/lib/stdlib-extended.nix pkgs.lib;
|
|
|
|
|
2024-06-04 18:23:39 +00:00
|
|
|
nmtSrc = fetchTarball {
|
|
|
|
url = "https://git.sr.ht/~rycee/nmt/archive/v0.5.1.tar.gz";
|
|
|
|
sha256 = "0qhn7nnwdwzh910ss78ga2d00v42b0lspfd7ybl61mpfgz3lmdcj";
|
2020-10-12 00:22:58 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
modules = import ../modules/modules.nix {
|
|
|
|
inherit lib pkgs;
|
|
|
|
check = false;
|
2024-06-04 18:23:39 +00:00
|
|
|
} ++ [{
|
|
|
|
# Bypass <nixpkgs> reference inside modules/modules.nix to make the test
|
|
|
|
# suite more pure.
|
|
|
|
_module.args.pkgsPath = pkgs.path;
|
2023-01-10 09:35:00 +00:00
|
|
|
|
2024-06-04 18:23:39 +00:00
|
|
|
# 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";
|
|
|
|
homeDirectory = "/home/hm-user";
|
|
|
|
stateVersion = lib.mkDefault "18.09";
|
|
|
|
};
|
2020-10-12 00:22:58 +00:00
|
|
|
|
2024-06-04 18:23:39 +00:00
|
|
|
# Avoid including documentation since this will cause
|
|
|
|
# unnecessary rebuilds of the tests.
|
|
|
|
manual.manpages.enable = lib.mkDefault false;
|
2021-07-02 22:36:30 +00:00
|
|
|
|
2024-06-04 18:23:39 +00:00
|
|
|
imports = [ ./asserts.nix ./big-test.nix ./stubs.nix ];
|
2023-01-10 09:35:00 +00:00
|
|
|
|
2024-06-04 18:23:39 +00:00
|
|
|
test.enableBig = enableBig;
|
|
|
|
}];
|
2020-10-12 00:22:58 +00:00
|
|
|
|
2021-11-04 16:42:44 +00:00
|
|
|
isDarwin = pkgs.stdenv.hostPlatform.isDarwin;
|
|
|
|
isLinux = pkgs.stdenv.hostPlatform.isLinux;
|
|
|
|
|
2024-06-04 18:23:39 +00:00
|
|
|
in import nmtSrc {
|
2020-10-12 00:22:58 +00:00
|
|
|
inherit lib pkgs modules;
|
|
|
|
testedAttrPath = [ "home" "activationPackage" ];
|
|
|
|
tests = builtins.foldl' (a: b: a // (import b)) { } ([
|
2023-08-08 10:19:01 +00:00
|
|
|
./lib/generators
|
2020-10-12 00:22:58 +00:00
|
|
|
./lib/types
|
|
|
|
./modules/files
|
|
|
|
./modules/home-environment
|
|
|
|
./modules/misc/fontconfig
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/misc/manual
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/misc/nix
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/misc/specialisation
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/aerc
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/alacritty
|
|
|
|
./modules/programs/alot
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/antidote
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/aria2
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/programs/atuin
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/autojump
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/bacon
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/bash
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/programs/bat
|
|
|
|
./modules/programs/bottom
|
|
|
|
./modules/programs/broot
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/browserpass
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/btop
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/carapace
|
|
|
|
./modules/programs/cava
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/comodoro
|
|
|
|
./modules/programs/darcs
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/dircolors
|
|
|
|
./modules/programs/direnv
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/emacs
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/fastfetch
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/feh
|
|
|
|
./modules/programs/fish
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/gallery-dl
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/gh
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/gh-dash
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/git
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/git-cliff
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/gpg
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/gradle
|
|
|
|
./modules/programs/granted
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/helix
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/himalaya
|
|
|
|
./modules/programs/htop
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/hyfetch
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/i3status
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/programs/irssi
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/jujutsu
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/joplin-desktop
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/k9s
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/kakoune
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/khal
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/khard
|
|
|
|
./modules/programs/kitty
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/ledger
|
2021-12-03 05:30:34 +00:00
|
|
|
./modules/programs/less
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/lf
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/lsd
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/lieer
|
|
|
|
./modules/programs/man
|
|
|
|
./modules/programs/mbsync
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/micro
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/mise
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/mpv
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/mu
|
|
|
|
./modules/programs/mujmap
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/ncmpcpp
|
|
|
|
./modules/programs/ne
|
|
|
|
./modules/programs/neomutt
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/neovim
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/newsboat
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/nheko
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/nix-index
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/programs/nnn
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/nushell
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/oh-my-posh
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/openstackclient
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/pandoc
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/papis
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/pet
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/pistol
|
|
|
|
./modules/programs/pls
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/poetry
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/powerline-go
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/pubs
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/pyenv
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/qcal
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/qutebrowser
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/ranger
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/readline
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/rio
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/ripgrep
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/ruff
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/sagemath
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/sapling
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/sbt
|
|
|
|
./modules/programs/scmpuff
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/senpai
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/sftpman
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/sioyek
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/programs/sm64ex
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/spotify-player
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/ssh
|
|
|
|
./modules/programs/starship
|
2021-12-03 05:30:34 +00:00
|
|
|
./modules/programs/taskwarrior
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/tealdeer
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/texlive
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/thefuck
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/tmate
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/tmux
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/topgrade
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/translate-shell
|
|
|
|
./modules/programs/vim-vint
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/vscode
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/watson
|
|
|
|
./modules/programs/wezterm
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/yazi
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/zellij
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/zk
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/zplug
|
|
|
|
./modules/programs/zsh
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/services/syncthing/common
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/xresources
|
2021-11-04 16:42:44 +00:00
|
|
|
] ++ lib.optionals isDarwin [
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/launchd
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/espanso-darwin
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/services/git-sync-darwin
|
|
|
|
./modules/services/imapnotify-darwin
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/nix-gc-darwin
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/targets-darwin
|
2021-11-04 16:42:44 +00:00
|
|
|
] ++ lib.optionals isLinux [
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/config/i18n
|
|
|
|
./modules/i18n/input-method
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/misc/debug
|
|
|
|
./modules/misc/editorconfig
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/misc/gtk
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/misc/numlock
|
|
|
|
./modules/misc/pam
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/misc/qt
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/misc/xdg
|
|
|
|
./modules/misc/xsession
|
|
|
|
./modules/programs/abook
|
|
|
|
./modules/programs/autorandr
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/awscli
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/beets # One test relies on services.mpd
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/bemenu
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/borgmatic
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/boxxy
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/firefox
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/foot
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/freetube
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/fuzzel
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/getmail
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/gnome-shell
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/gnome-terminal
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/programs/hexchat
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/hyprlock
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/i3blocks
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/i3status-rust
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/imv
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/kodi
|
|
|
|
./modules/programs/looking-glass-client
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/mangohud
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/ncmpcpp-linux
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/pqiv
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/rbw
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/rofi
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/rofi-pass
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/swaylock
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/swayr
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/terminator
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/thunderbird
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/tofi
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/programs/waybar
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/programs/wlogout
|
|
|
|
./modules/programs/wofi
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/programs/wpaperd
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/programs/xmobar
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/programs/yambar
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/programs/yt-dlp
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/activitywatch
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/services/avizo
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/services/barrier
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/borgmatic
|
|
|
|
./modules/services/cachix-agent
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/services/cliphist
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/clipman
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/services/comodoro
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/conky
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/services/darkman
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/services/devilspie2
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/services/dropbox
|
|
|
|
./modules/services/emacs
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/espanso
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/services/flameshot
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/services/fluidsynth
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/services/fnott
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/fusuma
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/services/git-sync
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/gpg-agent
|
|
|
|
./modules/services/gromit-mpx
|
|
|
|
./modules/services/home-manager-auto-upgrade
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/hypridle
|
|
|
|
./modules/services/hyprpaper
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/services/imapnotify
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/services/kanshi
|
|
|
|
./modules/services/lieer
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/mopidy
|
|
|
|
./modules/services/mpd
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/services/mpd-mpris
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/services/mpdris2
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/nix-gc
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/services/osmscout-server
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/services/pantalaimon
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/parcellite
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/services/pass-secret-service
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/services/pasystray
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/services/pbgopy
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/picom
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/services/playerctld
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/services/polybar
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/recoll
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/services/redshift-gammastep
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/remmina
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/services/screen-locker
|
2024-01-05 11:06:15 +00:00
|
|
|
./modules/services/signaturepdf
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/swayidle
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/swaync
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/services/swayosd
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/services/sxhkd
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/services/syncthing/linux
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/services/trayer
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/twmn
|
|
|
|
./modules/services/udiskie
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/services/window-managers/bspwm
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/window-managers/herbstluftwm
|
2023-08-08 10:19:01 +00:00
|
|
|
./modules/services/window-managers/hyprland
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/services/window-managers/i3
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/window-managers/river
|
2023-01-10 09:35:00 +00:00
|
|
|
./modules/services/window-managers/spectrwm
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/services/window-managers/sway
|
2021-07-02 22:36:30 +00:00
|
|
|
./modules/services/wlsunset
|
2024-06-04 18:23:39 +00:00
|
|
|
./modules/services/wob
|
2021-11-04 16:42:44 +00:00
|
|
|
./modules/services/xsettingsd
|
2020-10-12 00:22:58 +00:00
|
|
|
./modules/systemd
|
|
|
|
./modules/targets-linux
|
|
|
|
]);
|
|
|
|
}
|