Merge pull request #201427 from figsoda/path-var

nixos/environment: accept path for variables and sessionVariables
This commit is contained in:
figsoda 2022-12-27 15:02:29 -05:00 committed by GitHub
commit 0eef5edd1f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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 {