mirror of
https://github.com/nix-community/home-manager.git
synced 2026-01-12 01:59:37 +08:00
treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
This commit is contained in:
@@ -1,14 +1,23 @@
|
||||
{ config, lib, pkgs, utils, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
utils,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
cfg = config.home-manager;
|
||||
|
||||
serviceEnvironment = lib.optionalAttrs (cfg.backupFileExtension != null) {
|
||||
HOME_MANAGER_BACKUP_EXT = cfg.backupFileExtension;
|
||||
} // lib.optionalAttrs cfg.verbose { VERBOSE = "1"; };
|
||||
serviceEnvironment =
|
||||
lib.optionalAttrs (cfg.backupFileExtension != null) {
|
||||
HOME_MANAGER_BACKUP_EXT = cfg.backupFileExtension;
|
||||
}
|
||||
// lib.optionalAttrs cfg.verbose { VERBOSE = "1"; };
|
||||
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = [ ./common.nix ];
|
||||
|
||||
config = lib.mkMerge [
|
||||
@@ -16,26 +25,29 @@ in {
|
||||
home-manager = {
|
||||
extraSpecialArgs.nixosConfig = config;
|
||||
|
||||
sharedModules = [{
|
||||
key = "home-manager#nixos-shared-module";
|
||||
sharedModules = [
|
||||
{
|
||||
key = "home-manager#nixos-shared-module";
|
||||
|
||||
config = {
|
||||
# The per-user directory inside /etc/profiles is not known by
|
||||
# fontconfig by default.
|
||||
fonts.fontconfig.enable = lib.mkDefault
|
||||
(cfg.useUserPackages && config.fonts.fontconfig.enable);
|
||||
config = {
|
||||
# The per-user directory inside /etc/profiles is not known by
|
||||
# fontconfig by default.
|
||||
fonts.fontconfig.enable = lib.mkDefault (cfg.useUserPackages && config.fonts.fontconfig.enable);
|
||||
|
||||
# Inherit glibcLocales setting from NixOS.
|
||||
i18n.glibcLocales = lib.mkDefault config.i18n.glibcLocales;
|
||||
};
|
||||
}];
|
||||
# Inherit glibcLocales setting from NixOS.
|
||||
i18n.glibcLocales = lib.mkDefault config.i18n.glibcLocales;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
(lib.mkIf (cfg.users != { }) {
|
||||
systemd.services = lib.mapAttrs' (_: usercfg:
|
||||
let username = usercfg.home.username;
|
||||
in lib.nameValuePair
|
||||
"home-manager-${utils.escapeSystemdPath username}" {
|
||||
systemd.services = lib.mapAttrs' (
|
||||
_: usercfg:
|
||||
let
|
||||
username = usercfg.home.username;
|
||||
in
|
||||
lib.nameValuePair "home-manager-${utils.escapeSystemdPath username}" {
|
||||
description = "Home Manager environment for ${username}";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "nix-daemon.socket" ];
|
||||
@@ -44,7 +56,9 @@ in {
|
||||
|
||||
environment = serviceEnvironment;
|
||||
|
||||
unitConfig = { RequiresMountsFor = usercfg.home.homeDirectory; };
|
||||
unitConfig = {
|
||||
RequiresMountsFor = usercfg.home.homeDirectory;
|
||||
};
|
||||
|
||||
stopIfChanged = false;
|
||||
|
||||
@@ -54,37 +68,39 @@ in {
|
||||
TimeoutStartSec = "5m";
|
||||
SyslogIdentifier = "hm-activate-${username}";
|
||||
|
||||
ExecStart = let
|
||||
systemctl =
|
||||
"XDG_RUNTIME_DIR=\${XDG_RUNTIME_DIR:-/run/user/$UID} systemctl";
|
||||
ExecStart =
|
||||
let
|
||||
systemctl = "XDG_RUNTIME_DIR=\${XDG_RUNTIME_DIR:-/run/user/$UID} systemctl";
|
||||
|
||||
sed = "${pkgs.gnused}/bin/sed";
|
||||
sed = "${pkgs.gnused}/bin/sed";
|
||||
|
||||
exportedSystemdVariables = lib.concatStringsSep "|" [
|
||||
"DBUS_SESSION_BUS_ADDRESS"
|
||||
"DISPLAY"
|
||||
"WAYLAND_DISPLAY"
|
||||
"XAUTHORITY"
|
||||
"XDG_RUNTIME_DIR"
|
||||
];
|
||||
exportedSystemdVariables = lib.concatStringsSep "|" [
|
||||
"DBUS_SESSION_BUS_ADDRESS"
|
||||
"DISPLAY"
|
||||
"WAYLAND_DISPLAY"
|
||||
"XAUTHORITY"
|
||||
"XDG_RUNTIME_DIR"
|
||||
];
|
||||
|
||||
setupEnv = pkgs.writeScript "hm-setup-env" ''
|
||||
#! ${pkgs.runtimeShell} -el
|
||||
setupEnv = pkgs.writeScript "hm-setup-env" ''
|
||||
#! ${pkgs.runtimeShell} -el
|
||||
|
||||
# The activation script is run by a login shell to make sure
|
||||
# that the user is given a sane environment.
|
||||
# If the user is logged in, import variables from their current
|
||||
# session environment.
|
||||
eval "$(
|
||||
${systemctl} --user show-environment 2> /dev/null \
|
||||
| ${sed} -En '/^(${exportedSystemdVariables})=/s/^/export /p'
|
||||
)"
|
||||
# The activation script is run by a login shell to make sure
|
||||
# that the user is given a sane environment.
|
||||
# If the user is logged in, import variables from their current
|
||||
# session environment.
|
||||
eval "$(
|
||||
${systemctl} --user show-environment 2> /dev/null \
|
||||
| ${sed} -En '/^(${exportedSystemdVariables})=/s/^/export /p'
|
||||
)"
|
||||
|
||||
exec "$1/activate"
|
||||
'';
|
||||
in "${setupEnv} ${usercfg.home.activationPackage}";
|
||||
exec "$1/activate"
|
||||
'';
|
||||
in
|
||||
"${setupEnv} ${usercfg.home.activationPackage}";
|
||||
};
|
||||
}) cfg.users;
|
||||
}
|
||||
) cfg.users;
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user