Workstation configuration for a Fedora or Mac OS install using ansible-pull
WARNING: This is a destructive action
- Setup an ssh key and add to your github repo (or fork and use HTTPS).
- Install ansible and pull the playbook from the repo
Linux:
sudo dnf install ansible
ansible-pull -K -U [email protected]:jeremy-hanna/setup.git
Mac OS X:
xcode-select --install
/usr/local/bin/pip3 install ansible
export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.8/bin
ansible-pull -K -U [email protected]:jeremy-hanna/setup.git
- installs system packages (see: packages)
- clones and installs dotfiles via the ansible role (see: dotfiles)
- compiles and builds any local tooling (see: clang)
- sets up development directories
- sets system settings (see: settings)
- install software (see: software)
Packages ruby, vim + vim-plug, ctags, i3, golang, zsh + zplug, uxrvt,
Settings Trackpad tap click, Sleep power fix,
Software Spotify for linux, Dropbox?, VLC,
- ansible git module checks for
git status --porcelain
and doesn't pull otherwise avoiding un-merged changes - COPR dnf enabled for things like universal-ctags in the role they're installed in
- caps2esc build step
- add applications (dropbox, spotify, etc.)
- figure out how to configure markdown notes between machines
- hardware related things (HDMI display, speakers, etc.)
- reload .Xmodmap key bindings /dev/input
- ctags is not universal-ctags
- ctags does not link from dotfiles
- vim is not latest vim, install it with brew
- can't link out through the /usr/bin/vim to in catalina - need alias in dotfiles
- use package install instead of homebrew module
-
~/.vim
folder exists always and needs to be linked in a better way - Karabiner pieces access Documents folder
- install fonts from dotfiles
- change iterm2 profile loading
- add touchbar considerations to osx_defaults
- configure workspaces and keyboard movements
- improve theme https://github.com/sindresorhus/pure
- timestamp install things like vim-plug or zplug for dotfile changes
- Remove unnecessary applications on fedora
- use better things than hacky shell commands
- migrate dotfiles to use GNU Stow and update this
- get compliant with ansible-lint
- merge OS X playbook into this same repo but switch on OS
https://opensource.com/article/18/3/manage-workstation-ansible
https://opensource.com/article/18/3/manage-your-workstation-configuration-ansible-part-2
https://snow-dev.com/posts/next-level-dotfiles-with-ansible.html