nixos/environment: accept path for variables and sessionVariables

This commit is contained in:
figsoda 2022-11-15 21:23:54 -05:00
parent ce89321950
commit 579f230b0a
2 changed files with 4 additions and 5 deletions

View File

@ -42,8 +42,8 @@ in
strings. The latter is concatenated, interspersed with colon strings. The latter is concatenated, interspersed with colon
characters. characters.
''; '';
type = with types; attrsOf (either str (listOf str)); type = with types; attrsOf (oneOf [ str path (listOf str) ]);
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v); apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else "${v}");
}; };
environment.profiles = mkOption { environment.profiles = mkOption {

View File

@ -1,6 +1,6 @@
# This module defines a system-wide environment that will be # This module defines a system-wide environment that will be
# initialised by pam_env (that is, not only in shells). # initialised by pam_env (that is, not only in shells).
{ config, lib, pkgs, ... }: { config, lib, options, pkgs, ... }:
with lib; with lib;
@ -32,8 +32,7 @@ in
therefore not possible to use PAM style variables such as therefore not possible to use PAM style variables such as
`@{HOME}`. `@{HOME}`.
''; '';
type = with types; attrsOf (either str (listOf str)); inherit (options.environment.variables) type apply;
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
}; };
environment.profileRelativeSessionVariables = mkOption { environment.profileRelativeSessionVariables = mkOption {