A collection of tools, configuration files, notes, and scripts.
Used to manage development environment(s) and tools across hardware, operating systems, containers, and virtual machines.
On a fresh machine, clone the repo and run the install.sh
script to configure the local environment. The script is a thin wrapper around an ansible playbook that targets localhost.
Note
Probably don't run the install script directly, it does a lot of things.
While this was all tested against a macos host, most often I run some set of the ansible roles against a virtual machine or docker container remotely via ssh.
The devbox-playbook.yml
file creates or starts a multipass VM and runs the ansible playbook on it. This has only been tested on multipass running on a macos host.
CTRL+ff
- fuzzy search for filesgaa
- add all files to gitga
- add files to git interactively withfzf
gbb
- interactive branch selection withfzf
gcmsg <message>
- commit with a messagegcm
- checkout main branchgcp
- interactive cherry-pick withfzf
gd
- interactive git diff withfzf
gdoof
- add all and amend with no messagegll
- count lines in staged git diffglo
- interactive git log withfzf
goops
- reset last commit softgss
- interactive stash selection withfzf
gup
- pull with rebasenett
- show open ports
bat
- A modern replacement forcat
eza
- A modern replacement forls
fzf
- A fuzzy finder for the command line
base
- Determines the operating system and package manager.
- Install packages (apt-get on debian/ubuntu) (brew on darwin/macos).
zsh
:
- Install and configure of
zsh
andoh-my-zsh
, plugins, and utilities. - Install and configure
powerlevel10k
for prompt styling.
fzf
:
- Install
fzf
from git repository.
dotfiles
:
- Symlink shell configuration files in
config_files/
to$HOME
.
Important
The .zshrc
configuration defines a keybinding override to use ^ff
instead of ^t
to trigger fzf
from the command line.
multipass
:
- Create or start a multipass VM and add it to the inventory.
docker
:
- Install docker and add the current user to the docker group.
asdf
:
- Install and configure
asdf
and plugins.
Important
This is where installing different versions of languages and tools is managed.
For example, golang
, python
, terraform
, etc...