1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-14 07:09:45 +01:00
home-manager/modules/misc/pam.nix

41 lines
880 B
Nix
Raw Normal View History

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