Update readme to add thinkpad host

This commit is contained in:
Yan Lin 2025-09-13 12:45:19 +02:00
parent a8ed261f54
commit 30ccfa91d7

View file

@ -36,6 +36,10 @@ home-manager switch --flake github:Logan-Lin/nix-config#yanlin@hs
# VPS server (vps) # VPS server (vps)
sudo nixos-rebuild switch --flake github:Logan-Lin/nix-config#vps sudo nixos-rebuild switch --flake github:Logan-Lin/nix-config#vps
home-manager switch --flake github:Logan-Lin/nix-config#yanlin@vps home-manager switch --flake github:Logan-Lin/nix-config#yanlin@vps
# ThinkPad laptop (thinkpad)
sudo nixos-rebuild switch --flake github:Logan-Lin/nix-config#thinkpad
home-manager switch --flake github:Logan-Lin/nix-config#yanlin@thinkpad
``` ```
## 📁 Configuration Architecture ## 📁 Configuration Architecture
@ -62,6 +66,11 @@ home-manager switch --flake github:Logan-Lin/nix-config#yanlin@vps
│ │ ├── disk-config.nix # ZFS and filesystem configuration │ │ ├── disk-config.nix # ZFS and filesystem configuration
│ │ ├── containers.nix # Container service definitions │ │ ├── containers.nix # Container service definitions
│ │ └── proxy.nix # Traefik reverse proxy configuration │ │ └── proxy.nix # Traefik reverse proxy configuration
│ ├── thinkpad/ # ThinkPad laptop configuration
│ │ ├── system.nix # NixOS system configuration with KDE Plasma
│ │ ├── home.nix # Home configuration (imports ../home-default.nix)
│ │ ├── hardware-configuration.nix # Hardware detection results
│ │ └── disk-config.nix # Disk and filesystem configuration
│ └── vps/ # VPS server configuration │ └── vps/ # VPS server configuration
│ ├── system.nix # NixOS system configuration │ ├── system.nix # NixOS system configuration
│ ├── home.nix # Home configuration (imports ../home-default.nix) │ ├── home.nix # Home configuration (imports ../home-default.nix)
@ -85,6 +94,7 @@ home-manager switch --flake github:Logan-Lin/nix-config#yanlin@vps
│ ├── syncthing.nix # File synchronization service (includes package) │ ├── syncthing.nix # File synchronization service (includes package)
│ ├── wireguard.nix # Hub-and-spoke VPN networking │ ├── wireguard.nix # Hub-and-spoke VPN networking
│ ├── borg.nix # Borg backup system with automated scheduling │ ├── borg.nix # Borg backup system with automated scheduling
│ ├── plasma.nix # KDE Plasma desktop environment configuration
│ └── homebrew.nix # Homebrew and nix-homebrew configuration │ └── homebrew.nix # Homebrew and nix-homebrew configuration
├── config/ # Configuration files ├── config/ # Configuration files
│ ├── firefox/ # Firefox browser configuration │ ├── firefox/ # Firefox browser configuration
@ -667,6 +677,40 @@ The fonts are automatically installed and configured system-wide through the nix
# Bookmarks and settings sync across rebuilds # Bookmarks and settings sync across rebuilds
``` ```
## 🖥️ Desktop Environment: KDE Plasma (ThinkPad)
**Configuration**: `modules/plasma.nix`
**Purpose**: Declarative KDE Plasma 6 desktop environment configuration for ThinkPad laptop
### Key Features:
- **Dark Theme**: Breeze Dark theme with consistent dark appearance
- **Terminal Integration**: Konsole with JetBrainsMono Nerd Font and optimized layout
- **Minimal UI**: Auto-hiding taskbar and borderless maximized windows
- **Application Launcher**: Pre-configured dock with essential applications
### Konsole Configuration:
- **Font**: JetBrainsMono Nerd Font (size 13) for icon support
- **Theme**: Breeze dark color scheme matching system theme
- **Layout**: Clean interface with hidden menu bars and toolbars
- **Tab Management**: Intelligent tab bar that shows only when needed
### Panel Configuration:
- **Auto-hiding Taskbar**: Bottom panel that hides automatically for maximum screen real estate
- **Essential Widgets**: Application launcher, task manager, system tray, and clock
- **Quick Launch**: Pre-configured launchers for Dolphin, Firefox, Obsidian, Konsole, and KeePassXC
- **System Integration**: Battery, network, Bluetooth, and volume controls
### Application Defaults:
The ThinkPad configuration includes desktop-specific applications:
- **Obsidian**: Note-taking and knowledge management
- **KeePassXC**: Password manager with KDE integration
- **Firefox**: Web browser with desktop optimizations
- **LaTeX**: Full TeXLive distribution for document preparation
### Window Management:
- **Borderless Maximized**: Maximized windows have no borders for clean appearance
- **KWin Integration**: Advanced window management with Plasma's compositor
## 🌟 Specialized Tools ## 🌟 Specialized Tools
### 📖 Offline Dictionary: sdcv ### 📖 Offline Dictionary: sdcv
@ -898,8 +942,9 @@ sudo chmod 600 /etc/borg-passphrase
### Network Architecture: ### Network Architecture:
- **VPS (Hub)**: 10.2.2.1/24 - Central WireGuard server with public endpoint - **VPS (Hub)**: 10.2.2.1/24 - Central WireGuard server with public endpoint
- **HS (Spoke)**: 10.2.2.20/24 - Home server connecting through VPS - **HS (Spoke)**: 10.2.2.20/24 - Home server connecting through VPS
- **iPhone**: 10.2.2.30/24 - iOS device (mobile connectivity) - **ThinkPad (Spoke)**: 10.2.2.30/24 - Laptop connecting through VPS
- **iPad**: 10.2.2.31/24 - iOS device (tablet connectivity) - **iPhone**: 10.2.2.31/24 - iOS device (mobile connectivity)
- **iPad**: 10.2.2.32/24 - iOS device (tablet connectivity)
- **LAN Access**: HS remains accessible at 10.1.1.152 on local network - **LAN Access**: HS remains accessible at 10.1.1.152 on local network
- **DNS Setup**: hs.yanlincs.com resolves to 10.1.1.152 (LAN) with 10.2.2.20 (WireGuard) fallback - **DNS Setup**: hs.yanlincs.com resolves to 10.1.1.152 (LAN) with 10.2.2.20 (WireGuard) fallback
@ -1138,13 +1183,18 @@ All VPS services accessible via public domain with SSL certificates:
- **`MacBook-Air`**: MacBook Air configuration - **`MacBook-Air`**: MacBook Air configuration
### NixOS Hosts ### NixOS Hosts
- **`hs`**: Home server configuration featuring: - **`hs`**: Home server configuration featuring ZFS storage, containerized services, and automated monitoring
- **`vps`**: VPS server configuration featuring: - **`vps`**: VPS server configuration featuring:
- **Web Services**: Public website and blog hosting with Nginx - **Web Services**: Public website and blog hosting with Nginx
- **Notification System**: Gotify server for system notifications and alerts - **Notification System**: Gotify server for system notifications and alerts
- **Automated Backups**: Borg backup with Gotify integration for status notifications - **Automated Backups**: Borg backup with Gotify integration for status notifications
- **SSL Certificates**: Traefik reverse proxy with Cloudflare DNS challenge - **SSL Certificates**: Traefik reverse proxy with Cloudflare DNS challenge
- **Security**: Hardened SSH configuration and firewall settings - **Security**: Hardened SSH configuration and firewall settings
- **`thinkpad`**: ThinkPad laptop configuration featuring:
- **KDE Plasma 6**: Modern desktop environment with dark theme
- **Hardware Support**: Intel/NVIDIA hybrid graphics with power management
- **Development Tools**: Full development environment with LaTeX, Obsidian, and KeePassXC
- **Network Integration**: WireGuard VPN and SSH access via jump host
All hosts use a consistent configuration structure with separate system and home management. All hosts use a consistent configuration structure with separate system and home management.
@ -1190,6 +1240,10 @@ home-manager switch --flake .#yanlin@hs
# For VPS server (vps) # For VPS server (vps)
sudo nixos-rebuild switch --flake .#vps sudo nixos-rebuild switch --flake .#vps
home-manager switch --flake .#yanlin@vps home-manager switch --flake .#yanlin@vps
# For ThinkPad laptop (thinkpad)
sudo nixos-rebuild switch --flake .#thinkpad
home-manager switch --flake .#yanlin@thinkpad
``` ```
The separation of system and home configurations provides: The separation of system and home configurations provides: