Files
nix-config/home
Ryan Yin e81767c7b4 fix(hypridle): stop claiming org.freedesktop.ScreenSaver
niri already owns the org.freedesktop.ScreenSaver interface and feeds its inhibitors into the compositor idle notifier, so hypridle's own registration always fails with 'Another service is already providing...'. Set ignore_dbus_inhibit = true so hypridle no longer tries to claim it; D-Bus inhibits are still handled by niri.
2026-09-13 23:56:14 +08:00
..

Home Manager's Submodules

This directory contains all Home Manager configurations organized by platform and functionality.

Current Structure

home/
├── base/              # Cross-platform home manager configurations
│   ├── core/          # Essential applications and settings
│   │   ├── editors/   # Editor configurations (Neovim, Helix)
│   │   ├── shells/    # Shell configurations (Nushell, Zellij)
│   │   └── ...
│   ├── gui/           # GUI applications and desktop settings
│   │   ├── terminal/  # Terminal emulators (Kitty, Alacritty, etc.)
│   │   └── ...
│   ├── tui/           # Terminal/TUI applications
│   │   ├── editors/   # Heavy editor/tooling pkgs only (`packages.nix`; core editors live under `core/editors`)
│   │   ├── encryption/ # GPG, password-store, etc.
│   │   └── ...
│   └── home.nix       # Main home manager entry point
├── linux/             # Linux-specific home manager configurations
│   ├── base/          # Linux base configurations
│   ├── gui/           # Linux GUI applications
│   │   ├── niri/      # Niri window manager
│   │   └── ...
│   ├── editors/       # Linux-specific editors
│   └── ...
├── hosts/             # Host-specific home manager entry modules
│   ├── linux/         # Linux host home modules (ai, shoukei, k3s-*, etc.)
│   └── darwin/        # macOS host home modules (fern, frieren)
└── darwin/            # macOS-specific home manager configurations
    ├── proxy/         # Proxy configurations
    └── ...

Module Overview

  1. base: The base module suitable for both Linux and macOS

    • Cross-platform applications and settings
    • Shared configurations for editors, shells, and essential tools
  2. linux: Linux-specific configuration

    • Desktop environments (Noctalia Shell, Niri compositor)
    • Linux-specific GUI applications
    • System integration tools
  3. darwin: macOS-specific configuration

    • macOS applications and services
    • Platform-specific integrations (Squirrel, etc.)
  4. hosts: Host entry modules for Home Manager

    • Each output should reference only one host home module file
    • Host modules are responsible for importing shared stacks (home/linux/* or home/darwin) and applying host overrides