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:
Bernardo Magri
2026-04-12 14:51:15 +01:00
parent a9ee79a5ce
commit bbdf34ced8
535 changed files with 119 additions and 127 deletions

View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
# Nomarchy Update Script
# 1. Updates the flake inputs in /etc/nixos
# 2. Applies system-wide NixOS changes
# 3. Applies user-level Home Manager changes
set -e
REPO_DIR="/etc/nixos"
if [ ! -d "$REPO_DIR" ]; then
echo "Error: $REPO_DIR not found. Are you running on a Nomarchy system?"
exit 1
fi
echo "--- Starting Nomarchy Update ---"
# 1. Update Flake Lock
echo "Updating flake inputs..."
sudo nix --extra-experimental-features "nix-command flakes" flake update --flake "$REPO_DIR"
# 2. Rebuild System
echo "Applying system-level updates..."
sudo nixos-rebuild switch --flake "$REPO_DIR#default" --impure
# 3. Rebuild Home Environment
echo "Applying user-level updates..."
home-manager switch --flake "$REPO_DIR#default" --impure
# 4. Commit changes if it's a git repo
if [ -d "$REPO_DIR/.git" ]; then
echo "Committing update to local history..."
sudo git -C "$REPO_DIR" add flake.lock
sudo git -C "$REPO_DIR" commit -m "chore: update system (flake.lock)" || echo "No lockfile changes to commit."
fi
echo "--- Nomarchy Update Complete ---"