summaryrefslogtreecommitdiff
path: root/os/core/security.nix
blob: e8c541c74f7944ef8ba13e128b1d0ecbdcebd57e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{ config, lib, pkgs, ... }:
let
  cfg = config.os.core.security;
in
{
  options.os.core.security.enable = lib.mkEnableOption "core security services";
  config = lib.mkIf cfg.enable {
    services.gnome.gnome-keyring.enable = true;

    security = {
      pam.services.swaylock = {};
      polkit.enable = true;
      rtkit.enable = true;
    };

    systemd.user.services.polkit-gnome-authentication-agent-1 = {
      description = "gnome-polkit-authentication-agent-1";
      wantedBy = [ "graphical-session.target" ];
      serviceConfig = {
        Type = "simple";
        ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
        Restart = "on-failure";
        RestartSec = 1;
        TimeoutStopSec = 10;
      };
    };

    environment.systemPackages = with pkgs; [
      veracrypt
      bitwarden-desktop
    ];
  };
}