docs: update README.md to reflect multi-host support and project structure
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# HakaseOS
|
||||
|
||||
A modular, flake-based NixOS configuration for a single host (`hakase`). Heavily inspired by [OmarchyOS](https://omarchy.org/).
|
||||
A modular, flake-based NixOS configuration for my personal devices (`hakase` desktop and `macbook`). Heavily inspired by [OmarchyOS](https://omarchy.org/).
|
||||
|
||||
## Features
|
||||
|
||||
- **Hyprland** compositor with UWSM (systemd session management)
|
||||
- **Multi-Architecture Support**: Runs on x86_64 (Desktop) and aarch64 (Apple Silicon M1/M2)
|
||||
- **Matugen** for automatic system-wide theming from wallpaper colors
|
||||
- **Multi-monitor support** for intuitive desktop management
|
||||
- **Hardened Firefox** with custom bookmarks and new tab page
|
||||
- **Vim keybindings** throughout the system
|
||||
- **SOPS** for encrypted secrets management
|
||||
- **CachyOS kernel** via chaotic-nyx for performance optimizations
|
||||
- **CachyOS kernel** (Desktop) and **Asahi Linux** (MacBook) support
|
||||
|
||||
## 🚧 TODO
|
||||
- LUKS designed
|
||||
@@ -24,19 +24,19 @@ A modular, flake-based NixOS configuration for a single host (`hakase`). Heavily
|
||||

|
||||

|
||||
|
||||
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
.
|
||||
├── flake.nix # Flake inputs and NixOS configuration
|
||||
├── config.nix # Central configuration values
|
||||
├── flake.nix # Entry point defining hosts (hakase, macbook)
|
||||
├── config.nix # Central configuration values per host
|
||||
├── hosts/
|
||||
│ └── hakase/ # Host-specific configuration
|
||||
│ ├── hakase/ # Desktop configuration (x86_64)
|
||||
│ └── macbook/ # Laptop configuration (aarch64, Apple Silicon)
|
||||
├── modules/
|
||||
│ ├── nixos/ # System-level modules (boot, kernel, services)
|
||||
│ └── home/ # Home Manager modules
|
||||
├── home/ # Host-specific Home Manager entry points
|
||||
├── apps/ # Per-application configurations
|
||||
│ ├── hyprland/ # Hyprland window manager
|
||||
│ ├── waybar/ # Status bar
|
||||
@@ -53,14 +53,14 @@ A modular, flake-based NixOS configuration for a single host (`hakase`). Heavily
|
||||
|
||||
### Rebuild System
|
||||
|
||||
**Desktop (Hakase):**
|
||||
```bash
|
||||
sudo nixos-rebuild switch --flake ~/.config/nixos/#hakase
|
||||
```
|
||||
|
||||
Or use the configured alias:
|
||||
|
||||
**MacBook (Asahi):**
|
||||
```bash
|
||||
update
|
||||
sudo nixos-rebuild switch --flake ~/.config/nixos/#macbook
|
||||
```
|
||||
|
||||
### Manage Secrets
|
||||
@@ -75,13 +75,11 @@ nix-shell -p sops --run "sops updatekeys secrets/secrets.yaml"
|
||||
|
||||
## Configuration
|
||||
|
||||
Central configuration values are defined in `config.nix`:
|
||||
Central configuration values are defined in `config.nix`, separated by host:
|
||||
|
||||
- `hakase` / `macbook` keys define host-specific overrides
|
||||
- `myConfig.nixos` - System settings (username, hostname, timezone)
|
||||
- `myConfig.git` - Git configuration
|
||||
- `myConfig.terminal` - Default terminal and aliases
|
||||
- `myConfig.hyprland` - Monitor configuration and wallpaper
|
||||
- `myConfig.firefox` - Bookmarks and new tab settings
|
||||
- `myConfig.hyprland` - Monitor configuration (Hz, Resolution) and wallpaper
|
||||
|
||||
## Flake Inputs
|
||||
|
||||
@@ -90,7 +88,8 @@ Central configuration values are defined in `config.nix`:
|
||||
| nixpkgs | NixOS unstable |
|
||||
| home-manager | User environment management |
|
||||
| hyprland | Wayland compositor |
|
||||
| chaotic | CachyOS kernel and packages |
|
||||
| chaotic | CachyOS kernel and packages (x86 only) |
|
||||
| apple-silicon | Asahi Linux support for NixOS (aarch64 only) |
|
||||
| sops-nix | Secrets management |
|
||||
| nixovim | Neovim configuration |
|
||||
| matugen | System-wide theming |
|
||||
@@ -99,4 +98,4 @@ Central configuration values are defined in `config.nix`:
|
||||
|
||||
## License
|
||||
|
||||
Personal configuration - use at your own discretion.
|
||||
Personal configuration - use at your own discretion.
|
||||
Reference in New Issue
Block a user