chore(audit): delete NixOS-irrelevant Omarchy port scripts
Pillar 3 Phase B, batch 2. Five `unused?` scripts that either duplicate NixOS-native facilities or reference infrastructure Nomarchy doesn't ship. All five had no callers anywhere in the tree. - `nomarchy-rollback`: ran `nixos-rebuild rollback` after listing `snapper` snapshots. NixOS already exposes the previous generation in the boot menu and `nixos-rebuild --rollback`; Nomarchy uses impermanence, not snapper. - `nomarchy-snapshot`: wrapped `snapper create/restore`. Same reason — snapper isn't part of Nomarchy. The script's "nomarchy-update can use this" comment never came true; nomarchy-update has no reference to it. - `nomarchy-migrate-state`: one-time migration from old `~/.config/home-manager/state.json` and `/etc/nixos/state.json` to the unified `~/.config/nomarchy/state.json`. The installer now seeds the unified file directly; no current install needs the migration. - `nomarchy-config-direct-boot`: added an EFI boot entry for a Nomarchy UKI. We don't build a UKI (no references anywhere in `core/` or `hosts/`), so the script targeted nonexistent infrastructure. - `nomarchy-npx-install`: generated npx wrappers in `~/.local/bin/`. An Arch idiom — on NixOS the path is `nix-shell -p nodejs` or a declarative `home.packages` entry. Kept `nomarchy-build-iso` and `nomarchy-build-live-iso` (the user-flagged useful build wrappers) and surfaced them in README §2 in place of the raw `nix build` command, which both removes the audit's `unused?` flag on them and shortens the docs. Regenerated docs/SCRIPTS.md (171 → 166 scripts; 28 `unused?` → 21). Logged in docs/ROADMAP.md Shipped. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -40,7 +40,8 @@ This builds a full graphical VM of the installer environment. Once inside, click
|
|||||||
### 2. Build the Installer ISO
|
### 2. Build the Installer ISO
|
||||||
To install on physical hardware, generate your own bootable image:
|
To install on physical hardware, generate your own bootable image:
|
||||||
```bash
|
```bash
|
||||||
nix build .#nixosConfigurations.nomarchy-installer.config.system.build.isoImage
|
./features/scripts/utils/nomarchy-build-iso # Minimal TTY installer
|
||||||
|
./features/scripts/utils/nomarchy-build-live-iso # Graphical try-before-install
|
||||||
```
|
```
|
||||||
The ISO will be located at `./result/iso/nixos-*.iso`. Flash it to a USB drive and boot.
|
The ISO will be located at `./result/iso/nixos-*.iso`. Flash it to a USB drive and boot.
|
||||||
|
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ Each PR description should reference the row(s) in `docs/SCRIPTS.md` it closes,
|
|||||||
|
|
||||||
(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-18_ — Pillar 3 Phase B: dead-code sweep (NixOS-irrelevant Omarchy ports). Deleted five scripts that duplicated NixOS-native facilities or referenced infrastructure Nomarchy doesn't ship: `nomarchy-rollback` (boot-menu generations + `nixos-rebuild rollback` already cover this), `nomarchy-snapshot` (used `snapper`; impermanence and BTRFS subvolumes are the Nomarchy answer), `nomarchy-migrate-state` (one-shot pre-unification migration, no current callers), `nomarchy-config-direct-boot` (added an EFI entry for a UKI we never build), and `nomarchy-npx-install` (Arch idiom — `nix-shell -p nodejs` is the NixOS path). Kept `nomarchy-build-iso` and `nomarchy-build-live-iso` and surfaced them in README §2 so the audit tags them `kept`. Script count 171 → 166.
|
||||||
- _2026-05-18_ — Pillar 3 Phase B: missing-references triage. (1) Wrote `themes/engine/scripts/nomarchy-theme-next` so `SKILL.md`'s documented "cycle to next theme" command resolves; (2) scrubbed three stale `nomarchy-dev-*` references from `core/home/config/nomarchy-skill/SKILL.md`; (3) added a line-context filter to both `nomarchy-docs-scripts` generators that drops `nomarchy-*` tokens appearing in Nix `pname`/derivation idents, `/tmp/` & `/etc/sudoers.d/` paths, `nixosConfigurations.*` / `packages.*` flake outputs, `mktemp -t` prefixes, systemd unit vars, `./result/bin/run-` binaries, and `docker` container references; (4) added a small token-level denylist for five residual non-script identifiers (`nomarchy-plymouth`, `nomarchy-sddm-theme`, `nomarchy-live`, `nomarchy-rev`, `nomarchy-windows`) that survive line filtering. `docs/SCRIPTS.md` "Missing references" section is now empty (was 15).
|
- _2026-05-18_ — Pillar 3 Phase B: missing-references triage. (1) Wrote `themes/engine/scripts/nomarchy-theme-next` so `SKILL.md`'s documented "cycle to next theme" command resolves; (2) scrubbed three stale `nomarchy-dev-*` references from `core/home/config/nomarchy-skill/SKILL.md`; (3) added a line-context filter to both `nomarchy-docs-scripts` generators that drops `nomarchy-*` tokens appearing in Nix `pname`/derivation idents, `/tmp/` & `/etc/sudoers.d/` paths, `nixosConfigurations.*` / `packages.*` flake outputs, `mktemp -t` prefixes, systemd unit vars, `./result/bin/run-` binaries, and `docker` container references; (4) added a small token-level denylist for five residual non-script identifiers (`nomarchy-plymouth`, `nomarchy-sddm-theme`, `nomarchy-live`, `nomarchy-rev`, `nomarchy-windows`) that survive line filtering. `docs/SCRIPTS.md` "Missing references" section is now empty (was 15).
|
||||||
- _2026-05-04_ — Pillar 8: Distro Branding. (1) Scrubbed remaining "Omarchy" and "Spirit of Omarchy" references from README, scripts, and welcome wizard; (2) Updated `nomarchy-welcome` banner and `nomarchy-version` codename ("Sovereign"); (3) Verified existing `core/system/branding.nix` handles OS-release and bootloader labels; (4) Confirmed SDDM and Plymouth metadata are already Nomarchy-branded.
|
- _2026-05-04_ — Pillar 8: Distro Branding. (1) Scrubbed remaining "Omarchy" and "Spirit of Omarchy" references from README, scripts, and welcome wizard; (2) Updated `nomarchy-welcome` banner and `nomarchy-version` codename ("Sovereign"); (3) Verified existing `core/system/branding.nix` handles OS-release and bootloader labels; (4) Confirmed SDDM and Plymouth metadata are already Nomarchy-branded.
|
||||||
- _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-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.
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Phase B (per-batch PRs) refines those into `port-from-omarchy`,
|
|||||||
- `delete-dead` — Phase B verdict: remove and update callers.
|
- `delete-dead` — Phase B verdict: remove and update callers.
|
||||||
- `stub-with-notify` — Phase B verdict: temporary `notify-send` stub.
|
- `stub-with-notify` — Phase B verdict: temporary `notify-send` stub.
|
||||||
|
|
||||||
## Scripts (171)
|
## Scripts (166)
|
||||||
|
|
||||||
| Script | Location | Callers | Status | Notes |
|
| Script | Location | Callers | Status | Notes |
|
||||||
| --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- |
|
||||||
@@ -38,8 +38,8 @@ Phase B (per-batch PRs) refines those into `port-from-omarchy`,
|
|||||||
| `nomarchy-brightness-display` | `core/system/scripts` | core/home/config/nomarchy/default/hypr/bindings/media.conf,core/home/config/nomarchy/default/hypr/bindings/utilities.conf | `kept` | |
|
| `nomarchy-brightness-display` | `core/system/scripts` | core/home/config/nomarchy/default/hypr/bindings/media.conf,core/home/config/nomarchy/default/hypr/bindings/utilities.conf | `kept` | |
|
||||||
| `nomarchy-brightness-display-apple` | `core/system/scripts` | core/home/config/nomarchy/default/hypr/bindings/utilities.conf | `kept` | |
|
| `nomarchy-brightness-display-apple` | `core/system/scripts` | core/home/config/nomarchy/default/hypr/bindings/utilities.conf | `kept` | |
|
||||||
| `nomarchy-brightness-keyboard` | `core/system/scripts` | core/home/config/nomarchy/default/hypr/bindings/media.conf | `kept` | |
|
| `nomarchy-brightness-keyboard` | `core/system/scripts` | core/home/config/nomarchy/default/hypr/bindings/media.conf | `kept` | |
|
||||||
| `nomarchy-build-iso` | `features/scripts/utils` | — | `unused?` | |
|
| `nomarchy-build-iso` | `features/scripts/utils` | README.md | `kept` | |
|
||||||
| `nomarchy-build-live-iso` | `features/scripts/utils` | — | `unused?` | |
|
| `nomarchy-build-live-iso` | `features/scripts/utils` | README.md | `kept` | |
|
||||||
| `nomarchy-cmd-audio-switch` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/bindings/media.conf | `kept` | |
|
| `nomarchy-cmd-audio-switch` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/bindings/media.conf | `kept` | |
|
||||||
| `nomarchy-cmd-present` | `features/scripts/utils` | core/home/config/nomarchy/hooks/battery-low.sample,features/scripts/utils/nomarchy-launch-editor, +4 more | `kept` | |
|
| `nomarchy-cmd-present` | `features/scripts/utils` | core/home/config/nomarchy/hooks/battery-low.sample,features/scripts/utils/nomarchy-launch-editor, +4 more | `kept` | |
|
||||||
| `nomarchy-cmd-screenrecord` | `features/scripts/utils` | features/desktop/waybar/config/config.jsonc,features/desktop/waybar/themes/summer-night/config.jsonc, +1 more | `kept` | |
|
| `nomarchy-cmd-screenrecord` | `features/scripts/utils` | features/desktop/waybar/config/config.jsonc,features/desktop/waybar/themes/summer-night/config.jsonc, +1 more | `kept` | |
|
||||||
@@ -47,7 +47,6 @@ Phase B (per-batch PRs) refines those into `port-from-omarchy`,
|
|||||||
| `nomarchy-cmd-screenshot` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/bindings/utilities.conf,core/home/config/nomarchy-skill/SKILL.md, +1 more | `kept` | |
|
| `nomarchy-cmd-screenshot` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/bindings/utilities.conf,core/home/config/nomarchy-skill/SKILL.md, +1 more | `kept` | |
|
||||||
| `nomarchy-cmd-share` | `features/scripts/utils` | features/scripts/utils/nomarchy-menu | `kept` | |
|
| `nomarchy-cmd-share` | `features/scripts/utils` | features/scripts/utils/nomarchy-menu | `kept` | |
|
||||||
| `nomarchy-cmd-terminal-cwd` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/plain-bindings.conf,features/desktop/hyprland/config/bindings.conf | `kept` | |
|
| `nomarchy-cmd-terminal-cwd` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/plain-bindings.conf,features/desktop/hyprland/config/bindings.conf | `kept` | |
|
||||||
| `nomarchy-config-direct-boot` | `features/scripts/utils` | — | `unused?` | |
|
|
||||||
| `nomarchy-debug` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md | `kept` | |
|
| `nomarchy-debug` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md | `kept` | |
|
||||||
| `nomarchy-docs-keybindings` | `features/scripts/utils` | bin/utils/nomarchy-docs-keybindings | `kept` | |
|
| `nomarchy-docs-keybindings` | `features/scripts/utils` | bin/utils/nomarchy-docs-keybindings | `kept` | |
|
||||||
| `nomarchy-docs-scripts` | `features/scripts/utils` | bin/utils/nomarchy-docs-scripts | `kept` | |
|
| `nomarchy-docs-scripts` | `features/scripts/utils` | bin/utils/nomarchy-docs-scripts | `kept` | |
|
||||||
@@ -94,9 +93,7 @@ Phase B (per-batch PRs) refines those into `port-from-omarchy`,
|
|||||||
| `nomarchy-manual` | `features/scripts/utils` | core/branding/about.txt,features/scripts/utils/nomarchy-menu, +1 more | `kept` | |
|
| `nomarchy-manual` | `features/scripts/utils` | core/branding/about.txt,features/scripts/utils/nomarchy-menu, +1 more | `kept` | |
|
||||||
| `nomarchy-menu` | `features/scripts/utils` | bin/utils/nomarchy-docs-scripts,core/home/config/nomarchy/default/hypr/bindings/utilities.conf, +10 more | `kept` | |
|
| `nomarchy-menu` | `features/scripts/utils` | bin/utils/nomarchy-docs-scripts,core/home/config/nomarchy/default/hypr/bindings/utilities.conf, +10 more | `kept` | |
|
||||||
| `nomarchy-menu-keybindings` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/bindings/utilities.conf,core/home/config/nomarchy/default/mako/core.ini, +2 more | `kept` | |
|
| `nomarchy-menu-keybindings` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/bindings/utilities.conf,core/home/config/nomarchy/default/mako/core.ini, +2 more | `kept` | |
|
||||||
| `nomarchy-migrate-state` | `features/scripts/utils` | — | `unused?` | |
|
|
||||||
| `nomarchy-notification-dismiss` | `features/scripts/utils` | core/home/config/nomarchy/default/mako/core.ini | `kept` | |
|
| `nomarchy-notification-dismiss` | `features/scripts/utils` | core/home/config/nomarchy/default/mako/core.ini | `kept` | |
|
||||||
| `nomarchy-npx-install` | `features/scripts/utils` | — | `unused?` | |
|
|
||||||
| `nomarchy-on-boot` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/autostart.conf | `kept` | |
|
| `nomarchy-on-boot` | `features/scripts/utils` | core/home/config/nomarchy/default/hypr/autostart.conf | `kept` | |
|
||||||
| `nomarchy-pkg-add` | `core/system/scripts` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-pkg-install, +2 more | `kept` | |
|
| `nomarchy-pkg-add` | `core/system/scripts` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-pkg-install, +2 more | `kept` | |
|
||||||
| `nomarchy-pkg-aur-add` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md | `kept` | |
|
| `nomarchy-pkg-aur-add` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md | `kept` | |
|
||||||
@@ -104,7 +101,7 @@ Phase B (per-batch PRs) refines those into `port-from-omarchy`,
|
|||||||
| `nomarchy-pkg-install` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md | `kept` | |
|
| `nomarchy-pkg-install` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md | `kept` | |
|
||||||
| `nomarchy-pkg-remove` | `core/system/scripts` | features/scripts/utils/nomarchy-pkg-drop | `kept` | |
|
| `nomarchy-pkg-remove` | `core/system/scripts` | features/scripts/utils/nomarchy-pkg-drop | `kept` | |
|
||||||
| `nomarchy-powerprofiles-list` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
| `nomarchy-powerprofiles-list` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
||||||
| `nomarchy-preflight-migration` | `core/system/scripts` | core/system/scripts/nomarchy-env-update,features/scripts/utils/nomarchy-migrate-state | `kept` | |
|
| `nomarchy-preflight-migration` | `core/system/scripts` | core/system/scripts/nomarchy-env-update | `kept` | |
|
||||||
| `nomarchy-refresh-config` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-refresh-fastfetch | `kept` | |
|
| `nomarchy-refresh-config` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-refresh-fastfetch | `kept` | |
|
||||||
| `nomarchy-refresh-fastfetch` | `features/scripts/utils` | — | `unused?` | |
|
| `nomarchy-refresh-fastfetch` | `features/scripts/utils` | — | `unused?` | |
|
||||||
| `nomarchy-refresh-hyprland` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md | `kept` | |
|
| `nomarchy-refresh-hyprland` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md | `kept` | |
|
||||||
@@ -127,14 +124,12 @@ Phase B (per-batch PRs) refines those into `port-from-omarchy`,
|
|||||||
| `nomarchy-restart-waybar` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-menu, +4 more | `kept` | |
|
| `nomarchy-restart-waybar` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-menu, +4 more | `kept` | |
|
||||||
| `nomarchy-restart-wifi` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
| `nomarchy-restart-wifi` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
||||||
| `nomarchy-restart-xcompose` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
| `nomarchy-restart-xcompose` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
||||||
| `nomarchy-rollback` | `features/scripts/utils` | — | `unused?` | |
|
|
||||||
| `nomarchy-setup-dns` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
| `nomarchy-setup-dns` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
||||||
| `nomarchy-setup-fido2` | `core/system/scripts` | features/scripts/utils/nomarchy-menu,installer/install.sh | `kept` | |
|
| `nomarchy-setup-fido2` | `core/system/scripts` | features/scripts/utils/nomarchy-menu,installer/install.sh | `kept` | |
|
||||||
| `nomarchy-setup-fingerprint` | `core/system/scripts` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-menu | `kept` | |
|
| `nomarchy-setup-fingerprint` | `core/system/scripts` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-menu | `kept` | |
|
||||||
| `nomarchy-show-done` | `themes/engine/scripts` | features/scripts/utils/nomarchy-launch-floating-terminal-with-presentation | `kept` | |
|
| `nomarchy-show-done` | `themes/engine/scripts` | features/scripts/utils/nomarchy-launch-floating-terminal-with-presentation | `kept` | |
|
||||||
| `nomarchy-show-logo` | `themes/engine/scripts` | features/scripts/utils/nomarchy-launch-floating-terminal-with-presentation | `kept` | |
|
| `nomarchy-show-logo` | `themes/engine/scripts` | features/scripts/utils/nomarchy-launch-floating-terminal-with-presentation | `kept` | |
|
||||||
| `nomarchy-skill` | `features/scripts/utils` | core/home/configs.nix | `kept` | |
|
| `nomarchy-skill` | `features/scripts/utils` | core/home/configs.nix | `kept` | |
|
||||||
| `nomarchy-snapshot` | `features/scripts/utils` | — | `unused?` | |
|
|
||||||
| `nomarchy-state` | `features/scripts/utils` | core/system/scripts/nomarchy-system-reboot,core/system/scripts/nomarchy-system-shutdown, +2 more | `kept` | |
|
| `nomarchy-state` | `features/scripts/utils` | core/system/scripts/nomarchy-system-reboot,core/system/scripts/nomarchy-system-shutdown, +2 more | `kept` | |
|
||||||
| `nomarchy-state-write` | `features/scripts/utils` | features/scripts/utils/nomarchy-welcome | `kept` | |
|
| `nomarchy-state-write` | `features/scripts/utils` | features/scripts/utils/nomarchy-welcome | `kept` | |
|
||||||
| `nomarchy-sudo-keepalive` | `core/system/scripts` | — | `unused?` | |
|
| `nomarchy-sudo-keepalive` | `core/system/scripts` | — | `unused?` | |
|
||||||
@@ -179,12 +174,12 @@ Phase B (per-batch PRs) refines those into `port-from-omarchy`,
|
|||||||
| `nomarchy-tui-remove` | `features/scripts/utils` | — | `unused?` | |
|
| `nomarchy-tui-remove` | `features/scripts/utils` | — | `unused?` | |
|
||||||
| `nomarchy-tui-remove-all` | `features/scripts/utils` | — | `unused?` | |
|
| `nomarchy-tui-remove-all` | `features/scripts/utils` | — | `unused?` | |
|
||||||
| `nomarchy-tz-select` | `core/system/scripts` | features/desktop/waybar/config/config.jsonc,features/scripts/utils/nomarchy-menu, +2 more | `kept` | |
|
| `nomarchy-tz-select` | `core/system/scripts` | features/desktop/waybar/config/config.jsonc,features/scripts/utils/nomarchy-menu, +2 more | `kept` | |
|
||||||
| `nomarchy-update` | `core/system/scripts` | core/home/config/nomarchy/default/mako/core.ini,core/home/config/nomarchy-skill/SKILL.md, +4 more | `kept` | |
|
| `nomarchy-update` | `core/system/scripts` | core/home/config/nomarchy/default/mako/core.ini,core/home/config/nomarchy-skill/SKILL.md, +3 more | `kept` | |
|
||||||
| `nomarchy-update-available` | `features/scripts/utils` | features/desktop/waybar/config/config.jsonc,features/desktop/waybar/themes/summer-night/config.jsonc | `kept` | |
|
| `nomarchy-update-available` | `features/scripts/utils` | features/desktop/waybar/config/config.jsonc,features/desktop/waybar/themes/summer-night/config.jsonc | `kept` | |
|
||||||
| `nomarchy-update-firmware` | `features/scripts/utils` | features/scripts/utils/nomarchy-menu | `kept` | |
|
| `nomarchy-update-firmware` | `features/scripts/utils` | features/scripts/utils/nomarchy-menu | `kept` | |
|
||||||
| `nomarchy-update-time` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
| `nomarchy-update-time` | `core/system/scripts` | features/scripts/utils/nomarchy-menu | `kept` | |
|
||||||
| `nomarchy-upload-log` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-debug | `kept` | |
|
| `nomarchy-upload-log` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-debug | `kept` | |
|
||||||
| `nomarchy-version` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-debug, +1 more | `kept` | |
|
| `nomarchy-version` | `features/scripts/utils` | core/home/config/nomarchy-skill/SKILL.md,features/scripts/utils/nomarchy-debug | `kept` | |
|
||||||
| `nomarchy-voxtype-config` | `features/scripts/utils` | features/desktop/waybar/config/config.jsonc,features/desktop/waybar/themes/summer-night/config.jsonc | `kept` | |
|
| `nomarchy-voxtype-config` | `features/scripts/utils` | features/desktop/waybar/config/config.jsonc,features/desktop/waybar/themes/summer-night/config.jsonc | `kept` | |
|
||||||
| `nomarchy-voxtype-install` | `features/scripts/utils` | — | `unused?` | |
|
| `nomarchy-voxtype-install` | `features/scripts/utils` | — | `unused?` | |
|
||||||
| `nomarchy-voxtype-model` | `features/scripts/utils` | features/desktop/waybar/config/config.jsonc,features/desktop/waybar/themes/summer-night/config.jsonc | `kept` | |
|
| `nomarchy-voxtype-model` | `features/scripts/utils` | features/desktop/waybar/config/config.jsonc,features/desktop/waybar/themes/summer-night/config.jsonc | `kept` | |
|
||||||
|
|||||||
@@ -1,46 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Add an EFI boot entry for the Nomarchy UKI, allowing the system to boot directly
|
|
||||||
# without a bootloader like Limine. Requires UEFI firmware and a built UKI.
|
|
||||||
|
|
||||||
if [[ ! -d /sys/firmware/efi ]]; then
|
|
||||||
echo "Error: System is not booted in UEFI mode" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! efibootmgr &>/dev/null; then
|
|
||||||
echo "Error: efibootmgr is not available or not functional" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends"; then
|
|
||||||
echo "Error: American Megatrends firmware may not safely support custom EFI entries" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "Apple"; then
|
|
||||||
echo "Error: Apple firmware uses its own boot manager" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
uki_file=$(find /boot/EFI/Linux/ -name "nomarchy*.efi" -printf "%f\n" 2>/dev/null | head -1)
|
|
||||||
|
|
||||||
if [[ -z $uki_file ]]; then
|
|
||||||
echo "Error: No Nomarchy UKI found in /boot/EFI/Linux/" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
boot_source=$(findmnt -n -o SOURCE /boot)
|
|
||||||
disk=$(echo "$boot_source" | sed 's/p\?[0-9]*$//')
|
|
||||||
part=$(echo "$boot_source" | grep -o 'p\?[0-9]*$' | sed 's/^p//')
|
|
||||||
|
|
||||||
if gum confirm "Setup direct boot (so snapshot booting must be done via bios)?"; then
|
|
||||||
echo "Creating EFI boot entry for $uki_file"
|
|
||||||
|
|
||||||
sudo efibootmgr --create \
|
|
||||||
--disk "$disk" \
|
|
||||||
--part "$part" \
|
|
||||||
--label "Nomarchy" \
|
|
||||||
--loader "\\EFI\\Linux\\$uki_file"
|
|
||||||
fi
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Nomarchy State Migration Script
|
|
||||||
# Migrates state from old locations to unified ~/.config/nomarchy/state.json
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
NEW_STATE_DIR="$HOME/.config/nomarchy"
|
|
||||||
NEW_STATE_FILE="$NEW_STATE_DIR/state.json"
|
|
||||||
OLD_HOME_STATE="$HOME/.config/home-manager/state.json"
|
|
||||||
OLD_SYSTEM_STATE="/etc/nixos/state.json"
|
|
||||||
|
|
||||||
mkdir -p "$NEW_STATE_DIR"
|
|
||||||
|
|
||||||
# Initialize new state file if it doesn't exist
|
|
||||||
if [[ ! -f "$NEW_STATE_FILE" ]]; then
|
|
||||||
echo "{}" > "$NEW_STATE_FILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Function to safely merge JSON
|
|
||||||
merge_json() {
|
|
||||||
local source="$1"
|
|
||||||
if [[ -f "$source" ]]; then
|
|
||||||
echo "Migrating from $source..."
|
|
||||||
TMP_FILE=$(mktemp)
|
|
||||||
# Merge source into new state (new state values take precedence if conflict)
|
|
||||||
jq -s '.[0] * .[1]' "$source" "$NEW_STATE_FILE" > "$TMP_FILE" && mv "$TMP_FILE" "$NEW_STATE_FILE"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Migrate old home-manager state
|
|
||||||
if [[ -f "$OLD_HOME_STATE" ]] && [[ "$OLD_HOME_STATE" != "$NEW_STATE_FILE" ]]; then
|
|
||||||
merge_json "$OLD_HOME_STATE"
|
|
||||||
echo "Old home state migrated. You can remove: $OLD_HOME_STATE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if system state exists and user wants to sync it
|
|
||||||
if [[ -f "$OLD_SYSTEM_STATE" ]]; then
|
|
||||||
echo ""
|
|
||||||
echo "System state found at $OLD_SYSTEM_STATE"
|
|
||||||
echo "Note: System state will continue to be read from /etc/nixos/state.json"
|
|
||||||
echo " for system-level NixOS configuration."
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run the preflight migration for any legacy formats
|
|
||||||
if command -v nomarchy-preflight-migration &> /dev/null; then
|
|
||||||
nomarchy-preflight-migration
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Migration complete!"
|
|
||||||
echo "New state location: $NEW_STATE_FILE"
|
|
||||||
echo ""
|
|
||||||
echo "Current state:"
|
|
||||||
jq '.' "$NEW_STATE_FILE"
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Install an npx wrapper for a given npm package.
|
|
||||||
# Usage: nomarchy-npx-install <package> [command-name]
|
|
||||||
#
|
|
||||||
# If command-name is omitted, it defaults to the package name.
|
|
||||||
# Example: nomarchy-npx-install opencode-ai opencode
|
|
||||||
|
|
||||||
if [[ -z $1 ]]; then
|
|
||||||
echo "Usage: nomarchy-npx-install <package> [command-name]"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
package=$1
|
|
||||||
command=${2:-$1}
|
|
||||||
|
|
||||||
mkdir -p "$HOME/.local/bin"
|
|
||||||
|
|
||||||
cat > "$HOME/.local/bin/$command" <<EOF
|
|
||||||
#!/bin/bash
|
|
||||||
exec npx --yes $package "\$@"
|
|
||||||
EOF
|
|
||||||
|
|
||||||
chmod +x "$HOME/.local/bin/$command"
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Nomarchy Rollback Script
|
|
||||||
# Reverts the system to a previous working generation.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if command -v snapper &>/dev/null; then
|
|
||||||
echo "BTRFS Snapper detected. Listing snapshots..."
|
|
||||||
sudo snapper list
|
|
||||||
echo ""
|
|
||||||
echo "To rollback to a specific snapshot, run: sudo snapper rollback <number>"
|
|
||||||
echo "Or to rollback the current NixOS generation only:"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Rolling back NixOS generation..."
|
|
||||||
sudo nixos-rebuild rollback
|
|
||||||
|
|
||||||
echo "Rollback complete. Please reboot if you performed a BTRFS rollback."
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
COMMAND="$1"
|
|
||||||
|
|
||||||
if [[ -z $COMMAND ]]; then
|
|
||||||
echo "Usage: nomarchy-snapshot <create|restore>" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! command -v snapper &>/dev/null; then
|
|
||||||
exit 127 # nomarchy-update can use this to just ignore if snapper is not available
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$COMMAND" in
|
|
||||||
create)
|
|
||||||
DESC="$(nomarchy-version)"
|
|
||||||
|
|
||||||
echo -e "\e[32mCreate system snapshot\e[0m"
|
|
||||||
|
|
||||||
# Get existing snapper config names from CSV output
|
|
||||||
mapfile -t CONFIGS < <(sudo snapper --csvout list-configs | awk -F, 'NR>1 {print $1}')
|
|
||||||
|
|
||||||
for config in "${CONFIGS[@]}"; do
|
|
||||||
sudo snapper -c "$config" create -c number -d "$DESC"
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
;;
|
|
||||||
restore)
|
|
||||||
sudo limine-snapper-restore
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
Reference in New Issue
Block a user