✨ John's Dotfiles ✨
This repository contains my personal dotfiles, which are configuration files and scripts that customize various aspects of my system. By keeping my dotfiles under version control, I can easily synchronize them across multiple machines and ensure consistency in my development environment.
- Mac OSX
- Omarchy (Arch + Hyprland)
bash <(curl -L https://raw.githubusercontent.com/jrock2004/dotfiles/main/scripts/curl-install.sh)The installer asks which OS to set up: [1] Mac OSX or [2] Omarchy / Arch.
- Shell: stays on Omarchy's bash.
bash/omarchy.bashis sourced from~/.bashrc; it pulls inshell/common.sh— the portable aliases/functions shared with.zshrc. Shell-specific bits (p10k, zap, Mac paths) stay in each shell's own rc file. - Packages:
pacman+yayinstead of Homebrew; language runtimes viamise(pnpm,go,rust) instead of Volta. - Neovim: Omarchy's own config stays as the default
nvim. This repo's config is linked to~/.config/ownnvim— launch it withvim2(NVIM_APPNAME=ownnvim). - Kept as-is: Omarchy's
ghostty,lazygit, andtmuxconfigs are not overwritten (stow skips them).bin/updateis cross-platform. - git:
credential.helperis written to~/.gitconfig.localper platform (osxkeychainon Mac,git-credential-libsecreton Omarchy).
Omarchy owns ~/.config/hypr/*, ~/.config/omarchy/*, ~/.config/mise/config.toml
etc. and rewrites them on omarchy update (migrations) and omarchy-refresh-*.
Symlinking them from files/ would break. Instead:
- Personal copies live in
omarchy/(mirroring their$HOMEpath).bin/omarchy-configmanages them:capture(~/→ repo),apply(repo →~/, backs up differing files),diff(list drift).setupOmarchyOverlayrunsomarchy-config apply. - After editing a live Omarchy config:
omarchy-config capture ~/.config/<path>, then commit. Periodically / afteromarchy update:omarchy-config diffto spot drift. - mise: personal
[settings]go inomarchy/.config/mise/conf.d/personal.toml(mise mergesconf.d/*.toml; Omarchy never touchesconf.d/). - Omarchy's own override dirs (
~/.config/omarchy/themes/<name>/,~/.config/omarchy/hooks/) are yours by design.
-
1Password — deliberately left out of
setupOmarchyApps. There is no package in the Arch official repos, and installing a password manager through ayay -Sbatch invites skimming past thePKGBUILD. Install it on its own and review the build script first:yay -G 1password && $EDITOR 1password/PKGBUILD # confirm URL is 1password.com + signature check intact yay -S 1password 1password-cli
The AUR packages pull AgileBits-signed binaries and verify the GPG signature (
3FEF9748469ADBE15DA7CA80AC2D62742012EA22). For a smaller trust surface on the GUI, use the 1Password-published Flathub build instead:flatpak install flathub com.onepassword.OnePassword(no Flatpak for the CLI).
Feel free to modify and customize these dotfiles to suit your needs. Add your own configurations, aliases, and functions, or remove those that you don't find useful. Don't forget to keep your modifications under version control to track your changes.
If you come across useful improvements or additions that you think would benefit others, please consider contributing them back to the repository through pull requests. Sharing your knowledge and enhancements with the community is highly appreciated.
I would like to acknowledge the open-source community and the countless developers who have shared their dotfiles, tips, and tricks. Your contributions have been invaluable in shaping and improving my own setup.
