From dd2f7a242408cc86c7646c9595c3e9467c6bdd67 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 29 Jan 2026 12:17:28 -0600 Subject: fix(keyring,hyprpm): use template keyring, fix hyprpm warning Keyring: - Add empty-password login.keyring template to dotfiles - Remove init-keyring script (secretstorage API requires prompting) - Remove python-secretstorage dependency - Remove PAM gnome-keyring config (not needed with template approach) Hyprpm: - Only run hyprpm reload if plugins are installed - Prevents "Failed to load plugins" warning on fresh installs Co-Authored-By: Claude Opus 4.5 --- dotfiles/hyprland/.local/bin/init-keyring | 46 ------------------------------- 1 file changed, 46 deletions(-) delete mode 100755 dotfiles/hyprland/.local/bin/init-keyring (limited to 'dotfiles/hyprland/.local') diff --git a/dotfiles/hyprland/.local/bin/init-keyring b/dotfiles/hyprland/.local/bin/init-keyring deleted file mode 100755 index c8bb733..0000000 --- a/dotfiles/hyprland/.local/bin/init-keyring +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python3 -"""Initialize gnome-keyring with empty password for autologin systems. - -This script creates the 'login' keyring collection with an empty password, -allowing gnome-keyring to auto-unlock without PAM password entry. - -Only runs once - exits immediately if login keyring already exists. -""" - -import os -import sys - -# Check if login keyring already exists -keyring_dir = os.path.expanduser("~/.local/share/keyrings") -login_keyring = os.path.join(keyring_dir, "login.keyring") - -if os.path.exists(login_keyring): - sys.exit(0) - -try: - import secretstorage -except ImportError: - print("python-secretstorage not installed", file=sys.stderr) - sys.exit(1) - -try: - connection = secretstorage.dbus_init() - - # Check if login collection exists via D-Bus - collections = list(secretstorage.get_all_collections(connection)) - for collection in collections: - if collection.get_label() == "login" or collection.get_label() == "Login": - # Already exists - sys.exit(0) - - # Create login collection with empty password - secretstorage.create_collection(connection, "Login", password=b"") - - # Set as default - os.makedirs(keyring_dir, exist_ok=True) - with open(os.path.join(keyring_dir, "default"), "w") as f: - f.write("login") - -except Exception as e: - print(f"Failed to initialize keyring: {e}", file=sys.stderr) - sys.exit(1) -- cgit v1.2.3