kbd service: add system-wise console resources
This commit is contained in:
parent
489bbf0609
commit
6c11d9dd55
2 changed files with 19 additions and 5 deletions
|
@ -41,6 +41,15 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
consolePackages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [];
|
||||
description = ''
|
||||
List of additional packages that provide console fonts, keymaps and
|
||||
other resources.
|
||||
'';
|
||||
};
|
||||
|
||||
consoleFont = mkOption {
|
||||
type = types.str;
|
||||
default = "Lat2-Terminus16";
|
||||
|
|
|
@ -13,6 +13,12 @@ let
|
|||
${colors}
|
||||
'';
|
||||
|
||||
kbdEnv = pkgs.buildEnv {
|
||||
name = "kbd-env";
|
||||
paths = [ pkgs.kbd ] ++ config.i18n.consolePackages;
|
||||
pathsToLink = [ "/share/consolefonts" "/share/consoletrans" "/share/keymaps" "/share/unimaps" ];
|
||||
};
|
||||
|
||||
setVconsole = !config.boot.isContainer;
|
||||
in
|
||||
|
||||
|
@ -53,10 +59,9 @@ in
|
|||
|
||||
# Let systemd-vconsole-setup.service do the work of setting up the
|
||||
# virtual consoles.
|
||||
environment.etc = [ {
|
||||
target = "vconsole.conf";
|
||||
source = vconsoleConf;
|
||||
} ];
|
||||
environment.etc."vconsole.conf".source = vconsoleConf;
|
||||
# Provide kbd with additional packages.
|
||||
environment.etc."kbd".source = "${kbdEnv}/share";
|
||||
|
||||
# This is identical to the systemd-vconsole-setup.service unit
|
||||
# shipped with systemd, except that it uses /dev/tty1 instead of
|
||||
|
@ -66,7 +71,7 @@ in
|
|||
{ wantedBy = [ "multi-user.target" ];
|
||||
before = [ "display-manager.service" ];
|
||||
after = [ "systemd-udev-settle.service" ];
|
||||
restartTriggers = [ vconsoleConf ];
|
||||
restartTriggers = [ vconsoleConf kbdEnv ];
|
||||
};
|
||||
})
|
||||
];
|
||||
|
|
Loading…
Reference in a new issue