victorkashirin / dotfiles

macOS dotfiles with setup script

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dotfiles Build Status

(Formerly named laptop) Bootstrap my macOS machines, for fun & profit.

From Ansible to Dotbot

I decided to migrate all Ansible playbooks to Dotbot and plain shell scripts. Switch to ansible branch if you still want to use Ansible.

Ansible has served me well for years, but the Playbooks grew over time into multiple long-running scripts. Moreover, I think I messed up the configuration and the dependencies between the playbooks as well. Now to add just a new symlink I have to edit multiple files and my setup.sh file is badly designed too.

Some Ansible playbooks will still be here until I moved all scripts to Makefile and Dotbot config files.

Usage

git clone git@github.com:narze/dotfiles.git ~/dotfiles
cd ~/dotfiles && make bootstrap

Features

$ make
help                           Print command list
bootstrap                      Bootstrap new machine
dotfiles                       Update dotfiles
macos                          Run macos script
code                           Clone Repositories with ghq
brew                           Install brew & cask packages
tools                          Install non-brew tools eg. tmux package manager
asdf                           Install asdf-vm
sync                           Sync local configuration from Google Drive, Dropbox, etc.
update                         Update everything
all                            Run all tasks at once

Installed Applications & Tools

Known Issues

Some packages needs reloading shell (eg. asdf) On a fresh macOS you may have to run setup command once, and run again in a new tab which has $PATH reloaded.

TODOs

  • Modify system preferences
    • Keyboard shortcuts
    • Keyboard layouts
  • Migrate Ansible Playbooks to Dotbot config
  • Add folders to Favorites in Finder
  • Redesign setup script
    • Separate bootstrap script (first run on vanilla) from update script
    • Print readme when bootstrap script is done, eg. login & sync Dropbox & Google Drive & 1Password & Restore mackup
    • Remember & retry on failed step

About

macOS dotfiles with setup script

License:MIT License


Languages

Language:Shell 89.3%Language:JavaScript 5.0%Language:CSS 3.5%Language:Ruby 1.2%Language:Makefile 0.6%Language:AppleScript 0.4%