Giter Site home page Giter Site logo

mac-infra's Introduction

mac-infra

I use Ansible to provision my macOS installation. My idea is to keep it simple, so the basic approach is:

  • Setup all the software packages using homebrew.
  • Clone my dotfiles git repo, and setup symlinks to it.
  • I use kitty as my terminal emulator, because I like it's speed and customizability. The stock terminal is pretty bland, so most of my focus is to get kitty looking good.
  • I use neovim as my text editor and vim-plug as package manager.
  • I use amethyst as tiling window manager. It's free, lightweight and does not involve disabling key security features like yabai requires. Besides, I don't need anything crazy or highly configurable here.

My kitty and neovim configurations will be constantly evolving, but they will all be tracked in the dotfiles git repo.

Ultimately, there will always be some manual configuration needed. I will try to keep track of that here.

Installation

  1. Install ansible into a virtual environment

    • mkdir ~/venvs && cd ~/venvs
    • python3 -m venv ansible
    • source ansible/bin/activate
    • python3 -m pip install ansible
  2. Clone this repository, and cd into it.

  3. Run make install for all the prerequisites.

  4. Run make setup to run the complete setup.

Manual Post-Install Steps

There are some steps that are not readily automated (by me), so do the following:

System settings

  • Set System Preferences -> General -> Appearance: Dark

For neovim setup

  • Open nvim using v (from aliasing) or nvim
  • Run :PlugInstall to install all the defined vim-plug plugins

Amethyst Tiling Window Manager

  • Enable Window Margins of 5px and check `Smart Window Margins1, which is left to default of 0px.
  • Enable any layouts you need on the Layouts tab.
  • Restart Amethyst.

Administer logins and licenses

  • Google drive and Nextcloud will require login information
  • Reaper will require license key
  • I'll try to keep track of other software packages here as I add them

Credits

Everything here is inspired by Jeff Geerling's ansible playbook for mac, and I use his ansible galaxy roles to write my own playbooks here, which makes it much easier.

mac-infra's People

Contributors

vik-s avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.