/macOS/
AeroSpace - i3-like tiling window manager for macOS
SketchyBar - reimagined Status/Menu Bar for macOS
Spicetify - customizable Spotify Client
Ghostty - fast, feature-rich, and cross-platform terminal emulator
/Windows/
n/a
/Arch/
n/a
One command. It clones this repo to ~/.dotfiles, installs everything, links the
configs, builds the SketchyBar helper, and starts the services:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/PanLuvme/dotfiles/main/install.sh)"Then finish two macOS permission toggles that can't be scripted:
- System Settings -> Privacy & Security -> Accessibility -> enable AeroSpace
- System Settings -> Desktop & Dock -> enable "Displays have separate Spaces"
And restore your Spotify setup: dots spicetify.
Everything is driven by one CLI (bin/dots, put on your PATH during install).
| Command | What it does |
|---|---|
dots update |
Pull latest from GitHub, re-link, rebuild, reload. This is the everyday command. |
dots status |
Show which configs are linked and which services are running. |
dots link / dots unlink |
Apply / remove the config symlinks (backs up anything in the way). |
dots start / dots stop |
Start / stop SketchyBar + AeroSpace (borders launches with AeroSpace). |
dots restart |
Hard restart (stop + start). |
dots reload |
Reload configs in place without restarting apps - fast iteration. |
dots deps |
Install Homebrew packages (macOS/Brewfile) + fonts only. |
dots check |
Fetch from GitHub and report if you're behind — changes nothing. |
dots autoupdate notify / off |
Turn the "you're behind" terminal notifier on/off. |
dots doctor |
Check installed tools and show setup reminders. |
dots spicetify |
How to restore the Spotify (Spicetify) setup. |
dots bootstrap |
The full first-run sequence (deps -> link -> build -> start). |
Run dots help for the full list.
Updates are pull-based — nothing is applied automatically. bootstrap installs a
lightweight shell hook so that each new terminal does an offline check against the
last fetch and prints a one-line nudge if you're behind:
:: dotfiles 2 behind — run dots update (or dots check)
It never pulls on its own. A throttled git fetch runs in the background (every 4h by
default; set DOTS_CHECK_INTERVAL in seconds to change it) so the offline check stays
current without slowing down shell startup. Run dots check any time to refresh
on demand, or dots autoupdate off to remove the notifier.
- Plain symlinks, no framework.
dots linksymlinks each folder undermacOS/into~/.config/. Inspect them any time withls -la ~/.config. Because the live config is a symlink into this repo, agit pullinstantly updates it. - Nothing is clobbered. If a real file/dir is already at a target, it's moved to
~/.dotfiles-backup/<timestamp>/before the symlink is created. - Services are managed too. SketchyBar runs via
brew services; AeroSpace is launched as an app (and startsbordersvia itsafter-startup-command).
dotfiles/
├── install.sh # remote bootstrap (the curl | bash one-liner)
├── bin/
│ └── dots # the management CLI
├── macOS/
│ ├── Brewfile # all macOS dependencies
│ ├── aerospace/ # -> ~/.config/aerospace
│ ├── ghostty/ # -> ~/.config/ghostty
│ ├── sketchybar/ # -> ~/.config/sketchybar
│ └── spicetify/ # Marketplace backup blob (restored via `dots spicetify`)
├── README.md
└── LICENSE
- Drop its config in
macOS/<app>/. - Add one line to
manifest_for_os()inbin/dots:$HOME/.config/<app>|$REPO/macOS/<app> dots link.
