Commit Graph

171 Commits

Author SHA1 Message Date
Bernardo Magri
09377e37ea chore(hygiene): final script cleanup and persistence fixes
- Remove remaining obsolete Arch-era scripts (branch-set, debug, upload-log, etc.)
- Add /var/lib/fprint to impermanence persistence for fingerprint survival
- Add /etc/supergfxd.conf to impermanence persistence for GPU mode survival
2026-04-04 19:54:01 +01:00
Bernardo Magri
08e2b4e248 feat(system): professionalize system configurations
- Consolidate imperative system settings into /etc/nixos/state.json
- Implement nomarchy.system options for DNS, Wifi powersave, Timezone, and hardware features
- Add declarative browser policies for Chromium/Brave based on theme
- Update toggles scripts to mutate system JSON and run sys-update --impure
- Remove obsolete imperative browser theme and redundant system modules
2026-04-04 19:22:47 +01:00
Bernardo Magri
42f515f4a9 feat(themes): declaratively manage icons, cursors, and dark/light modes
- Automatically detect light mode via 'light.mode' file in theme folder
- Read icon theme name from 'icons.theme' file in theme folder
- Switch Stylix polarity and iconTheme based on theme selection
- Add yaru-theme and bibata-cursors to default packages
- Remove obsolete imperative nomarchy-theme-set-gnome script
2026-04-04 18:33:00 +01:00
Bernardo Magri
0bd67f1ee0 fix(flake): expose inputs for downstream propagation 2026-04-04 17:43:33 +01:00
Bernardo Magri
8775c6a4bf feat(upstream): switch to remote git repository for engine
- Update installer to use git+https://git.bemagri.xyz/bernardo/Nomarchy.git
- Remove redundant bundling/copying of the engine to /etc/nixos/nomarchy
- Expose all themes via xdg.dataFile for script accessibility
- Update theme scripts to resolve directories via local share instead of hardcoded system paths
- Update documentation to reflect the new remote-first architecture
2026-04-04 17:35:37 +01:00
Bernardo Magri
81d0f0b542 feat(downstream): add easy configuration overrides
- Introduce nomarchy.configOverrides option to map a user directory to ~/.config
- Implement automatic merging of upstream defaults and user overrides
- Use lib.mkDefault for all upstream mappings to allow granular HM overrides
- Update installer template with usage examples
2026-04-04 10:40:15 +01:00
Bernardo Magri
4020ad5878 feat(core): professionalize state migration via Nix activation
- Move state migration logic from shell scripts to Home Manager activation
- Ensure migrations run automatically during rebuilds
- Delete obsolete bin/nomarchy-migrate and migrations/ directory
2026-04-04 10:35:02 +01:00
Bernardo Magri
6032ab1815 fix(configs): declaratively map all upstream config directories
- Replace hardcoded subset with dynamic mapping of the config/ directory
- Apply recursive=true to directories to allow downstream user overrides
2026-04-04 10:25:15 +01:00
Bernardo Magri
b03196514a chore(hygiene): remove legacy Arch Linux and imperative scripts
- Delete obsolete pacman, AUR, and shell-based update scripts
- Remove imperative configuration refresh scripts replaced by Home Manager
- Overhaul nomarchy-menu to remove Install/Remove submenus and legacy options
- Clean up unused assets including applications/ directory and icons
- Enforce strict upstream/downstream separation
2026-04-04 10:13:32 +01:00
Bernardo Magri
b86c2bad43 feat(themes): implement declarative theme file management
- Link active theme files from themes/ directly via Home Manager
- Use 'recursive = true' to allow dynamic templating inside linked directories
- Simplify nomarchy-theme-set to rely on declarative links
- Update template generator to point to the unified theme directory
2026-04-04 10:13:12 +01:00
Bernardo Magri
cfd5e4bb65 feat(core): migrate system state to unified declarative JSON
- Consolidate all configuration toggles (suspend, idle, waybar, etc.) into ~/.config/home-manager/state.json
- Introduce nomarchy.toggles and nomarchy.hyprland options in Nix
- Inject toggle states into all bin/ scripts via environment variables
- Update toggle scripts to mutate JSON and trigger background rebuilds
- Add a migration script to transition legacy flag files to the new format
2026-04-04 10:11:09 +01:00
Bernardo Magri
f1ed0d7f47 docs: update README with new architecture and installer guide
- Document the Modular Merging Architecture
- Add step-by-step installation instructions for VM and ISO
- Include configuration examples for system.nix and home.nix
- Update keybindings and utility script documentation
2026-04-03 21:11:03 +01:00
Bernardo Magri
d92309fd59 chore: ignore VM disk images and ISO artifacts 2026-04-03 21:08:50 +01:00
Bernardo Magri
494fa2a6c9 chore: remove temporary options module after logic migration 2026-04-03 21:07:18 +01:00
Bernardo Magri
2821d30858 feat(scripts): add nomarchy-sync and improve theme scripts
- Create nomarchy-sync for backing up declarative config and dynamic state
- Update theme scripts with improved IPC feedback (swww img transition)
2026-04-03 21:07:15 +01:00
Bernardo Magri
90e1a21701 feat(home): enhance user environment and dynamic theming
- Implement dynamic palette generation from colors.toml themes
- Update script wrapper to handle non-executable source files
- Integrate Stylix for unified application theming
- Add state-based logic for persistent dynamic configurations
2026-04-03 21:07:12 +01:00
Bernardo Magri
14d7a89a84 feat: implement 'Erase Your Darlings' (Impermanence) root wipe
- Add @persist subvolume to BTRFS layout
- Implement automatic root-blank snapshotting during installation
- Add initrd rollback script to wipe root on every boot
- Configure persistence for core system state (NM, Bluetooth, SSH, NixOS config)
2026-04-03 21:06:59 +01:00
Bernardo Magri
1b4535aa0a feat(installer): add internet wizard, localization, and software profiles
- Add interactive internet connectivity check with nmtui wizard
- Implement searchable timezone selection using gum filter
- Add keyboard layout selection with custom input fallback
- Implement multi-select software profiles (Dev, Gaming, Media)
- Generate clean downstream scaffolding with system.nix/home.nix stubs
2026-04-03 21:06:53 +01:00
Bernardo Magri
29cc0d2547 feat: implement modular foundation and core system services
- Update flake.nix with 25.11 release and core inputs
- Add dedicated modules for audio (Pipewire), bluetooth, and networking
- Update GEMINI.md with the new Modular Merging Architecture blueprint
- Configure graphical installer ISO and test VM outputs
2026-04-03 21:06:42 +01:00
Bernardo Magri
33deeb494b initial commit 2026-04-01 17:06:01 +01:00
12cdfaeeef Initial commit 2026-04-01 17:03:25 +01:00