Skip to content

Ansible scripts to provision development workstation: next level dot files

License

Notifications You must be signed in to change notification settings

cholick/workstation_ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

workstation_ansible

Dotfile (Sort of)

This repo was an ansible playbook at one point, but the cost of maintaining that didn't make sense for how often I needed to configure a new machine (and tooling like IDE's have added things like setting sync).

It's now more of a rough set of notes, though it still includes some dotfiles (without the scripting to put them in place)

Setup

  1. Chrome: login & sync settings (customize to exclude Open Tabs, Passwords, and Payment Methods)
  2. GoLand, PyCharm, Rubymine, Datagrip - configure settings sync. Settings that don't sync:
    • Advanced Settings -> Markdown -> Toggle "Hide floating toolbar"
  3. Zoom: disable most hotkeys, make hotkeys global
  4. Provision GitHub Personal Access Token: https://github.com/settings/tokens

macOS Config

  1. Terminal
    • Set Homebrew as default profile
    • Font: 14pt Menlo
    • Keyboard -> Check "Use Option as Meta key"
    • Advanced -> Disable "Allow VT100 application keypad mode" (so numpad "enter" works in terminal)
  2. Finder
    • General -> New Finder window -> Desktop
    • View -> Show Path Bar
    • Preferences -> Advanced -> Keep folders on top (both options)
    • Preferences -> Sidebar -> Show Hard disks, Hide air drop

System:

  1. Accessibility
    • Display -> Menu bar size: Large
    • Display -> Show window title icons
    • Pointer -> Disable shake
  2. Control Center
    • Modules -> Sound -> Always show
    • Battery -> Show Percentage
  3. Desktop & Dock -> Desktop & Stage Manager -> Click wallpaper to reveal desktop -> Only in Stage manager
  4. Desktop & Dock -> Minimize windows using -> Scale Effect
  5. Desktop & Dock -> Uncheck "Close windows when quitting an application"
  6. Desktop & Dock -> Hotcorners
    • Upper left -> Disable screensaver
    • Lower Left -> Display to sleep
    • Lower right -> Desktop
  7. Displays -> Universal Control -> Disable "Push throw edge" and "Automatically reconnect"
  8. Keyboard -> Shortcuts
    1. Toggle on Function keys
    2. Remove conflicting OS shortcuts: Keyboard -> Shortcuts
      • Services -> Text -> Search man Page Index... (It's set to ⇧⌘A, which conflicts with JetBrains tooling's "Find Action")
      • App Shortcuts -> Show Help menu
      • Spotlight -> Search (replaced by Alfred)
      • Display -> Disable both (these mess with kvm switch hotkey)
    3. Hotkeys
      • Mission Control: F8
      • Mission Control
        • Move left a space: ⌃⌘←
        • Move right a space: ⌃⌘→
  9. Notifications -> Allow when mirror/sharing
  10. Trackpad
    • Point and Click -> Secondary Click -> Bottom Right
    • Point and Click -> Enable tap to click
    • Swipe between pages -> Swith with Three Fingers

Replacement scirpt for the OSX role

defaults write -g KeyRepeat -int 2
defaults write -g InitialKeyRepeat -int 25
defaults write -g NSAutomaticDashSubstitutionEnabled -bool false

defaults write -g AppleShowScrollBars -string "Always"

defaults write -g com.apple.swipescrolldirection -bool false
defaults write -g NSScrollAnimationEnabled -bool false

defaults write -g AppleShowAllExtensions -bool true
# Default to list view in finder windows
defaults write com.apple.finder FXPreferredViewStyle -string Nlsv

# Don't re-arrange spaces based on LRU
defaults write com.apple.dock mru-spaces -bool false

Additional scripting

git config --global init.defaultBranch main
git config --global push.autoSetupRemote true
git config --global core.excludesfile ~/.gitignore_global

# known_hosts predates servers being ephemeral & makes no sense now
cat << EOF >  ~/.ssh/config
Host *
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null
EOF

Sublime

  • For color customization, show current scope with: ⌥ + ⌘ + P
  • Breakers.default.sublime-color-scheme shouldn't be needed; it's included just in case Sublime removes it

VSCode

In theory, settings sync deals with all this. To export settings: ~/Library/Application\ Support/Code/User/settings.json

Notes

Alred

References

About

Ansible scripts to provision development workstation: next level dot files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages