meatwallace / dotfiles

:whale2::computer::rocket: dotfiles in docker
https://meatbox.one
The Unlicense
14 stars 1 forks source link
alpine arch awesomewm docker dotfiles homelab homepage macos monorepo nixos react vim void zsh

dotfiles

Github Actions CI workflow status

!!! READ ME !!! there's currently a lot of outstanding issues with just about everything in this config & surrounding tooling due to some long-term neglect. I'm working to resolve everything, however, I recommend additional caution if referencing anything in this repository as it may be outdated and/or broken.

my personal configuration for both Arch Linux based & Mac systems, available as both an Arch Linux and Alpine Linux based docker image, or installable via the script hosted at https://meatbox.one

i recommend not using this, but feel free to take a gander or a gamble.

Overview

an over-engineered system configuration and related tooling that aims to be pragmatic for me to use, but is built upon needless complexity, change, and technology; it serves as a personal playground to facilitate my day to day as well as ongoing learning & mastery of various workflows & tools.

Usage

to boot into latest docker image with simple terminal access:

docker run -it --rm meatwallace/meatbox-alpine:latest
docker run -it --rm meatwallace/meatbox-arch:latest

to run the latest setup script, execute the following in your terminal:

curl https://meatbox.one | bash
meatbox bootstrap
meatbox setup

if you're feeling adventurous/daring and are on linux w/ docker, you can grab x11docker and run the images with the full desktop environment. warning: this is insecure for a lot of reasons.

VirtualBox

if running in VirtualBox, ensure that the Graphics Controller for the virtual machine is set to VBoxSGA. if this is set to any other value, Kitty (the default terminal) will not start.

Post-Setup Notes

SSH & PGP:

# 1. put public and private SSH keys in ~/.ssh/id_.pub and ~/.ssh/id, respectively
touch .ssh/id
touch .ssh/id.pub

# 2. fix the file permissions to make the ssh agent happy
chmod 600 .ssh/id
chmod 600 .ssh/id.pub

# 3. load the ssh agent and add the key
eval "$(ssh-agent -s)"
ssh-add .ssh/id

# 4. put private GPG key into ~/gpg.asc, load it from disk then remove it
touch ~/gpg.pub
touch ~/gpg.key
gpg --import ~/gpg.pub
gpg --import ~/gpg.key
rm -f ~/gpg.pub
rm -f ~/gpg.key

# 5. restart the gpg agent
killall gpg-agent
gpg-agent --daemon

Google Cloud Platform CLI:

gcloud auth login
gcloud config set project meatcloud
gcloud config set computer/zone australia-southeast1

Yabai (Tiling WM for Mac):

sudo yubai --install-sa