Personal dotfiles for Omarchy — an opinionated Arch Linux setup built on Hyprland.
Includes custom themes, Hyprland config (Lua), Omarchy shell (Quickshell) bar plugins, and more.
Targets Omarchy 4.x. Hyprland is configured in Lua (hypr/*.lua); the bar and
notifications are the Omarchy shell, not Waybar.
Teal and cyan aesthetic inspired by the virtual idol herself.
Install:
omarchy theme set "Hatsune Miku"Hot pink and magenta neon vibes. Dark cyberpunk atmosphere.
Install:
omarchy theme set "Neon Blade Runner"Deep purple Catppuccin Mocha palette with a darker twist.
Install:
omarchy theme set "Catppuccin Dark"Warm amber and gold tones. Film photography aesthetic.
Install:
omarchy theme set "golden-exposure"Requires Omarchy to be installed first.
git clone https://github.com/bernixtersuper/Darkpuccin-Omarchy-Dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.shThe install script syncs .config/ (includes all themes and the Omarchy shell plugins),
.local/ (fonts, personal scripts), .claude/ (skills, settings) and .bashrc to your home
directory, then rebuilds the font cache. Each section prompts before copying so you can skip
what you don't need.
Claude Code credentials are deliberately not in this repo. ~/.claude/.credentials.json
holds a live OAuth token, so it is gitignored. After installing, run claude and /login.
After installing, apply a theme:
omarchy theme set "Catppuccin Dark"Some configs are hardware-specific and should be skipped when installing on a new PC. Use --skip to exclude them:
./install.sh --skip .config/hypr/monitors.luaThen write a fresh ~/.config/hypr/monitors.lua for the PC's actual monitors. Run with --dry-run first to preview what would change.
Files skipped above and why:
monitors.lua— hardcodes monitor names, resolutions, scales and positions
keyd also needs manual setup on the new machine. Configs are in keyd/ in this repo but live in /etc/keyd/ and require sudo to install:
sudo cp keyd/keyboard.conf /etc/keyd/keyboard.conf
sudo keyd reload
# ThinkPad only:
sudo cp keyd/thinkpad.conf /etc/keyd/thinkpad.conf
sudo keyd reloadkeyboard.conf— CapsLock-as-nav-modifier layer (Caps+HJKL = arrows, Caps+;/' = PgUp/PgDn, etc.)thinkpad.conf— ThinkPad media button remapping (17aa:5054)
Zen browser config is in zen/ in this repo and installs into the active Zen profile
(~/.config/zen/<random>.Default (release)/). The profile dir name is random per machine, so
install.sh resolves it at runtime — just launch Zen once first to create a profile, then:
./install.sh # answer y at "Copy zen/ into the active Zen profile?"Restart Zen afterwards so user.js is picked up.
The live profile is gitignored — it holds passwords, cookies and keys. Only these travel:
user.js (about:config prefs), zen-themes.json (Zen Mods), zen-keyboard-shortcuts.json,
containers.json, search.json.mozlz4, and chrome/ for hand-written CSS.
Bookmarks, extensions, passwords and open tabs are not in this repo. Sign into Zen Sync for those.
Rotating a monitor with a bare hyprctl keyword monitor resets its position and scale.
hypr/bindings.lua defines a set_transform() helper that reads the monitor's current
geometry via hl.get_monitor() and re-applies it alongside the new transform, so position
and scale survive.
| Key | Action |
|---|---|
SUPER [ |
Normal (transform 0) |
SUPER ] |
Flipped 180 (transform 2) |
SUPER SHIFT [ |
Rotate left 90 (transform 1) |
SUPER SHIFT ] |
Rotate right 90 (transform 3) |
This replaces the pre-4.0 scripts/set-monitor-transform.sh and
scripts/fix-monitors-on-resume.sh, which are gone — Omarchy 4 restores monitor
state on resume itself.
sync.sh copies live files back into this repo. It only touches files already tracked
by git, never adds new ones, and never writes to the live system.
./sync.sh --dry-run # show what would change, write nothing
./sync.sh # sync
./sync.sh --commit # sync and auto-commit
VERBOSE=1 ./sync.sh # list every tracked file missing on this machineCredential files are blocked by an explicit guard in sync.sh even if they somehow
become tracked. Tracked files that are absent on the current machine are reported and
skipped, never auto-untracked — for those, the repo is the only remaining copy.
- OS: Arch Linux via Omarchy
- WM: Hyprland (Wayland)
- Bar: Omarchy shell (Quickshell) — custom
berni.*plugins - Launcher: Omarchy menu (Quickshell)
- Terminal: Ghostty
- Font: CaskaydiaMono Nerd Font



