summaryrefslogtreecommitdiff
path: root/os/core/security.nix
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2025-12-24 16:21:00 +0100
committeradikro <adikro@disroot.org>2025-12-24 16:21:00 +0100
commit6aaa5993e4c1cfb205ed555d958702f9bba1770d (patch)
tree3af8cf20967cf10542edd2e51232b1da70002fde /os/core/security.nix
parent2ceabfd1d1dc03ca895e960048b73a82e29e45e8 (diff)
a bunch of changes, renames sys to os and refactored some of the logic
Diffstat (limited to 'os/core/security.nix')
-rw-r--r--os/core/security.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/os/core/security.nix b/os/core/security.nix
new file mode 100644
index 0000000..cfc8bf6
--- /dev/null
+++ b/os/core/security.nix
@@ -0,0 +1,38 @@
+{ config, lib, pkgs, ... }:
+let
+ cfg = config.sys.core.security;
+in
+{
+ options.sys.core.security.enable = lib.mkEnableOption "core security services";
+ config = lib.mkIf cfg.enable {
+ services.gnome.gnome-keyring.enable = true;
+
+ security = {
+ polkit.enable = true;
+ rtkit.enable = true;
+ };
+
+ programs.gnupg.agent = {
+ enable = true;
+ enableSSHSupport = true;
+ pinentryPackage = pkgs.pinentry-curses;
+ };
+
+ 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
+ ];
+ };
+}