mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
docs: refresh stale docs after the VM and backup refactors
This commit is contained in:
1 parent
5d0055b024
commit
97c2d1325d
30 files changed
+178
-305
No files matched your search
+2
-3
@@ -9,7 +9,7 @@ home/
|
||||
├── base/ # Cross-platform home manager configurations
|
||||
│ ├── core/ # Essential applications and settings
|
||||
│ │ ├── editors/ # Editor configurations (Neovim, Helix)
|
||||
│ │ ├── shells/ # Shell configurations (Nushell, Zellij)
|
||||
│ │ ├── shells/ # Shell configurations (bash, Nushell)
|
||||
│ │ └── ...
|
||||
│ ├── gui/ # GUI applications and desktop settings
|
||||
│ │ ├── terminal/ # Terminal emulators (Kitty, Alacritty, etc.)
|
||||
@@ -25,10 +25,9 @@ home/
|
||||
│ │ ├── i3/ # i3 — headless computer-use session (see i3/README.md)
|
||||
│ │ ├── niri/ # Niri window manager
|
||||
│ │ └── ...
|
||||
│ ├── editors/ # Linux-specific editors
|
||||
│ └── ...
|
||||
├── hosts/ # Host-specific home manager entry modules
|
||||
│ ├── linux/ # Linux host home modules (ai, shoukei, k3s-*, etc.)
|
||||
│ ├── linux/ # Linux host home modules (ai, shoukei, kana, ruby, k3s-*, etc.)
|
||||
│ └── darwin/ # macOS host home modules (fern, frieren)
|
||||
└── darwin/ # macOS-specific home manager configurations
|
||||
├── proxy/ # Proxy configurations
|
||||
|
||||
+11
-6
@@ -9,14 +9,16 @@ systems.
|
||||
|
||||
- **core/**: Essential cross-platform configurations
|
||||
- **core.nix**: Minimal home-manager configuration
|
||||
- **shells/**: Shell configurations (bash, zsh, fish, nu)
|
||||
- **shells/**: Shell configurations (bash, Nushell; zsh is Darwin-only under `home/darwin/`)
|
||||
- **editors/**: Helix + Neovim (Home Manager) and usage docs (`README.md` per editor)
|
||||
- **btop.nix**: System monitoring tools
|
||||
- **git.nix**: Git configuration and aliases
|
||||
- **npm.nix**: Node.js package management
|
||||
- **pip.nix**: Python package management
|
||||
- **privacy.nix**: Cross-app telemetry opt-out (`DO_NOT_TRACK`)
|
||||
- **starship.nix**: Cross-shell prompt configuration
|
||||
- **theme.nix**: Color schemes and theming
|
||||
- **xdg.nix**: XDG base-directory configuration
|
||||
- **yazi.nix**: Terminal file manager configuration
|
||||
- **zellij/**: Terminal multiplexer with custom layouts
|
||||
|
||||
@@ -25,24 +27,27 @@ systems.
|
||||
- **gui/**: Cross-platform GUI applications and configurations
|
||||
- **dev-tools.nix**: Development tools and IDEs
|
||||
- **media.nix**: Media players and utilities
|
||||
- **zed-editor.nix**: Zed editor configuration (primary GUI editor)
|
||||
- **terminal/**: Terminal emulator configurations
|
||||
- **alacritty/**: Alacritty terminal
|
||||
- **kitty/**: Kitty terminal
|
||||
- **foot/**: Foot terminal (Linux)
|
||||
- **ghostty/**: Ghostty terminal
|
||||
- **kitty.nix**: Kitty terminal
|
||||
- **foot.nix**: Foot terminal (Linux)
|
||||
- **ghostty.nix**: Ghostty terminal
|
||||
|
||||
### Terminal Interface
|
||||
|
||||
- **tui/**: Terminal-based interface configurations
|
||||
- **agent-env.nix**: Telemetry/auto-update opt-outs for AI coding agents
|
||||
- **cloud/**: Cloud development tools (Terraform, etc.)
|
||||
- **container.nix**: Container tools (Docker, Podman)
|
||||
- **dev-tools.nix**: Terminal-based development tools
|
||||
- **editors/**: Extra terminal editor Nix (see `core/editors/` for docs and baseline enables)
|
||||
- **encryption/**: Encryption and security tools
|
||||
- **gpg/**: GPG key management
|
||||
- **herdr.nix**: Herdr agent terminal-multiplexer configuration
|
||||
- **password-store/**: Password management with pass
|
||||
- **shell.nix**: Shell environment configurations
|
||||
- **ssh/**: SSH configuration and management
|
||||
- **shell/**: Shell environment configurations
|
||||
- **ssh.nix**: SSH configuration and management
|
||||
- **zellij/**: Terminal workspace management
|
||||
|
||||
### System Management
|
||||
|
||||
@@ -49,9 +49,10 @@ Zellij shortcuts used often (same idea as in the Neovim notes):
|
||||
|
||||
In Helix, `|` / `!` and variants pipe or insert shell output on selections (see **Changes**).
|
||||
|
||||
This flake’s Helix Home Manager module keeps **almost all default keys**; the only remap is
|
||||
**`Ctrl+Shift+o`** → jump backward, because Zellij uses **`Ctrl+o`** for Session (see
|
||||
`home/base/core/editors/helix/default.nix`).
|
||||
This flake’s Helix Home Manager module keeps **almost all default keys** but adds several
|
||||
normal-mode remaps: **`Ctrl+Shift+o`** → jump backward (because Zellij uses **`Ctrl+o`** for
|
||||
Session), `Space Space` → `:reload-all`, `Space w` / `Space q` → `:w` / `:q`, `Esc` → collapse
|
||||
selection, and `$` / `0` line jumps (see `home/base/core/editors/helix/default.nix`).
|
||||
|
||||
### Command mode (`:`)
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ My current terminal emulators are:
|
||||
1. It's really suitable for tiling window manager or zellij users!
|
||||
3. alacritty: A cross-platform, GPU-accelerated terminal emulator.
|
||||
1. alacritty is really fast, I use it as a backup terminal emulator on all my desktops.
|
||||
4. ghostty: A cross-platform, GPU-accelerated terminal emulator with native platform UI.
|
||||
1. ghostty is the newest addition, configured in `ghostty.nix`.
|
||||
|
||||
## 'xterm-kitty': unknown terminal type when `ssh` into a remote host or `sudo xxx`
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ features a versatile key management system as well as access modules for all kin
|
||||
directories.
|
||||
|
||||
> In the following content, we will use GPG to refer to GnuPG tool, and PGP to refer to various
|
||||
> concepts defined in the OepnPGP standard(e.g. PGP key, PGP key server).
|
||||
> concepts defined in the OpenPGP standard(e.g. PGP key, PGP key server).
|
||||
|
||||
Key functions of GnuPG:
|
||||
|
||||
@@ -602,7 +602,7 @@ But in OpenPGP:
|
||||
the keypair. But OpenPGP standard **DO NOT provide a way to distribute this certificate to
|
||||
others**.
|
||||
- Not to mention some key status query protocol like OCSP in Web PKI.
|
||||
- Users has to pulish their revocation certificate to their blog, github profile or somewhere
|
||||
- Users has to publish their revocation certificate to their blog, github profile or somewhere
|
||||
else, and others has to check it and run `gpg --import <revocation-certificate>` to revoke the
|
||||
keypair manually.
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ This directory contains macOS-specific Home Manager configurations for Darwin sy
|
||||
|
||||
- **default.nix**: Entry point that imports all Darwin configurations
|
||||
- **shell.nix**: Shell configurations and environment settings
|
||||
- **terminal.nix**: Sets a 15px font size across Alacritty, Ghostty, and Kitty
|
||||
- **rime-squirrel.nix**: [Rime Squirrel](https://github.com/rime/squirrel) input method
|
||||
configuration
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@ cases.
|
||||
|
||||
- **gui/**: Desktop environment configurations
|
||||
- **niri/**: Niri compositor configuration
|
||||
- **i3/**: Headless X11 computer-use session (Xvfb + i3)
|
||||
- **base/**: Common desktop applications and services
|
||||
- **editors/**: Text editor configurations for desktop environments
|
||||
|
||||
### Available Entry Points
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ Manager.
|
||||
|
||||
- **niri**: Niri compositor configuration with custom settings, keybindings, spawn-at-startup rules,
|
||||
and window rules
|
||||
- **i3**: Headless X11 session for the computer-use VMs (`idols-ruby`, `idols-kana`); see
|
||||
[`i3/README.md`](./i3/README.md)
|
||||
|
||||
### Base Desktop Environment
|
||||
|
||||
@@ -25,19 +27,15 @@ Manager.
|
||||
- Wayland applications
|
||||
- XDG desktop configurations
|
||||
|
||||
### Editor Configurations
|
||||
|
||||
- **editors**: Text editor configurations and integrations
|
||||
|
||||
## Why install Desktop Environments in Home Manager instead of NixOS Module?
|
||||
|
||||
1. **Configuration Location**: Desktop environment configuration files are located in `~/.config`,
|
||||
which can be easily managed by Home Manager.
|
||||
|
||||
2. **User-specific Services**: User-specific systemd services (noctalia, fcitx5, hypridle, etc.) can
|
||||
be easily managed by Home Manager. If desktop environments were configured via NixOS Module,
|
||||
these user-level services might fail to start automatically. With Home Manager modules, we can
|
||||
control systemd service dependency order more effectively.
|
||||
2. **User-specific Services**: User-specific systemd services (fcitx5, hypridle, etc.) can be easily
|
||||
managed by Home Manager. If desktop environments were configured via NixOS Module, these
|
||||
user-level services might fail to start automatically. With Home Manager modules, we can control
|
||||
systemd service dependency order more effectively.
|
||||
|
||||
3. **System Benefits**: By minimizing package installation through NixOS Module:
|
||||
- Makes the NixOS system more secure and stable
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
## Available Configurations
|
||||
|
||||
- `profile` → Symlink will be created at: `~/.config/fcitx5/profile`
|
||||
- `config1.db` (Mozc config) → Symlink will be created at: `~/.config/mozc/config1.db`
|
||||
- `mozc-config1.db` (Mozc config) → Symlink will be created at: `~/.config/mozc/config1.db`
|
||||
- Main changes from the defaults: use half-width for all alphabets, numbers, and punctuation.
|
||||
- https://github.com/google/mozc/blob/2.30.5544.102/docs/configurations.md
|
||||
@@ -20,8 +20,9 @@ is XWayland/X11-based, so a native X11 session is simpler and better supported t
|
||||
services: `xvfb` → `i3` → (`x11vnc`, `cua-driver serve`).
|
||||
- `modules/nixos/desktop/computer-use.nix` provides the system side (`linger`, AT-SPI, fonts, Mesa,
|
||||
Clash Verge proxy, proxy-region timezone).
|
||||
- `computer-use-init.sh` (exec'd by i3) publishes `DISPLAY`/`XDG_SESSION_TYPE` to the systemd user
|
||||
manager, clears any stale `WAYLAND_DISPLAY`, and enables the AT-SPI bridge via a gsettings key.
|
||||
- the generated `computer-use-init` script (exec'd by i3) publishes `DISPLAY`/`XDG_SESSION_TYPE` to
|
||||
the systemd user manager, clears any stale `WAYLAND_DISPLAY`, and enables the AT-SPI bridge via a
|
||||
gsettings key.
|
||||
- Drivers live in `overlays/cua-driver.nix` and `overlays/computer-use-linux.nix`.
|
||||
- Host wiring: `home/hosts/linux/idols-ruby.nix`, `home/hosts/linux/idols-kana.nix`.
|
||||
|
||||
@@ -32,7 +33,7 @@ The generated config is intentionally minimal:
|
||||
- `font pango:monospace 10`
|
||||
- `default_border normal` — keeps title bars, so the client area is slightly smaller than the
|
||||
screen. That matches a real desktop and avoids a full-screen-sized viewport.
|
||||
- `exec --no-startup-id .../computer-use-init.sh` — one-time session setup, see above.
|
||||
- `exec --no-startup-id .../computer-use-init` — one-time session setup, see above.
|
||||
|
||||
There are no keybindings, bars or autostarted apps: agents drive the session through the drivers,
|
||||
not the keyboard. Manual inspection is done over VNC (`x11vnc`, bound to `127.0.0.1`; reach it
|
||||
|
||||
Reference in new issue
Block a user