home-manager/modules/misc/pam.nix
2019-04-03 00:09:56 +02:00

37 lines
792 B
Nix

{ config, lib, pkgs, ... }:
with lib;
let
vars = config.pam.sessionVariables;
in
{
meta.maintainers = [ maintainers.rycee ];
options = {
pam.sessionVariables = mkOption {
default = {};
type = with types; attrsOf (either int str);
example = { EDITOR = "vim"; };
description = ''
Environment variables that will be set for the PAM session.
The variable values must be as described in
<citerefentry>
<refentrytitle>pam_env.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>.
'';
};
};
config = mkIf (vars != {}) {
home.file.".pam_environment".text =
concatStringsSep "\n" (
mapAttrsToList (n: v: "${n} OVERRIDE=\"${toString v}\"") vars
) + "\n";
};
}