mirror of
https://github.com/nix-community/home-manager
synced 2024-08-21 19:46:30 +02:00
This will reduce the system closure size by about 200MB under NixOS by sharing the glibcLocales package. When home-manager is installed on Linux without the NixOS module, all glibc locales are installed, as before. Resolves: #2333
32 lines
1.2 KiB
Nix
32 lines
1.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
config = {
|
|
xdg.systemDirs.config = [ "/etc/xdg" "/foo/bar" ];
|
|
xdg.systemDirs.data = [ "/usr/local/share" "/usr/share" "/baz/quux" ];
|
|
|
|
nmt.script = ''
|
|
envFile=home-files/.config/environment.d/10-home-manager.conf
|
|
assertFileExists $envFile
|
|
assertFileContent $envFile ${
|
|
pkgs.writeText "expected" ''
|
|
LOCALE_ARCHIVE_2_27=${config.i18n.glibcLocales}/lib/locale/locale-archive
|
|
XDG_CACHE_HOME=/home/hm-user/.cache
|
|
XDG_CONFIG_DIRS=/etc/xdg:/foo/bar''${XDG_CONFIG_DIRS:+:$XDG_CONFIG_DIRS}
|
|
XDG_CONFIG_HOME=/home/hm-user/.config
|
|
XDG_DATA_DIRS=/usr/local/share:/usr/share:/baz/quux''${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
|
|
XDG_DATA_HOME=/home/hm-user/.local/share
|
|
XDG_STATE_HOME=/home/hm-user/.local/state
|
|
''
|
|
}
|
|
|
|
sessionVarsFile=home-path/etc/profile.d/hm-session-vars.sh
|
|
assertFileExists $sessionVarsFile
|
|
assertFileContains $sessionVarsFile \
|
|
'export XDG_CONFIG_DIRS="/etc/xdg:/foo/bar''${XDG_CONFIG_DIRS:+:$XDG_CONFIG_DIRS}"'
|
|
assertFileContains $sessionVarsFile \
|
|
'export XDG_DATA_DIRS="/usr/local/share:/usr/share:/baz/quux''${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}"'
|
|
'';
|
|
};
|
|
}
|