This is my opinionated developer setup. This is not intended for general use; many things are hardcoded for me, specifically.
Dotfiles are managed with chezmoi.
On first run, chezmoi init prompts for a distro choice (omarchy or macos) that gates platform-specific files and templates.
Install from a fresh Omarchy setup:
# Make an SSH key and add to GitHub
ssh-keygen -t ed25519 -C "$(whoami)@$(hostname)"
# Grab prereqs
yay -S \
age-plugin-yubikey \
chezmoi \
just \
pcsclite \
pcsc-tools \
rage-encryption \
yubikey-manager
sudo systemctl enable pcscd
sudo systemctl start pcscd
git clone git@github.com:lukehsiao/passage.git ~/.passage/store
age-plugin-yubikey --identity >> $HOME/.passage/identities
chezmoi init git@github.com:lukehsiao/dotfiles.git
# Awkwardly requires bootstrapping from a configured computer for passphrase...
chezmoi apply
just install-core
just use-bbr # optional
atuin login
# [optional] set up display-switch
just setup-display-switch
Note to self on printers on linux: use IPP Everywhere.
Install from a fresh macOS setup:
# Install brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Make an SSH key and add to GitHub
ssh-keygen -t ed25519 -C "$(whoami)@$(hostname)"
# Grab prereqs
brew install \
age-plugin-yubikey \
chezmoi \
just
chezmoi init git@github.com:lukehsiao/dotfiles.git
# Awkwardly requires bootstrapping from a configured computer for passphrase...
chezmoi apply
just install-core
atuin login
# [optional] set up display-switch
just setup-display-switch
# copy fonts from ~/.local/share/fonts to FontBook
# Fix Flameshot permissions in settings
# Install Inkscape manually
# Install Slack manually
# Install OBS manually, set up scenes and audio filters
# Configure keyboard shortcut CapsLock -> Ctrl
# Configure Audio to use USB Audio Interface
# Configure dock to auto-hide
# Configure workspaces to not change position ("Automatically rearrange Spaces based on most recent use")
# Remove "Quick Note" hot corner
# Remove 1password keyboard shortcuts (collide with Slack's)
# Install MOTU-M2 drivers for MacOS
# Enable Slack/Chrome/Ghostty notifications in MacOS settings
Original content in this repository is licensed under the Blue Oak Model License 1.0.0.
Vendored third-party content is not covered by that license; it retains its upstream license, and where that license requires it, a copy of the license text lives in the vendored directory or under LICENSES/.
| Path | Upstream | License |
|---|---|---|
dot_claude/skills/code-reviewer/ |
google-gemini/gemini-cli | Apache-2.0 |
dot_claude/skills/hegel/ |
hegeldev/hegel-skill | MIT |
dot_claude/skills/nullables/ |
lexler/skill-factory, with local modifications noted in its credits.md | Apache-2.0 |
dot_claude/skills/review-rust/ |
corrode/skills | None stated |
dot_claude/skills/software-design-philosophy/ |
wondelai/skills | MIT |
dot_claude/skills/writing-documentation-with-diataxis/ |
sammcj/agentic-coding | Apache-2.0 |
dot_local/bin/executable_edit-patch |
Jujutsu Patch Edit by Katalin Rebhan | MIT per SPDX header |
dot_local/bin/executable_pass.tmpl (the passage script) and private_dot_config/private_fish/completions/pass.fish |
FiloSottile/passage, a fork of password-store whose original copyright headers it preserves | GPL-2.0-or-later per file headers |
private_dot_config/ghostty/shaders/cursor_warp.glsl |
sahaj-b/ghostty-cursor-shaders | MIT |
private_dot_config/hypr/, private_dot_config/omarchy/themed/, and the dip/fip/lip fish functions (derived from Omarchy defaults) |
basecamp/omarchy | MIT |
The property-based-testing skill is CC-BY-SA-4.0, so that directory stays share-alike rather than Blue Oak.