Giter Club home page Giter Club logo

mac-setup's Introduction

mac-setup

pre-commit maintained - yes contributions - welcome Kilian - Approved

OS - macOS CMake Bash VS Code ESLint

Table of Contents

Installation

File Contents

Makefile

Makefile Flow

DOTFILES:

Copies config files from the dotfiles directory into their respective locations. This is a separate repo to allow others to use this easily. Note: This will skip folders beginning with a .

ADD_SUDO:

Adds yourself as a sudoer with NOPASSWD enabled

INSTALL_HOMEBREW:

Installs homebrew from brew.sh using their install script

POST_INSTALL_HOMEBREW:

Temporarialy installs the brew shim to .zprofile so the rest of the makefile works before symlinking dotfiles (Needs to install stow using homebrew to do the symlinking)

INSTALL_YQ:

yq is a YAML compliant version of jq -- things.yaml is read using this

INSTALL_STOW:

stow helps with the symlinking of dotfiles

INSTALL_OHMYZSH:

ZSH Plugin/Theme manager

INSTALL_OMZSH_THEMES:

Installs Oh-my-zsh Themes defined in things.yaml

INSTALL_OMZSH_PLUGINS:

Installs Oh-my-zsh plugins defined in things.yaml

INSTALL_FORMULAS:

Installs all formulas/taps/casks using homebrew

CREATE_BREWFILE:

Helper for INSTALL_FORMULAS -- creates a Brewfile to pass in so that it does not have to install 1 at a time

CREATE_CODEFILE:

[Unused] Eventually will install VSCode extensions

TFENV_SETUP:

Installs/uses latest version of terraform

INSTALL_PIPX:

Install pipx using pip -- so that all pip installs will use pipx

INSTALL_PIP_PROGRAMS:

Installs all pip programs listed in things.yaml using pipx

INSTALL_ASDF_PROGRAMS:

Installs all tools listed in things.yaml for asdf and uses the latest version of each (asdf needs to be in brew installs)

SETUP_1PASSWORD:

Sets up the agent.sock symlink for 1Password -- this allows a Unix normal version of the agent.sock to be used for SSH Keys


Helper executables

Located in the bin directory, most return true (exit 0) or false (exit 1)

color

Adds color to an echo statement (used for stdout)

decolor

Strips color coding from echo statements (used for logging)

is-arm64

Checks if the mac running the makefile is ARM64 or not (intel)

is-executable

Checks if input program is installed and executable

is-file

Checks if input file exists

is-folder

Checks if input folder exists

is-grep

Greps for string ($1) in file ($2)

is-macos

Verifies if running on macos or not (linux/wsl2)

is-supported

Runs eval on input program to see if it runs

is-symlink

Checks if a file is a symlink or not


Helper scripts

Located in scripts -- run various things, like installs or checks

bash_library.sh

functions for other scripts

asdfinstall

Installs asdf programs from things.yaml and sets them as global default to the latest

makebrew.sh

Creates a brew readable Brewfile from things.yaml

makecode.sh

Creates a codefile from things.yaml for future VSCode use


MacOS Scripts

1password.sh

Setup 1password to be usable by SSH for keys

dock.sh

Sets up the dock in the way that is most productive (for me)

finder.sh

[Unused] Sets up finder in the way that is most productive (for me)

generic.sh

Various other Mac toggles

mas.sh

[Unused] Mac App Store installer, if mas gets updated to work with Ventura then this will function

mac-setup's People

Contributors

kiliantyler avatar pre-commit-ci[bot] 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.