refactor: implement component-based architecture for enhanced maintainability
- Reorganize directory structure into core/, features/, and themes/ - Colocate application Nix logic, configs, scripts, and theme overrides - Implement 'Inversion of Control' for theming: apps now pull theme-specific layouts - Update flake.nix and shared library paths to match the new structure - Document the new Feature-Centric architecture in README.md
This commit is contained in:
17
README.md
17
README.md
@@ -13,14 +13,24 @@
|
||||
|
||||
---
|
||||
|
||||
## 📂 Component-Based Architecture
|
||||
|
||||
Nomarchy uses a **Feature-Centric Directory Structure**. Instead of grouping files by type (e.g., all scripts in one folder, all configs in another), everything related to a specific component is colocated.
|
||||
|
||||
- **`core/`**: Foundational OS & User defaults (Bootloader, Audio, Bluetooth, basic shell).
|
||||
- **`features/`**: Isolated modules containing Nix logic, raw dotfiles, and scripts for a specific app or service (e.g., `features/desktop/waybar/`).
|
||||
- **`themes/`**: The global theming engine. It holds pure color data and logic. *Theme-specific app layouts* (like a custom Waybar layout for `summer-night`) are stored directly inside the app's feature folder (`features/desktop/waybar/themes/`), solving the matrix problem of theming.
|
||||
|
||||
---
|
||||
|
||||
## 📥 Installation
|
||||
|
||||
### 1. Try it in a VM (Recommended)
|
||||
Verify the experience without touching your hardware:
|
||||
```bash
|
||||
./bin/nomarchy-test-installer
|
||||
./bin/utils/nomarchy-test-installer
|
||||
```
|
||||
This builds a full graphical VM of the installer environment. Once inside, click the **Install Nomarchy** icon or run `sudo /etc/install-nomarchy.sh`.
|
||||
This builds a full graphical VM of the installer environment. Once inside, click the **Install Nomarchy** icon or run `nomarchy-install`.
|
||||
|
||||
### 2. Build the Installer ISO
|
||||
To install on physical hardware, generate your own bootable image:
|
||||
@@ -32,14 +42,13 @@ The ISO will be located at `./result/iso/nixos-*.iso`. Flash it to a USB drive a
|
||||
### 3. Run the Installer
|
||||
Once booted into the Live environment, launch the installer:
|
||||
```bash
|
||||
sudo /etc/install-nomarchy.sh
|
||||
nomarchy-install
|
||||
```
|
||||
The wizard will guide you through:
|
||||
- **Networking:** An interactive wizard to connect to Wi-Fi if needed.
|
||||
- **Hardware:** Optimized profiles for Dell XPS, Framework, Apple T2, and more.
|
||||
- **Storage:** Choice between Standard Ext4 or Encrypted BTRFS with optional **Impermanence**.
|
||||
- **Localization:** Searchable timezones and keyboard layout selection.
|
||||
- **Profiles:** One-click setups for Development, Gaming, and Media Production.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user