From f1fede7cd5ef7ad2e01cfc50ca8e5baf9cc046fa Mon Sep 17 00:00:00 2001 From: kenji Date: Mon, 5 Jan 2026 13:12:23 -0600 Subject: [PATCH] docs: update README.md to reflect multi-host support and project structure --- README.md | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 3a81a23..e89469f 100644 --- a/README.md +++ b/README.md @@ -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. \ No newline at end of file