chore: complete OOTB QA audit
Fixes identified during the thorough distro review: - Restore automatic wallpaper switching by removing image filters from deployed themes. - Fix broken 'Style' menu entries by creating missing about.txt and screensaver.txt branding files. - Clean up conflicting keybindings by removing deprecated tiling.conf and updating doc generator. - Remove legacy Nord theme hack from nomarchy-theme-set. - Fix JSON parse error in summer-day waybar theme.
This commit is contained in:
@@ -15,8 +15,7 @@ repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|||||||
|
|
||||||
sources=(
|
sources=(
|
||||||
"core/home/config/nomarchy/default/hypr/bindings/utilities.conf|Utilities"
|
"core/home/config/nomarchy/default/hypr/bindings/utilities.conf|Utilities"
|
||||||
"core/home/config/nomarchy/default/hypr/bindings/tiling.conf|Tiling"
|
"core/home/config/nomarchy/default/hypr/bindings/tiling-v2.conf|Tiling"
|
||||||
"core/home/config/nomarchy/default/hypr/bindings/tiling-v2.conf|Tiling (v2)"
|
|
||||||
"core/home/config/nomarchy/default/hypr/bindings/clipboard.conf|Clipboard"
|
"core/home/config/nomarchy/default/hypr/bindings/clipboard.conf|Clipboard"
|
||||||
"core/home/config/nomarchy/default/hypr/bindings/media.conf|Media keys"
|
"core/home/config/nomarchy/default/hypr/bindings/media.conf|Media keys"
|
||||||
"features/desktop/hyprland/config/bindings.conf|Apps & web shortcuts"
|
"features/desktop/hyprland/config/bindings.conf|Apps & web shortcuts"
|
||||||
|
|||||||
16
core/branding/about.txt
Normal file
16
core/branding/about.txt
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# About Nomarchy
|
||||||
|
|
||||||
|
Nomarchy is a highly curated, NixOS-based distribution designed for power users.
|
||||||
|
It features a customized Hyprland desktop environment with a declarative
|
||||||
|
theming engine and a suite of integrated utility scripts.
|
||||||
|
|
||||||
|
Built on a foundation of:
|
||||||
|
- NixOS (Linux)
|
||||||
|
- Hyprland (Window Manager)
|
||||||
|
- Waybar (Status Bar)
|
||||||
|
- Walker (Application Launcher & Menu)
|
||||||
|
- Stylix (Theming Engine)
|
||||||
|
|
||||||
|
Version: 2026.05.04
|
||||||
|
Docs: https://github.com/nomarchy/nomarchy/docs
|
||||||
|
Manual: nomarchy-manual (Command)
|
||||||
11
core/branding/screensaver.txt
Normal file
11
core/branding/screensaver.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Nomarchy Screensaver Configuration
|
||||||
|
|
||||||
|
Nomarchy uses hyprlock for locking and hypridle for idle management.
|
||||||
|
To configure the screensaver/lock screen visuals, edit:
|
||||||
|
~/.config/hypr/hyprlock.conf
|
||||||
|
|
||||||
|
To configure idle timeouts and actions, edit:
|
||||||
|
~/.config/hypr/hypridle.conf
|
||||||
|
|
||||||
|
You can also toggle the screensaver/idle management via the Nomarchy Menu:
|
||||||
|
Trigger > Toggle > Idle Lock
|
||||||
@@ -12,5 +12,5 @@ bindd = SUPER, O, Obsidian, exec, obsidian -disable-gpu
|
|||||||
bindd = SUPER, SLASH, Password manager, exec, $passwordManager
|
bindd = SUPER, SLASH, Password manager, exec, $passwordManager
|
||||||
|
|
||||||
source = ~/.config/nomarchy/default/hypr/bindings/media.conf
|
source = ~/.config/nomarchy/default/hypr/bindings/media.conf
|
||||||
source = ~/.config/nomarchy/default/hypr/bindings/tiling.conf
|
source = ~/.config/nomarchy/default/hypr/bindings/tiling-v2.conf
|
||||||
source = ~/.config/nomarchy/default/hypr/bindings/utilities.conf
|
source = ~/.config/nomarchy/default/hypr/bindings/utilities.conf
|
||||||
|
|||||||
@@ -1,74 +0,0 @@
|
|||||||
# This is now a deprecated file meant for those who did not wish to learn the latest Nomarchy hotkeys.
|
|
||||||
# Do not make changes here, but bring them to tiling-v2.conf instead.
|
|
||||||
|
|
||||||
# Close windows
|
|
||||||
bindd = SUPER, Q, Close window, killactive,
|
|
||||||
bindd = CTRL ALT, DELETE, Close all windows, exec, nomarchy-hyprland-window-close-all
|
|
||||||
|
|
||||||
# Control tiling
|
|
||||||
bindd = SUPER, J, Toggle window split, togglesplit, # dwindle
|
|
||||||
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
|
||||||
bindd = SUPER SHIFT, V, Toggle window floating/tiling, togglefloating,
|
|
||||||
bindd = SHIFT, F11, Force full screen, fullscreen, 0
|
|
||||||
bindd = ALT, F11, Full width, fullscreen, 1
|
|
||||||
|
|
||||||
# Move focus with SUPER + arrow keys
|
|
||||||
bindd = SUPER, LEFT, Move focus left, movefocus, l
|
|
||||||
bindd = SUPER, RIGHT, Move focus right, movefocus, r
|
|
||||||
bindd = SUPER, UP, Move focus up, movefocus, u
|
|
||||||
bindd = SUPER, DOWN, Move focus down, movefocus, d
|
|
||||||
|
|
||||||
# Switch workspaces with SUPER + [0-9]
|
|
||||||
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
|
|
||||||
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
|
|
||||||
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
|
|
||||||
bindd = SUPER, code:13, Switch to workspace 4, workspace, 4
|
|
||||||
bindd = SUPER, code:14, Switch to workspace 5, workspace, 5
|
|
||||||
bindd = SUPER, code:15, Switch to workspace 6, workspace, 6
|
|
||||||
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
|
|
||||||
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
|
|
||||||
bindd = SUPER, code:18, Switch to workspace 9, workspace, 9
|
|
||||||
bindd = SUPER, code:19, Switch to workspace 10, workspace, 10
|
|
||||||
|
|
||||||
# Move active window to a workspace with SUPER + SHIFT + [0-9]
|
|
||||||
bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1
|
|
||||||
bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2
|
|
||||||
bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3
|
|
||||||
bindd = SUPER SHIFT, code:13, Move window to workspace 4, movetoworkspace, 4
|
|
||||||
bindd = SUPER SHIFT, code:14, Move window to workspace 5, movetoworkspace, 5
|
|
||||||
bindd = SUPER SHIFT, code:15, Move window to workspace 6, movetoworkspace, 6
|
|
||||||
bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7
|
|
||||||
bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8
|
|
||||||
bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9
|
|
||||||
bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10
|
|
||||||
|
|
||||||
# TAB between workspaces
|
|
||||||
bindd = SUPER, TAB, Next workspace, workspace, e+1
|
|
||||||
bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1
|
|
||||||
bindd = SUPER CTRL, TAB, Former workspace, workspace, previous
|
|
||||||
|
|
||||||
# Swap active window with the one next to it with SUPER + SHIFT + arrow keys
|
|
||||||
bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l
|
|
||||||
bindd = SUPER SHIFT, RIGHT, Swap window to the right, swapwindow, r
|
|
||||||
bindd = SUPER SHIFT, UP, Swap window up, swapwindow, u
|
|
||||||
bindd = SUPER SHIFT, DOWN, Swap window down, swapwindow, d
|
|
||||||
|
|
||||||
# Cycle through applications on active workspace
|
|
||||||
bindd = ALT, TAB, Cycle to next window, cyclenext
|
|
||||||
bindd = ALT SHIFT, TAB, Cycle to prev window, cyclenext, prev
|
|
||||||
bindd = ALT, TAB, Reveal active window on top, bringactivetotop
|
|
||||||
bindd = ALT SHIFT, TAB, Reveal active window on top, bringactivetotop
|
|
||||||
|
|
||||||
# Resize active window
|
|
||||||
bindd = SUPER, code:20, Expand window left, resizeactive, -100 0 # - key
|
|
||||||
bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0 # = key
|
|
||||||
bindd = SUPER SHIFT, code:20, Shrink window up, resizeactive, 0 -100
|
|
||||||
bindd = SUPER SHIFT, code:21, Expand window down, resizeactive, 0 100
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with SUPER + scroll
|
|
||||||
bindd = SUPER, MOUSE_DOWN, Scroll active workspace forward, workspace, e+1
|
|
||||||
bindd = SUPER, MOUSE_UP, Scroll active workspace backward, workspace, e-1
|
|
||||||
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindmd = SUPER, mouse:272, Move window, movewindow
|
|
||||||
bindmd = SUPER, mouse:273, Resize window, resizewindow
|
|
||||||
@@ -59,63 +59,6 @@ _Source: `core/home/config/nomarchy/default/hypr/bindings/utilities.conf`_
|
|||||||
|
|
||||||
## Tiling
|
## Tiling
|
||||||
|
|
||||||
_Source: `core/home/config/nomarchy/default/hypr/bindings/tiling.conf`_
|
|
||||||
|
|
||||||
| Modifiers | Key | Action |
|
|
||||||
| --- | --- | --- |
|
|
||||||
| SUPER | Q | Close window |
|
|
||||||
| CTRL ALT | DELETE | Close all windows |
|
|
||||||
| SUPER | J | Toggle window split |
|
|
||||||
| SUPER | P | Pseudo window |
|
|
||||||
| SUPER SHIFT | V | Toggle window floating/tiling |
|
|
||||||
| SHIFT | F11 | Force full screen |
|
|
||||||
| ALT | F11 | Full width |
|
|
||||||
| SUPER | LEFT | Move focus left |
|
|
||||||
| SUPER | RIGHT | Move focus right |
|
|
||||||
| SUPER | UP | Move focus up |
|
|
||||||
| SUPER | DOWN | Move focus down |
|
|
||||||
| SUPER | 1 | Switch to workspace 1 |
|
|
||||||
| SUPER | 2 | Switch to workspace 2 |
|
|
||||||
| SUPER | 3 | Switch to workspace 3 |
|
|
||||||
| SUPER | 4 | Switch to workspace 4 |
|
|
||||||
| SUPER | 5 | Switch to workspace 5 |
|
|
||||||
| SUPER | 6 | Switch to workspace 6 |
|
|
||||||
| SUPER | 7 | Switch to workspace 7 |
|
|
||||||
| SUPER | 8 | Switch to workspace 8 |
|
|
||||||
| SUPER | 9 | Switch to workspace 9 |
|
|
||||||
| SUPER | 0 | Switch to workspace 10 |
|
|
||||||
| SUPER SHIFT | 1 | Move window to workspace 1 |
|
|
||||||
| SUPER SHIFT | 2 | Move window to workspace 2 |
|
|
||||||
| SUPER SHIFT | 3 | Move window to workspace 3 |
|
|
||||||
| SUPER SHIFT | 4 | Move window to workspace 4 |
|
|
||||||
| SUPER SHIFT | 5 | Move window to workspace 5 |
|
|
||||||
| SUPER SHIFT | 6 | Move window to workspace 6 |
|
|
||||||
| SUPER SHIFT | 7 | Move window to workspace 7 |
|
|
||||||
| SUPER SHIFT | 8 | Move window to workspace 8 |
|
|
||||||
| SUPER SHIFT | 9 | Move window to workspace 9 |
|
|
||||||
| SUPER SHIFT | 0 | Move window to workspace 10 |
|
|
||||||
| SUPER | TAB | Next workspace |
|
|
||||||
| SUPER SHIFT | TAB | Previous workspace |
|
|
||||||
| SUPER CTRL | TAB | Former workspace |
|
|
||||||
| SUPER SHIFT | LEFT | Swap window to the left |
|
|
||||||
| SUPER SHIFT | RIGHT | Swap window to the right |
|
|
||||||
| SUPER SHIFT | UP | Swap window up |
|
|
||||||
| SUPER SHIFT | DOWN | Swap window down |
|
|
||||||
| ALT | TAB | Cycle to next window |
|
|
||||||
| ALT SHIFT | TAB | Cycle to prev window |
|
|
||||||
| ALT | TAB | Reveal active window on top |
|
|
||||||
| ALT SHIFT | TAB | Reveal active window on top |
|
|
||||||
| SUPER | code:20 | Expand window left |
|
|
||||||
| SUPER | code:21 | Shrink window left |
|
|
||||||
| SUPER SHIFT | code:20 | Shrink window up |
|
|
||||||
| SUPER SHIFT | code:21 | Expand window down |
|
|
||||||
| SUPER | MOUSE_DOWN | Scroll active workspace forward |
|
|
||||||
| SUPER | MOUSE_UP | Scroll active workspace backward |
|
|
||||||
| SUPER | mouse:272 | Move window |
|
|
||||||
| SUPER | mouse:273 | Resize window |
|
|
||||||
|
|
||||||
## Tiling (v2)
|
|
||||||
|
|
||||||
_Source: `core/home/config/nomarchy/default/hypr/bindings/tiling-v2.conf`_
|
_Source: `core/home/config/nomarchy/default/hypr/bindings/tiling-v2.conf`_
|
||||||
|
|
||||||
| Modifiers | Key | Action |
|
| Modifiers | Key | Action |
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Guardrails (apply when adding anything):
|
|||||||
|
|
||||||
### Now (ready to pick up)
|
### Now (ready to pick up)
|
||||||
|
|
||||||
- **Thorough Out-of-the-Box QA Audit.** A complete and thorough review of the distro to identify and fix anything broken or not working as intended in a fresh installation (including the `nomarchy-live` ISO) without any manual configuration. Focus areas: theme engine and switching, script execution, menu mappings, and overall default desktop polish.
|
- (Empty for now)
|
||||||
|
|
||||||
### Next (bigger lifts that build on Now)
|
### Next (bigger lifts that build on Now)
|
||||||
|
|
||||||
@@ -136,6 +136,7 @@ Nomarchy is moving away from being a "flavor" of Omarchy to its own distinct ide
|
|||||||
|
|
||||||
(Move items here when they land — keep them brief, link the commit/PR.)
|
(Move items here when they land — keep them brief, link the commit/PR.)
|
||||||
|
|
||||||
|
- _2026-05-04_ — Thorough Out-of-the-Box QA Audit. (1) Restored automatic wallpaper switching by removing image filters from deployed themes; (2) Fixed broken "Style" menu entries by creating missing `about.txt` and `screensaver.txt` branding files; (3) Cleaned up conflicting keybindings by removing deprecated `tiling.conf` and updating the doc generator; (4) Removed legacy Nord theme hack from `nomarchy-theme-set`; (5) Fixed JSON parse error in `summer-day` waybar theme.
|
||||||
- _2026-05-03_ — Fixed multi-disk LUKS/BTRFS boot hang. (1) Moved temporary LUKS keyfile to `/tmp/` so Disko correctly omits it from the runtime configuration; (2) Injected `x-systemd.requires` and `x-systemd.device-timeout=0` into BTRFS mount options to ensure all LUKS drives are decrypted before mounting.
|
- _2026-05-03_ — Fixed multi-disk LUKS/BTRFS boot hang. (1) Moved temporary LUKS keyfile to `/tmp/` so Disko correctly omits it from the runtime configuration; (2) Injected `x-systemd.requires` and `x-systemd.device-timeout=0` into BTRFS mount options to ensure all LUKS drives are decrypted before mounting.
|
||||||
- _2026-05-03_ — Fixed CLI wrappers and removed obsolete code. (1) Updated `nomarchy-font`, `nomarchy-theme`, and `nomarchy-wallpaper` CLI wrappers to use modern Walker menus; (2) Removed the obsolete and broken `themes/engine/switcher.nix` and its associated Nix-inlined scripts; (3) Cleaned up remaining `$NOMARCHY_PATH` references from the Omarchy era.
|
- _2026-05-03_ — Fixed CLI wrappers and removed obsolete code. (1) Updated `nomarchy-font`, `nomarchy-theme`, and `nomarchy-wallpaper` CLI wrappers to use modern Walker menus; (2) Removed the obsolete and broken `themes/engine/switcher.nix` and its associated Nix-inlined scripts; (3) Cleaned up remaining `$NOMARCHY_PATH` references from the Omarchy era.
|
||||||
- _2026-05-03_ — Fixed `/etc/nixos` ownership after installation. Added a `chown -R $USERNAME:users /etc/nixos` step via `nixos-enter` at the end of `installer/install.sh` so the main user owns their configuration and can run `home-manager` commands without `sudo`.
|
- _2026-05-03_ — Fixed `/etc/nixos` ownership after installation. Added a `chown -R $USERNAME:users /etc/nixos` step via `nixos-enter` at the end of `installer/install.sh` so the main user owns their configuration and can run `home-manager` commands without `sudo`.
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
"8": [],
|
"8": [],
|
||||||
"9": [],
|
"9": [],
|
||||||
"10": []
|
"10": []
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/launcher": {
|
"custom/launcher": {
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
"default": ["", "", ""]
|
"default": ["", "", ""]
|
||||||
},
|
},
|
||||||
"on-click-right": "pavucontrol",
|
"on-click-right": "pavucontrol",
|
||||||
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
|
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||||
},
|
},
|
||||||
|
|
||||||
"network": {
|
"network": {
|
||||||
|
|||||||
@@ -74,21 +74,13 @@ in
|
|||||||
xdg.configFile."nomarchy/branding/logo.svg".source = ../../core/branding/logo.svg;
|
xdg.configFile."nomarchy/branding/logo.svg".source = ../../core/branding/logo.svg;
|
||||||
xdg.configFile."nomarchy/branding/icon.png".source = ../../core/branding/icon.png;
|
xdg.configFile."nomarchy/branding/icon.png".source = ../../core/branding/icon.png;
|
||||||
xdg.configFile."nomarchy/branding/icon.txt".source = ../../core/branding/icon.txt;
|
xdg.configFile."nomarchy/branding/icon.txt".source = ../../core/branding/icon.txt;
|
||||||
|
xdg.configFile."nomarchy/branding/screensaver.txt".source = ../../core/branding/screensaver.txt;
|
||||||
|
xdg.configFile."nomarchy/branding/about.txt".source = ../../core/branding/about.txt;
|
||||||
|
|
||||||
# Expose all themes to the system via local share for script accessibility
|
# Expose all themes to the system via local share for script accessibility
|
||||||
# We filter out images to prevent Nix Store bloat
|
|
||||||
xdg.dataFile."nomarchy/themes".source = builtins.path {
|
xdg.dataFile."nomarchy/themes".source = builtins.path {
|
||||||
name = "nomarchy-themes-no-images";
|
name = "nomarchy-themes";
|
||||||
path = ../palettes;
|
path = ../palettes;
|
||||||
filter = path: type:
|
|
||||||
let
|
|
||||||
baseName = baseNameOf path;
|
|
||||||
in
|
|
||||||
! (type == "regular" && (
|
|
||||||
lib.hasSuffix ".jpg" baseName ||
|
|
||||||
lib.hasSuffix ".png" baseName ||
|
|
||||||
lib.hasSuffix ".jpeg" baseName
|
|
||||||
));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Nautilus python extensions
|
# Nautilus python extensions
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ fi
|
|||||||
mkdir -p "$STATE_DIR"
|
mkdir -p "$STATE_DIR"
|
||||||
[[ ! -f $STATE_FILE ]] && echo "{}" > "$STATE_FILE"
|
[[ ! -f $STATE_FILE ]] && echo "{}" > "$STATE_FILE"
|
||||||
|
|
||||||
if [ ! -d "$THEMES_DIR/$THEME_NAME" ] && ! [[ "$THEME_NAME" == "nord" ]]; then
|
if [ ! -d "$THEMES_DIR/$THEME_NAME" ]; then
|
||||||
echo "Theme '$THEME_NAME' not found in $THEMES_DIR"
|
echo "Theme '$THEME_NAME' not found in $THEMES_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user