docs: update README.md to reflect multi-host support and project structure

This commit is contained in:
kenji
2026-01-05 13:12:23 -06:00
parent 9d3ba797d7
commit f1fede7cd5
+17 -18
View File
@@ -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
![Desktop Music](assets/example/desktop_music.png)
![Desktop with Hakase](assets/example/desktop_hakase.png)
## 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.