- zsh with turbo zinit
- Advanced tmux configuration
- Lots of tidbits for typescript, elixir, and python development
- Mise for managing all language versions
- Lots of interesting git shortcuts + tips
- Custom macOS keybinding & karabiner config
- Hyper Focus config to Aggressively blocks distracting websites
- Interesting apps and tools I've found over the years nicely organized
- macOS and linux installation support, so you can have the same dotfiles setup on your server.
git clone https://github.com/iloveitaly/dotfiles.git && cd dotfiles && ./bootstrap.shWhen setting up a new Mac, you may want to set some sensible OS X defaults:
./osx.shTo run everything else (brew install, keybindings, zsh setup, etc):
./bootstrap.shOn Omarchy, from omarchy/:
just install # first time: packages + sync + configure
just sync # day to day: shared tree + Hyprland/keyd overlay
just configure # host setup again: sshd, assistant, dev, wayvnc firewallSee omarchy/README.md for the rest.
This command will sync your config files each time you make a change:
just sync~/.gitconfig includes ~/.gitconfig-local last. That file is gitignored. Git ignores the include when the file is missing. Keys in it override the shared config.
Create ~/.gitconfig-local:
[user]
name = Your Name
email = you@example.com
# SSH public key for commit signing (gpg.format=ssh); or a GPG fingerprint if still on openpgp
# signingkey = ssh-ed25519 AAAA...comment
[github]
user = your-github-usernameOn a Mac the shared file is the rest of the setup. gpg.ssh.program is 1Password's op-ssh-sign, user.signingkey is the 1Password SSH public key, credential.helper is Git Credential Manager, and core.editor is micro.
On Linux, add this to the same file. On Omarchy, interactive SSH still uses the 1Password agent. Git then uses the on-disk personal key. The private key has to be at ~/.ssh/id_ed25519_personal.
[core]
editor = nvim +startinsert
sshCommand = ssh -i ~/.ssh/id_ed25519_personal -o IdentitiesOnly=yes -o IdentityAgent=none
[credential]
helper = libsecret
[gpg "ssh"]
program = ssh-keygen
[user]
signingkey = ~/.ssh/id_ed25519_personal.pubHeadless installs (install/linux-devbox.sh, install/server.sh, install/amazon-linux-devbox.sh) turn commit signing off and set credential.helper to store.
Clone all of these dotfiles into dotfiles-inspiration folder so you can easily rg for configuration keywords:
interesting_repos=(
https://github.com/mathiasbynens/dotfiles
https://github.com/TwP/dotfiles
https://github.com/ignu/dotfiles
https://github.com/chrisduerr/dotfiles
https://github.com/cypher/dotfiles
https://github.com/vifreefly/dotfiles
https://github.com/nikitavoloboev/dotfiles
https://github.com/jeromedalbert/dotfiles
https://github.com/gf3/dotfiles
https://github.com/matijs/homedir
https://github.com/janmoesen/tilde
https://github.com/ephur/zshrc
https://github.com/ptarjan/dotfiles
https://github.com/nixme/dotfiles
https://github.com/dbalatero/dotfiles
https://github.com/yujinyuz/dotfiles
https://github.com/schickling/dotfiles
https://github.com/jessfraz/dotfiles
https://github.com/jschaf/dotfiles
https://github.com/lunchbag/dotfiles
https://github.com/peterhajas/dotfiles
https://github.com/evanpurkhiser/dots-personal
https://github.com/phillbaker/dotfiles
https://github.com/brucebentley/dotfiles
https://github.com/mislav/dotfiles
https://github.com/romkatv/dotfiles-public
https://github.com/pnodet/zsh-config
https://github.com/nateberkopec/dotfiles
https://github.com/melchoy/dotfiles
https://github.com/jmduke/dotfiles
https://github.com/fearphage/dotfiles-1
)
cd ~/Projects/dotfiles-inspiration
for repo in $interesting_repos; do
repo_username=$(echo $repo | cut -d '/' -f 4)
target_directory="$PWD/$repo_username"
if [ ! -d "$target_directory" ]; then
git clone $repo "$target_directory"
else
(cd "$target_directory" && git pull)
fi
done