1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 11:36:05 +01:00
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 tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
blanket treewide: reformat nixfmt-rfc-style 2025-04-08 08:50:05 -07:00
borgmatic tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
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 tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
clipse clipse: add module (#5777) 2025-02-22 09:40:15 -06:00
comodoro tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
conky tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
copyq tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
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 tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
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 tests: remove with lib (#6511) 2025-02-21 23:20:07 -06:00
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 git-sync: add darwin support 2023-07-24 11:16:09 +02:00
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 home-manager.autoUpgrade: add module 2022-01-28 23:42:25 +01:00
hypridle tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
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 tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
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 tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
mpdscribble treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
nix-gc tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
nix-gc-darwin tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
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 tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
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 tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
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 tldr-update: init (#6401) 2025-02-10 08:34:12 -06:00
trayer treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
trayscale tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
twmn tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
udiskie tests: rework derivation stubbing 2025-02-04 23:58:20 +01:00
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