{ config, lib, pkgs, ... }: with lib; let expectedXdgDataDirs = concatStringsSep ":" [ "\${NIX_STATE_DIR:-/nix/var/nix}/profiles/default/share" "/home/hm-user/.nix-profile/share" "/usr/share/ubuntu" "/usr/local/share" "/usr/share" "/var/lib/snapd/desktop" "/foo" ]; in { config = { targets.genericLinux.enable = true; xdg.systemDirs.data = [ "/foo" ]; nmt.script = '' envFile=home-files/.config/environment.d/10-home-manager.conf assertFileExists $envFile assertFileContains $envFile \ 'XDG_DATA_DIRS=${expectedXdgDataDirs}''${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}' assertFileContains $envFile \ 'TERMINFO_DIRS=/home/hm-user/.nix-profile/share/terminfo:$TERMINFO_DIRS''${TERMINFO_DIRS:+:}/etc/terminfo:/lib/terminfo:/usr/share/terminfo' sessionVarsFile=home-path/etc/profile.d/hm-session-vars.sh assertFileExists $sessionVarsFile assertFileContains $sessionVarsFile \ '. "${pkgs.nix}/etc/profile.d/nix.sh"' assertFileContains \ home-path/etc/profile.d/hm-session-vars.sh \ 'export TERM="$TERM"' ''; }; }