Document SSH configuration management in README
- Add SSH configuration section with feature overview - Document host management workflow and security practices - Update file structure to include ssh.nix module - Clarify separation between tracked config and local keys 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
12806c6489
commit
492d63ad85
1 changed files with 36 additions and 1 deletions
37
README.md
37
README.md
|
|
@ -30,6 +30,7 @@ home-manager switch --flake github:Logan-Lin/nix-config#yanlin
|
|||
├── tmux.sh # Tmux session automation script
|
||||
├── modules/ # Nix configuration modules
|
||||
│ ├── nvim.nix # Neovim configuration with plugins and keymaps
|
||||
│ ├── ssh.nix # SSH client configuration and host management
|
||||
│ ├── tmux.nix # Tmux setup with vim-like navigation
|
||||
│ └── zsh.nix # Zsh with Powerlevel10k and modern CLI tools
|
||||
├── config/ # Configuration files
|
||||
|
|
@ -91,7 +92,7 @@ home-manager switch --flake github:Logan-Lin/nix-config#yanlin
|
|||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `Ctrl+a` | Prefix key |
|
||||
| `Ctrl+a |` | Split window vertically |
|
||||
| `Ctrl+a` | Split window vertically |
|
||||
| `Ctrl+a -` | Split window horizontally |
|
||||
| `Ctrl+a h/j/k/l` | Navigate panes (vim-style) |
|
||||
| `Ctrl+a H/J/K/L` | Resize panes |
|
||||
|
|
@ -105,6 +106,40 @@ home-manager switch --flake github:Logan-Lin/nix-config#yanlin
|
|||
| `y` | Copy selection to system clipboard |
|
||||
| `r` | Toggle rectangle selection |
|
||||
|
||||
### 🔐 SSH Configuration
|
||||
|
||||
**Configuration**: `modules/ssh.nix`
|
||||
**Purpose**: Declarative SSH client configuration and host management
|
||||
|
||||
#### Key Features:
|
||||
- **Declarative Hosts**: All SSH hosts defined in nix configuration
|
||||
- **Version Controlled**: SSH config tracked with git alongside other configurations
|
||||
- **Reproducible**: Same SSH setup deployable across multiple machines
|
||||
- **Security**: Private keys remain local and untracked
|
||||
|
||||
#### Host Management:
|
||||
Edit SSH hosts in `modules/ssh.nix`, then apply changes:
|
||||
```bash
|
||||
home-manager switch --flake .#yanlin
|
||||
```
|
||||
|
||||
#### Configured Hosts:
|
||||
- **aicloud**: Development server via proxy jump
|
||||
- **nas**: Network storage server
|
||||
- **pi**: Raspberry Pi home server
|
||||
- **cm**: Compute module
|
||||
- **personal-vps**: Cloud VPS instance
|
||||
- **zero**: Pi Zero device
|
||||
- **ucloud-a40**: A40 GPU cluster
|
||||
- **ucloud-h100**: H100 GPU cluster
|
||||
|
||||
#### Security Best Practices:
|
||||
- ✅ **SSH configuration**: Managed by nix (hosts, ports, usernames)
|
||||
- ❌ **Private keys**: Keep local in `~/.ssh/keys/` (not tracked by nix)
|
||||
- ❌ **known_hosts**: Generated locally (not synced)
|
||||
|
||||
**Important**: Only the SSH client configuration is managed by nix. Private keys and sensitive data remain local and secure.
|
||||
|
||||
### 🐚 Zsh with Powerlevel10k
|
||||
|
||||
**Theme**: Powerlevel10k lean style with 2-line prompt
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue