mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-05-01 05:04:16 +02:00
* chore(home): drop AstroNvim bundle and centralize editors Remove the bundled Neovim plugin tree to shrink supply-chain exposure; keep a minimal programs.neovim backup. Daily editing stays Helix-first with Yazi and Zellij. - Add Helix/Neovim docs, glossary, and cheatsheets under core/editors/. - Default EDITOR/VISUAL to hx; use SUDO_EDITOR nvim --clean for sudoedit and other sensitive edits; adjust Nushell buffer_editor accordingly. - Apply Helix Home Manager settings (keys, editor UI) in core/editors/helix. - Keep heavy language-server tooling only in home/base/tui/editors/packages.nix; wire it via an explicit default.nix import so core stays lightweight. - Extend modules/base packages.nix where that profile sets global editor env. * docs: link editors, VS Code, and agents from README Document tui/editors versus core/editors; add root README pointers to GUI vscode (Home Manager) and agents/. Cross-link heavy packages README from core/editors.
57 lines
2.5 KiB
Markdown
57 lines
2.5 KiB
Markdown
# 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
|
|
├── aerospace/ # macOS window manager
|
|
├── 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 (Aerospace, 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
|