Add modules/home/keys.nix (nomarchy.keys.enable, default on): one agent — services.gpg-agent with enableSshSupport fronts SSH, so a single pinentry handles every passphrase (GPG signing/decryption and SSH key unlocks). pinentry-qt for a reliable native-Wayland prompt under Hyprland, themed by Stylix's Qt config. Cache TTLs 30 min / 2 h. SSH_AUTH_SOCK is exported by the agent's zsh integration (terminal git/ssh is the supported path). gnome-keyring stays the Secret Service — modern versions run no SSH agent, so there's no socket contention; screen lock doesn't flush the agent cache. nix flake check passes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
52 lines
1.8 KiB
Nix
52 lines
1.8 KiB
Nix
# Nomarchy — Home Manager entry point.
|
|
# Consume this via homeModules.nomarchy (flake.nix), which also pulls in
|
|
# the stylix home module that stylix.nix configures.
|
|
{ config, pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./options.nix # the nomarchy.* option surface
|
|
./theme.nix # ingests theme-state.json, owns the live-sync hooks
|
|
./stylix.nix # GTK/Qt/cursor/fonts from the same JSON
|
|
./hyprland.nix
|
|
./waybar.nix
|
|
./ghostty.nix
|
|
./btop.nix
|
|
./rofi.nix # launcher theming + the nomarchy-menu dispatcher
|
|
./swaync.nix # notification daemon, themed from the same JSON
|
|
./idle.nix # hyprlock + hypridle, themed from the same JSON
|
|
./yazi.nix # flagship TUI file manager, themed + plugins
|
|
./osd.nix # swayosd volume/brightness OSD, themed
|
|
./shell.nix # zsh + starship + bat/eza/zoxide, themed
|
|
./keys.nix # gpg-agent (fronts SSH) + pinentry-qt
|
|
];
|
|
|
|
# Clipboard history (wl-paste watcher); browsed via the SUPER+CTRL+V
|
|
# menu module.
|
|
services.cliphist.enable = true;
|
|
|
|
# Wifi from the bar: nm-applet lives in waybar's tray (SNI flag via
|
|
# preferStatusNotifierItems — without it there is no tray icon).
|
|
services.network-manager-applet.enable = true;
|
|
xsession.preferStatusNotifierItems = true;
|
|
|
|
home.stateVersion = "26.05";
|
|
|
|
home.packages = with pkgs; [
|
|
awww # wallpaper daemon with animated transitions (the swww fork)
|
|
libnotify
|
|
];
|
|
|
|
home.sessionVariables = {
|
|
TERMINAL = config.nomarchy.terminal;
|
|
NIXOS_OZONE_WL = "1"; # Electron/Chromium native Wayland
|
|
|
|
# Where the Nomarchy flake (and therefore theme-state.json) lives on
|
|
# disk. nomarchy-theme-sync writes its state here; rebuilds read from
|
|
# here. Clone/symlink your flake to this path.
|
|
NOMARCHY_PATH = "$HOME/.nomarchy";
|
|
};
|
|
|
|
programs.home-manager.enable = true;
|
|
}
|