2.home-manager/tests/modules/services
Andrew Marshall 708074ae6d treewide: Prevent IFD by default
Import-from-derivation (IFD) has problematic performance, and is disabled in
Nixpkgs by policy. It is arguably good practice for libraries to avoid
it whenever possible, as it has poor ergonomics in some cases,
especially with dry builds, as it requires multiple eval+build phases.

As such, prevent its use in Home Manager by default by putting existing
tests that use IFD behind a config. In CI, run a first pass with IFD
disabled, skipping tests without the config. Then run a second pass with
IFD enabled and including tests with the config. This second pass will
also run tests without the config, but they should be cached from the
previous run, so the cost is not double (only eval time should be paid
twice). It’s necessary to change from using NMT’s `run` to `build` as
`run` itself uses IFD.

Of the tests that have the config:

- kitty/theme-to-themeFile: this is a test for deprecated config, and so
  should be removed eventually anyway
- podman: the implementation relies on IFD to create individual systemd
  units from the derivation output, and so it is not straightforward to
  remove the IFD; doing so would require rethinking how the module works
  to instead have the systemd unit files included as-is rather than as
  individually configured units in the Nix config.
2025-05-07 10:34:18 -05:00
..
activitywatch treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
avizo treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
barrier
blanket treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
borgmatic
cachix-agent treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
clipcat clipcat: add module (#6946) 2025-05-02 08:22:35 -05:00
cliphist treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
clipman
clipse clipse: add module (#5777) 2025-02-22 09:40:15 -06:00
comodoro
conky
copyq
darkman treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
davmail treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
devilspie2
dropbox treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
easyeffects treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
emacs treewide: substituteAll -> replaceVars/substitute 2025-04-24 13:40:11 +02:00
emacs-darwin treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
espanso treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
espanso-darwin treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
flameshot treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
fluidsynth
fnott treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
fusuma treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
git-sync treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
git-sync-darwin
glance treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
gpg-agent tests/gpg-agent: add pinentry-program test 2025-04-29 20:36:45 -05:00
gromit-mpx treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
home-manager-auto-expire home-manager-auto-expire: init 2025-04-01 20:14:26 -05:00
home-manager-auto-upgrade
hypridle
hyprpaper treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
hyprpolkitagent treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
hyprsunset hyprsunset: support multiple commands to IPC 2025-04-10 20:55:24 -07:00
imapnotify treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
imapnotify-darwin treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
jankyborders treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
kanshi treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
lieer
linux-wallpaperengine treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
lxqt-policykit-agent treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
macos-remap-keys treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
mako mako: fix example config (#6987) 2025-05-06 21:06:15 -05:00
mopidy treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
mpd mpd: refactor implementation (#6537) 2025-02-27 10:56:56 -06:00
mpd-mpris treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
mpdris2
mpdscribble treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
nix-gc
nix-gc-darwin
ollama tests/ollama: fix darwin test 2025-03-09 00:44:11 -06:00
osmscout-server treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
pantalaimon treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
parcellite treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
pass-secret-service treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
pasystray treewide: use graphical-session.target for GUI services (#5785) 2025-03-07 18:09:12 -06:00
pbgopy
picom treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
playerctld treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
podman-linux treewide: Prevent IFD by default 2025-05-07 10:34:18 -05:00
polkit-gnome treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
polybar treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
recoll treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
redshift-gammastep treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
remmina treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
restic restic: init module (#6729) 2025-04-19 22:53:06 -07:00
screen-locker treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
shikane shikane: init module (#4096) 2025-04-20 20:21:46 -05:00
signaturepdf treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
skhd skhd: add module (#6682) 2025-03-22 22:49:54 -05:00
snixembed
swayidle treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
swaync treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
swayosd treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
swww treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
sxhkd treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
syncthing treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
tldr-update
trayer treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
trayscale
twmn
udiskie
volnoti treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
way-displays way-displays: init module (#6791) 2025-04-11 08:15:26 -05:00
window-managers tests/labwc: fix autostart 2025-04-18 11:35:36 -07:00
wlsunset treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
wob treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
wpaperd wpaperd: add systemd service; move to services/ from programs/ (#6302) 2025-02-22 11:32:15 -06:00
xsettingsd treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
yubikey-agent treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
yubikey-agent-darwin treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00