A hacky general cli environment. Should* run on anything from a new mac to a docker container.
*as long as the planets have aligned properly
Includes:
- ohmyzsh
- p10k
- Autocomplete and fuzzy searchable command history
- lvim
- customized keybinds
- plugins that turn LunarVim into more of an IDE
- tmux
- some solid custom config, with catpuccin themed status line
- custom shell scripts
- available in
./scripts/
- available in
pre-reqs
- bash
- curl
- hopfully be on a linux distro i support or on OSX
./install
- press
y
if you want to backup config files - put in your password to install system packages ?. profit.
You may be prompted to press 'y' for some packages. First time installs will require you to interact with Oh-my-zsh, and exit the shell the first time.
Then source ~/.zshrc
to enable environment, or just restart zsh
Located in ./scripts/
, there's a handful of pretty useful scripts that I've
made. Here's some explanations on what they do. Most of them should give you
a help message if you use it wrong.
script | function |
---|---|
docker-shell | Creates and attaches to a Bash instance inside of a docker VM |
ha | Toggle devices using the HomeAssistant API |
lockd | a diary tool i use to lock a diary with my gpg key |
nettest | Tests some random aspects of a network for sanity |
opac | toggle the opacity in Alacritty from 20% to 80%. Optionally use an argument to set the opacity between 0-100 |
power | Check if a mac is charging |
rm2web | Use a Remarkable's hostname and forward the address to your localhost at :8689 |
ssh-portforward | forward a remote port to yours. Simple syntax. Abstracts the ssh -L command. |
theme | swap a catpuccin theme. Syncs themes between Neovim and Alacritty |
ulockd | unlock tool for my diary |
updf2rm | upload a pdf to a remarkable notebook - given a hostname |
venv | create and source a Python3 virtual environment in your current directory. Or, just source the existing virtualenv. |
- CLI_overhaul
- Track more files
- nvim
- zsh
- apt
- systemctl
- ssh
- homebrew
- custom scripts
- tmux
- nushell
- alacritty
- shell login MOTD's
- Move system to cli based installer, with better options / more coherent system
- [-] Install all neovim config, bootstrap and make it work out of the box.
- New CLI based installer
- Need portability, so use bash with portable commands
- Update git project flow, get new config and update existing stuff
- (Optional) Show changes to be made before update
- Update local files, use latest git files and update accordingly
- Flow that includes prompts for what scripts to change
- select from many form
- 1. Install this config
- 1a. Ask to install
- 2a. Show changes before update
- 2. Update this config
- 3. Exit
- select from many form
- Do not force install things if possible
- Flow that includes prompts for what scripts to change
- Track more files
I'm keep this around for documentation.
try starting nvim and just waiting. There's a first time install script that should bootstrap everything.
Neovim should bootstrap itself ootb. If it doesn't, run these scripts. Currently, the paths it's trying to bootstrap itself from don't always exist, so critical errors are expected on a first time run.
:PackerSync
:TSInstall tsx html
If you'd like to test out my environment without permanently changing yours, you can temporarily use it with
make test
source ~/.zshrc
And undo it with
make revert
This doesn't install necessary packages, it simply copies .zshrc, .init.vim, .tmux.conf.