Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
f308bf9
refactor: make theme switching modular and portable
HarryRandall Jul 11, 2026
d233ce9
refactor: simplify portable app defaults
HarryRandall Jul 11, 2026
0f88994
refactor: remove obsolete bundled service files
HarryRandall Jul 11, 2026
df4da62
fix: preserve existing XDG paths
HarryRandall Jul 11, 2026
72061e2
feat: add modular component installer
HarryRandall Jul 11, 2026
17168ce
refactor: restore maintainable Raycast source
HarryRandall Jul 11, 2026
440684e
fix: install the SketchyBar app font
HarryRandall Jul 11, 2026
3240861
fix: harden window manager and bar setup
HarryRandall Jul 11, 2026
44548e9
refactor: simplify utility configuration
HarryRandall Jul 11, 2026
fd5850f
fix: separate theme runtime state
HarryRandall Jul 11, 2026
28c8930
fix: remove uncleared assets and document licences
HarryRandall Jul 11, 2026
8cb1084
fix: align Raycast Node requirements
HarryRandall Jul 11, 2026
4bf20e7
feat: add repository validation workflow
HarryRandall Jul 11, 2026
2a47318
feat: add contributor workflows
HarryRandall Jul 11, 2026
503b7b3
fix: tighten public portability checks
HarryRandall Jul 11, 2026
bc8a8ab
fix: protect local changes during updates
HarryRandall Jul 11, 2026
9b4acee
fix: separate and clean up generated theme state
HarryRandall Jul 11, 2026
439857b
fix: make window and bar defaults safer
HarryRandall Jul 11, 2026
21fc6c5
fix: keep the bar entrypoint executable
HarryRandall Jul 11, 2026
301685f
refactor: refresh editor and shell defaults
HarryRandall Jul 11, 2026
6404313
fix: replace untraceable interface artwork
HarryRandall Jul 11, 2026
0dd921d
feat: run checks on macOS and Linux
HarryRandall Jul 11, 2026
283e7e0
refactor: clarify setup and third party licences
HarryRandall Jul 11, 2026
0b8138f
fix: detect low power mode on AC power
HarryRandall Jul 11, 2026
625f1aa
fix: migrate legacy local configuration safely
HarryRandall Jul 11, 2026
d0ed688
fix: recognise existing application dependencies
HarryRandall Jul 11, 2026
4a11f40
fix: recover Space labels from truncated yabai queries
HarryRandall Jul 11, 2026
2458971
feat: support machine-specific shortcuts
HarryRandall Jul 11, 2026
0e39af1
fix: pin a supported Raycast Node version
HarryRandall Jul 11, 2026
af4bb89
fix: handle current yabai application data
HarryRandall Jul 11, 2026
eae8ea1
fix: preserve existing local configuration
HarryRandall Jul 11, 2026
24c89b3
fix: restore original SketchyBar metric artwork
HarryRandall Jul 11, 2026
13502a1
fix: support retained original theme packs
HarryRandall Jul 11, 2026
9269a1a
fix: restore original window control behaviour
HarryRandall Jul 11, 2026
f4af594
fix: restore wallpaper updates across Spaces
HarryRandall Jul 11, 2026
62efb4a
fix: handle missing Raycast preferences
HarryRandall Jul 11, 2026
f85d01a
fix: update the existing Raycast extension
HarryRandall Jul 11, 2026
5ab4ed5
fix: keep Raycast tests portable
HarryRandall Jul 11, 2026
272f750
fix: open Raycast switcher without setup
HarryRandall Jul 11, 2026
22ec761
fix: restore Raycast background navigation
HarryRandall Jul 11, 2026
7a12289
fix: separate Raycast source from runtime
HarryRandall Jul 11, 2026
7e4b53e
fix: clean legacy Raycast runtime safely
HarryRandall Jul 11, 2026
71b0e05
fix: keep all Raycast background choices
HarryRandall Jul 11, 2026
48026b3
fix: retain saved background aliases
HarryRandall Jul 11, 2026
50ebc44
fix: read metric timestamps portably
HarryRandall Jul 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Bug report
description: Report a reproducible problem with a Macarchy component.
title: "bug: "
labels:
- bug
body:
- type: dropdown
id: component
attributes:
label: Component
options:
- Installer
- Window manager
- SketchyBar
- Terminal
- Shell
- Neovim
- Utilities
- Themes
- Raycast
validations:
required: true

- type: input
id: macos
attributes:
label: macOS version and Mac model
placeholder: macOS 26.5, MacBook Pro with M3 Pro
validations:
required: true

- type: textarea
id: problem
attributes:
label: What happened?
description: Include the command you ran, what you expected and what happened instead.
validations:
required: true

- type: textarea
id: output
attributes:
label: Relevant output
description: Remove usernames, home-directory paths, tokens and other private data first.
render: shell

- type: checkboxes
id: checks
attributes:
label: Checks
options:
- label: I used `./install --dry-run` where applicable.
required: true
- label: I removed personal information from the report.
required: true
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Feature request
description: Suggest a focused improvement or a new optional component.
title: "feat: "
labels:
- enhancement
body:
- type: textarea
id: need
attributes:
label: What would this help you do?
description: Describe the use case before the proposed implementation.
validations:
required: true

- type: textarea
id: scope
attributes:
label: Suggested scope
description: Explain whether this belongs in a default, an optional component or an example.
validations:
required: true
10 changes: 10 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## What changed

Describe the behaviour and the component it affects.

## Checks

- [ ] `./scripts/check.sh` passes
- [ ] No personal paths, accounts or app rules were added to defaults
- [ ] New dependencies and assets include their source and licence
- [ ] User-facing behaviour is documented
13 changes: 13 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
version: 2
updates:
- package-ecosystem: npm
directory: /raycast-theme
schedule:
interval: weekly
open-pull-requests-limit: 5

- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
open-pull-requests-limit: 3
45 changes: 45 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: CI

on:
pull_request:
push:

permissions:
contents: read

jobs:
check:
name: Repository checks (${{ matrix.os }})
runs-on: ${{ matrix.os }}
timeout-minutes: 15

strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-15

steps:
- name: Check out the repository
uses: actions/checkout@v6

- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: npm
cache-dependency-path: raycast-theme/package-lock.json

- name: Install validation tools
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install --yes --no-install-recommends jq zsh

- name: Ensure jq is available
if: runner.os == 'macOS'
run: command -v jq >/dev/null || brew install jq

- name: Run repository checks
run: ./scripts/check.sh
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@
*.bak

# Runtime-generated files under installed dotfiles.
btop/themes/active-theme.theme
btop/themes/macarchy.theme
raycast-*/node_modules/
raycast-*/.raycast/
raycast-*/dist/
themes/.backgrounds.json
themes/.current
sketchybar/theme.sh
sketchybar/.state/
macarchy/generated/
yabai/.sketchybar_hidden
yabai/float_state.json
17 changes: 17 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Contributing

Thanks for helping improve Macarchy.

Keep changes focused on portable macOS configuration. Personal app rules, account switchers and machine-specific paths should be examples or local overrides rather than defaults.

Before opening a pull request:

```sh
./scripts/check.sh
```

The check covers shell syntax, installer behaviour, theme safety, personal-path scanning and the Raycast build. Do not run a real install or apply a theme as part of a test.

For a new component, include a dry-run path, a safe uninstall path and a short guide. For a new theme, include its source, licence and wallpaper credits in `THIRD_PARTY_NOTICES.md`.

Use clear commit prefixes such as `feat:`, `fix:`, `refactor:` and `docs:`. Write in plain language and explain behaviour that is not obvious from the code.
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Macarchy contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading