Commit Graph

171 Commits

Author SHA1 Message Date
Bernardo Magri
5f0834f30c refactor: consolidate app configurations and utility scripts
- Move 32+ app-specific scripts from features/apps/scripts/ to features/scripts/utils/ for centralized packaging.
- Create individual Nix modules for orphaned app configurations (btop, kitty, tmux, etc.) in features/apps/ using xdg.configFile.
- Fix broken paths in core/system/makima.nix and features/apps/vscode.nix.
- Update VSCode configuration to use the modern 'profiles.default.userSettings' API, resolving deprecation warnings.
- Merge duplicate 'nomarchy-launch-walker' scripts into a single robust utility.
- Remove stale root 'config/' directory.
- Update README.md and docs/creating-themes.md to reflect the new architecture and keybindings.
- Ensure all modules are correctly imported and verified via nix flake check.
2026-04-12 22:32:44 +01:00
Bernardo Magri
a7dbca80a6 fix: resolve VM startup failures, broken Hyprland functionality, and theme integration
- Fix QEMU syntax and root filesystem conflicts in vm-guest.nix.
- Repair numerous broken relative paths and imports across the codebase.
- Set 'summer-night' as the default distro theme with full branding integration.
- Implement declarative system-wide font installation including the 'nomarchy' font.
- Fix Waybar startup by dynamically generating theme-aware CSS.
- Restore Hyprland keybindings (Super+Return, Super+Space) and wallpaper loading.
- Add missing scripts: nomarchy-launch-walker, nomarchy-toggle-waybar, nomarchy-refresh-config.
- Enable UWSM and correctly disable conflicting Hyprland systemd services.
2026-04-12 20:54:03 +01:00
Bernardo Magri
bbdf34ced8 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
2026-04-12 14:51:15 +01:00
Bernardo Magri
a9ee79a5ce fix: add stylix compatibility shims for missing program options
Stylix unconditionally imports all target modules, which expect certain
program options to exist even when those programs aren't enabled. This
causes evaluation errors.

Add stylix-compat.nix with stub options for:
- programs.neovim.initLua (maps to extraLuaConfig)
- programs.opencode.tui/themes

Also:
- Disable neovim/neovide stylix targets (we deploy theme lua via theme-loader)
- Set autoEnable = false to only enable explicitly listed targets
- Enable programs.neovim to satisfy stylix's neovim target
- Update stylix to latest version

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-11 20:20:32 +01:00
Bernardo Magri
b27fc5aee8 refactor: major architectural restructure for theme-centric organization
Theme System:
- Move all theme app configs to apps/ subdirectory (20 themes)
- Add theme-loader.nix for dynamic theme config deployment
- Simplify stylix.nix to focus on base theming only

Override System:
- Add overrides.nix for file-based config overrides
- Add behavior-configs.nix for non-visual configuration
- Split hypr/nomarchy.conf into behavior vs visual sections

Module Improvements:
- Add lib.mkDefault to all customizable settings
- Add modules/lib/ with shared utilities and state schema
- Update all home and system modules for downstream overridability

Installer:
- New minimal TTY installer (installer/install.sh)
- Golden path: BTRFS + LUKS2 (disko-golden.nix)
- New installer-iso.nix for TTY-only installation
- Keep graphical installer as installerIsoGraphical option

