home-manager/modules/misc/pam.nix

37 lines
763 B
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
with lib;
let
vars = config.pam.sessionVariables;
2018-01-04 15:11:23 +00:00
in
{
meta.maintainers = [ maintainers.rycee ];
2018-01-04 15:11:23 +00:00
options = {
pam.sessionVariables = mkOption {
default = {};
type = types.attrs;
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>.
'';
};
};
2018-01-04 15:11:23 +00:00
config = mkIf (vars != {}) {
home.file.".pam_environment".text =
concatStringsSep "\n" (
2018-01-04 15:11:23 +00:00
mapAttrsToList (n: v: "${n} OVERRIDE=${toString v}") vars
) + "\n";
};
}