Skip to content

Latest commit

 

History

1,868 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mike Bianco's Dotfiles

What's special here?

  • 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.

Installation

git clone https://github.com/iloveitaly/dotfiles.git && cd dotfiles && ./bootstrap.sh

When setting up a new Mac, you may want to set some sensible OS X defaults:

./osx.sh

To run everything else (brew install, keybindings, zsh setup, etc):

./bootstrap.sh

Omarchy

On 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 firewall

See omarchy/README.md for the rest.

Development

This command will sync your config files each time you make a change:

just sync

Git Config in Different Environments

~/.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-username

On 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.pub

Headless installs (install/linux-devbox.sh, install/server.sh, install/amazon-linux-devbox.sh) turn commit signing off and set credential.helper to store.

Clone Interesting Dotfiles Locally

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

About

I love terminal productivity

Topics

Resources

Stars

31 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages