Invoke the install-dependencies.sh
script to ensure all workstation deps are present.
This will ensure programs like the following are installed:
- Homebrew/Linuxbrew
- NeoVim
- LunarVim
- Zap-Zsh
- Stow
- Volta
Furthermore, the script will proceed to brew install
a list of casks/formulae as well.
Call stow {directory}
from this project's root directory
Example:
stow zsh
This will create a symlink between the previously stowed directory and contents in the Linux/Mac home dir (~/).
For instance, running stow zsh
will create a symlink at ~/.zshrc
and ~/.config/zsh/
.
Mise is a way to install and manage different versions of software.
To install all the tools listed within the stowed config.toml
file you simply have to run:
mise install
This works as well when using idiomatic versioning files like .nvmrc
or .go-version
.
To list all tools installed by mise run:
mise ls
To list tools available to install and their package versions run:
mise ls-remote {tool}[@{version}]
Example:
mise ls-remote node
mise ls-remote node@20
To view the latest version of a tool (and version) run:
mise latest {tool}[@{version}]
Example:
mise latest node
mise latest node@20
To use a specific version of a tool run:
mise use {tool}[@{version}]
Example:
mise use node@20
To remove a tool from mise run:
mise uninstall [--all] [--dry-run] {installed_tool}[@{version}]
Example:
mise uninstall node
mise uninstall node@20
To ensure all tmux plugins are installed run:
First download the Tmux Plugin Manager (tpm):
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Then run a Tmux session:
tmux
(leader key by default is <CTRL-B>
)
When inside of a tmux session press <leader> + I
.
To view the various tmux commands related to sessions, windows, panes, etc.
press <leader> + ?
To exit out of a pane, window, or session simply type exit
at the terminal command line.
Invoke the update-dependencies.sh
script manually to check for updates to all the workstation deps.
A goal in the future is to provide some Git Hooks that will run this when new code is pulled down from the remote branch.
Invoke a recursive removal of a keyword using rrm {keyword}
Example:
rrm "node_modules"
This will remove all node_modules directories at the root of the function invocation and any sub-directories as well.