gnome-keyring configuration

This commit is contained in:
2025-12-23 01:59:50 +01:00
parent c0c37d5fca
commit 12fccea34f
2 changed files with 49 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
{ config, lib, pkgs, namespace, ... }:
let
cfg = config.${namespace}.gnome-keyring;
in {
options.${namespace}.gnome-keyring = {
enable = lib.mkEnableOption "Enable GNOME Keyring integration";
};
config = lib.mkIf cfg.enable {
services.gnome-keyring = {
enable = true;
components = [ "secrets" "ssh" ];
};
# If using SDDM:
security.pam.services.sddm.enableGnomeKeyring = true;
# Also generally useful for other login methods
security.pam.services.login.enableGnomeKeyring = true;
# If using GDM:
security.pam.services.gdm.enableGnomeKeyring = true;
environment.systemPackages = with pkgs; [
gnome.seahorse # Provides a GUI for managing the keyring
];
environment.variables = {
# Ensure GNOME Keyring is used for SSH keys
SSH_AUTH_SOCK = "${pkgs.gnome-keyring}/run/gnome-keyring-ssh-socket";
PASSWORD_STORE = "gnome-libsecret";
};
};
}

View File

@@ -51,6 +51,9 @@
displayManager.defaultSession = "gnome"; displayManager.defaultSession = "gnome";
desktopManager.plasma6.enable = true; desktopManager.plasma6.enable = true;
# Enable GNOME Keyring and KDE KWallet integration
my-namespace.gnome-keyring.enable = true;
xserver = { xserver = {
enable = true; # Enable the deprecated X11 teletype terminal connection system. enable = true; # Enable the deprecated X11 teletype terminal connection system.
@@ -143,8 +146,15 @@
# Install firefox. # Install firefox.
programs.firefox.enable = true; programs.firefox.enable = true;
# Enable XWayland for X11 application compatibility
programs.xwayland.enable = true; programs.xwayland.enable = true;
# docker
virtualisation.docker = {
enable = true;
};
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@@ -156,6 +166,13 @@
(python312.withPackages (ps: with ps; [ websockets ])) (python312.withPackages (ps: with ps; [ websockets ]))
kdePackages.qtwebsockets kdePackages.qtwebsockets
kdePackages.qtwebchannel kdePackages.qtwebchannel
kdePackages.korganizer
kdePackages.akonadi
kdePackages.akonadi-calendar
kdePackages.akonadi-contacts
javaPackages.compiler.openjdk25
javaPackages.compiler.openjdk21
linux-wallpaperengine
qt6.qtwebengine qt6.qtwebengine
gnome-tweaks gnome-tweaks
qemu qemu