Skip to content

alexanderczigler/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧑‍💻 dotfiles

My shell profile and CLI settings, geared towards backend dev/devops tooling.

The main purpose of this repo is to get up and running as fast as possible each time I install a new system. If you find anything useful in here, feel free to use it!

✨ Quick Start

NOTE:

  • If you want to make your own adjustments, fork this repository first and change the URL in step 1 below.
  • Backup your .zshrc and .gitconfig files before running the steps below, in case you want to revert back to any settings you currently have.
  1. Clone this repo
git clone https://github.com/alexanderczigler/dotfiles.git ~/.dotfiles
  1. Bootstrap .zshrc
echo ". ~/.dotfiles/.zshrc" > ~/.zshrc
  1. Load .zshrc
source ~/.zshrc
  1. Configure GIT
cat <<EOF > ~/.gitconfig
[include]
  path = ~/.dotfiles/.gitconfig
EOF

You may need to force rebuild zcompdump: rm -f ~/.zcompdump; compinit

Additionally, if you receive "zsh compinit: insecure directories" warnings when attempting to load these completions, you may need to run these commands:

  • chmod go-w '/opt/homebrew/share'
  • chmod -R go-w '/opt/homebrew/share/zsh'

🍏 Mac OS

🍺 Homebrew

Homebrew is a package manager for Mac OS that I recommend you use. With brew you can install several useful cli tools ranging from awscli to direnv and kubectl.

  1. Install brew (instruction taken from https://brew.sh/)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Load brew into the current shell
eval "$(/opt/homebrew/bin/brew shellenv)"

📦 Packages

Applications

brew install --cask firefox obs orbstack visual-studio-code
brew install microsoft-outlook microsoft-teams

CLI

brew install argocd awscli direnv doctl eksctl fluxcd/tap/flux helm jq kubectl kubectx nvm opendevtools/supreme/supreme telnet terraform watch yarn yq zsh-completions

# Google Cloud
brew install --cask google-cloud-sdk
gcloud --quiet components install beta gke-gcloud-auth-plugin

Fonts

brew tap homebrew/cask-fonts
brew install --cask font-fira-code

⚙️ Utilities

SensibleSideButtons

SensibleSideButtons will let you use the side buttons on a mouse just like in Linux or Windows. Once installed, add it to Login items in System Settings.

brew install --cask sensiblesidebuttons

Once installed, add it to Login items in System Settings.

UnnaturalScrollWheels

UnnaturalScrollWheels lets you configure a normal scroll direction on the wheel of a mouse, while keeping the natural scroll direction on your trackpad. I love it!

brew install --cask unnaturalscrollwheels

Once installed, add it to Login items in System Settings.

Configuration

unnaturalscrollwheels

hidutil

Remap < and § on my non-Apple keyboard.

Change this session only
sudo hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000035},{"HIDKeyboardModifierMappingSrc":0x700000035,"HIDKeyboardModifierMappingDst":0x700000064}]}'
Persist change after reboot

Edit ~/Library/LaunchAgents/com.local.KeyRemapping.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.local.KeyRemapping</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[

            {
              "HIDKeyboardModifierMappingSrc": 0x700000064,
              "HIDKeyboardModifierMappingDst": 0x700000035
            },

            {
              "HIDKeyboardModifierMappingSrc": 0x700000035,
              "HIDKeyboardModifierMappingDst": 0x700000064
            }

        ]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>