Cleanup:
- Remove obsolete install.sh, disko-ext4.nix, install-nomarchy.sh
- Update live-iso.nix references
- Add .claude/ to .gitignore for local IDE settings

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-11 19:38:27 +01:00
Bernardo Magri
769fd88f25 fixing install.sh 2026-04-10 20:28:54 +01:00
Bernardo Magri
9f62f0f5f1 fixing install.sh 2026-04-10 20:25:58 +01:00
Bernardo Magri
7590fc4057 fix(install): fix gum syntax and TTY redirection in bootstrap script 2026-04-10 20:22:13 +01:00
Bernardo Magri
db18304fb6 fix(install): fix syntax errors, module references and branding in install script 2026-04-10 19:52:01 +01:00
Bernardo Magri
57580dbdb0 adding install script 2026-04-10 18:51:01 +01:00
Bernardo Magri
c6902d5b6d fixing hyprland errors 2026-04-09 13:38:00 +01:00
Bernardo Magri
ef54a4b67c fix: stabilize waybar with systemd and correct shebangs 2026-04-08 20:03:15 +01:00
Bernardo Magri
8ae026474f fix: provide declarative fallback for theme hyprland.conf 2026-04-08 19:26:34 +01:00
Bernardo Magri
1184cad61a fix: exclude ported apps from XDG auto-mapping to avoid collisions 2026-04-07 18:59:45 +01:00
Bernardo Magri
3ff6815ab0 refactor: rename Hyprland entrypoint to nomarchy.conf and finalize config sourcing 2026-04-07 18:57:21 +01:00
Bernardo Magri
98b7c99023 feat: enable Hyprland and wlroots logging for debugging 2026-04-06 22:18:20 +01:00
Bernardo Magri
d0f7e67d3d fix: add wrapQtAppsHook to SDDM theme derivation 2026-04-06 21:53:58 +01:00
Bernardo Magri
a6ec85d1ef fix: use proper settings attrset for hypridle 2026-04-06 21:52:07 +01:00
Bernardo Magri
eebec40ea0 minors 2026-04-06 21:50:44 +01:00
Bernardo Magri
0ce8602384 refactor: final architecture audit and hardening 2026-04-06 21:49:34 +01:00
Bernardo Magri
8b4e9ef6c8 cleanup: remove legacy config files and commit VM refactor 2026-04-06 21:46:08 +01:00
Bernardo Magri
a31023c037 refactor: systemic refactor for FHS compliance, native systemd migration, and script hardening 2026-04-06 21:45:33 +01:00
Bernardo Magri
5c45b10d88 refactor: unify SwayOSD and Hypridle configurations in Nix 2026-04-06 21:41:46 +01:00
Bernardo Magri
f5f515c2f7 refactor: strip redundant Alacritty theming in favor of Stylix 2026-04-06 21:41:30 +01:00
Bernardo Magri
358b129f0f refactor: harmonize Hyprland config by sourcing legacy hyprland.conf 2026-04-06 21:41:24 +01:00
Bernardo Magri
0065334164 cleanup: remove obsolete waybar and walker CSS templates 2026-04-06 21:41:14 +01:00
Bernardo Magri
45ca66119a refactor: unify Walker configuration into Nix and delete legacy TOML 2026-04-06 21:41:11 +01:00
Bernardo Magri
db8b009638 refactor: unify Waybar configuration using Nix and fix legacy paths 2026-04-06 21:40:50 +01:00
Bernardo Magri
3e1b1efa6f refactor: safe stylix wallpaper path interpolation 2026-04-06 21:39:17 +01:00
Bernardo Magri
db6bdd8495 refactor: move state migration to pre-flight, fix XDG hardcoding, and prevent Nix store bloat 2026-04-06 21:37:24 +01:00
Bernardo Magri
0194569a42 including new theme summer-night 2026-04-06 17:21:29 +01:00
Bernardo Magri
bb6b46b76e fix(system): finalize VM stabilization and fix Hyprland syntax
- Restore custom SDDM theme.
- Clean up all remaining Hyprland windowrulev2 and layerrule syntax errors.
- Optimize VM configurations with 4GB RAM and virtio-vga graphics for stability.
- Remove diagnostic debug services and autologin debug settings.
- Ensure correct session autologin to hyprland-uwsm.
2026-04-05 14:58:33 +01:00
Bernardo Magri
c336f528a8 fix(hyprland): proper rule syntax for 0.52.1 and re-enable autostart
- Removed 'on/off' suffixes from window rules.
- Replaced 'match:' with proper colon syntax for selectors.
- Re-enabled swww, waybar, and boot scripts.
2026-04-05 14:30:46 +01:00
Bernardo Magri
1fa60ed64a fix(vm): increase RAM to 8GB and fix Hyprland rule syntax to prevent crashes
- Increase VM memory to 8192MB to avoid OOM kills during session startup.
- Migrate all 'windowrule' to 'windowrulev2' in core configuration.
- Fix 'no_anim' syntax in layer rules.
- Re-enable graphics while keeping serial logs for debugging.
2026-04-05 14:17:52 +01:00
Bernardo Magri
c71cb7ea71 fix(sddm): use defaultSession instead of non-existent autoLogin.session 2026-04-05 13:27:08 +01:00
Bernardo Magri
70798abcb0 fix(vm): debug hang by disabling on-boot scripts and increasing resources
- Temporarily disable 'nomarchy-on-boot' and 'nomarchy-welcome' in Hyprland to isolate hang.
- Increase VM memory to 4096MB and cores to 4.
- Enable serial console debugging for VM.
- Enable qemuGuest service.
2026-04-05 13:23:20 +01:00
Bernardo Magri
663ee214d6 fix(vm): restore Plymouth splash and fix SDDM session selection
- Restore 'quiet' and 'splash' to kernel parameters to enable Plymouth.
- Re-enable graphics and virtio drivers for VM configurations.
- Add Interface=Qt5 to SDDM theme metadata for proper loading.
- Set default autoLogin.session to hyprland-uwsm to ensure correct session start.
- Enable services.xserver for improved display manager compatibility.
2026-04-05 13:22:09 +01:00
Bernardo Magri
ac6087559d fix(vm): ensure Plymouth display and fix black screen in Hyprland
- Force essential kernel parameters for VMs (video mode, splash).
- Add necessary virtio drivers to initrd.availableKernelModules.
- Fix black screen in Hyprland by disabling hardware cursors.
- Add fallback wallpaper logic to prevent swww crashes.
2026-04-05 12:48:43 +01:00
Bernardo Magri
2afd5eaa36 fix(vm): fix Plymouth theme path and optimize VM graphics for splash screen 2026-04-05 12:41:21 +01:00
Bernardo Magri
34c87d21ef fix(sddm): enable withUWSM for hyprland to resolve evaluation error 2026-04-05 11:21:47 +01:00
Bernardo Magri
9d36110123 fix(vm): fix Plymouth, SDDM, and autologin for VM testing
- Add virtio_gpu to initrd.kernelModules for early graphics support in VMs.
- Add 'render' group to VM users to ensure GPU acceleration.
- Move autologin defaults to sddm.nix to ensure they are consistently applied.
- Ensure SDDM theme has better session detection for uwsm.
2026-04-05 11:20:24 +01:00
Bernardo Magri
8a72a09bd8 fix(system): enable uwsm and fix session detection to allow VM login
- Enable programs.uwsm for session management.
- Improve SDDM theme session detection logic to be case-insensitive and more robust.
- Perform a global cleanup of 'Nnomarchy' and 'org.nnomarchy' typos across all scripts and configurations.
2026-04-05 11:18:41 +01:00
Bernardo Magri
7f086f07bf chore(branding): add missing icon.svg asset 2026-04-05 11:15:09 +01:00
Bernardo Magri
d59cb8f0ca fix(flake): set home-manager.useGlobalPkgs to false to resolve evaluation warnings 2026-04-05 11:15:02 +01:00
Bernardo Magri
854f429360 fix(bin): correct VM runner binary names and fix typos in test scripts 2026-04-05 11:10:57 +01:00
Bernardo Magri
64c1dc937d chore(branding): update fastfetch ASCII icon and fix branding typos
- Optimized assets/branding/icon.txt with multi-color placeholders for fastfetch.
- Updated config/fastfetch/config.jsonc to use the new multi-colored icon.
- Added icon and svg branding assets to modules/home/theme-files.nix.
- Fixed 'Nnomarchy' typo to 'Nomarchy' and updated branding paths in several scripts.
- Corrected screensaver and welcome scripts to use the centralized branding assets.
2026-04-05 11:06:42 +01:00
Bernardo Magri
514b305713 feat(system): comprehensive branding, styling, and system feature update
- Relocate themes to assets/themes/ and update all references.
- Implement custom SDDM theme and Plymouth theme enhancements.
- Add themed templates for Alacritty, Hyprland, Waybar, and other apps.
- Introduce Makima key remapper module and configuration.
- Add Voxtype and Walker configurations.
- Implement systemd power management and timeout optimizations.
- Add Nautilus-python extensions for LocalSend.
- Update branding assets and ASCII art integration.
2026-04-05 10:52:41 +01:00
Bernardo Magri
9d5049aed5 chore(hygiene): final script cleanup and plymouth optimization
- Remove unused pkg and cmd helper scripts
- Optimize Plymouth settings for cleaner boot in all environments
- Skip hardware auto-detection logic in Live ISO environment
2026-04-04 21:34:02 +01:00
Bernardo Magri
4abd4d4686 chore(todo): add project TODO list and improve Plymouth LUKS support 2026-04-04 20:42:20 +01:00
Bernardo Magri
e3d8c9ca75 feat(branding): professionalize installer and system branding
- Refactor installer with Gum for a professional interactive experience
- Create custom Nomarchy Plymouth theme with centered logo
- Establish assets/branding directory for official logos and ASCII art
- Update Fastfetch config with official ASCII art and declarative stats
- Declaratively link branding assets via Home Manager
2026-04-04 20:34:32 +01:00