No description
  • Shell 52.5%
  • Python 31.9%
  • Rust 7.5%
  • Svelte 2.8%
  • TypeScript 1.5%
  • Other 3.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
microchipster e7898fdf04 lint
2026-09-27 00:56:14 -07:00
android android 2026-09-12 12:39:37 -07:00
apps/dance-windows init 2026-01-05 01:16:58 -08:00
backup_ignore init 2026-01-05 01:16:58 -08:00
config installation 2026-09-27 00:54:46 -07:00
docker media 2026-09-26 21:52:28 -07:00
docs docs 2026-09-26 23:17:14 -07:00
linux installation 2026-09-27 00:54:46 -07:00
mk init 2026-01-05 01:16:58 -08:00
nginx/matrix-registration misc urls 2026-05-20 16:23:23 -07:00
nodejs/slideshow_html init 2026-01-05 01:16:58 -08:00
python android 2026-09-12 12:39:37 -07:00
rust init 2026-01-05 01:16:58 -08:00
svelte/secure-reply misc urls 2026-05-20 16:23:23 -07:00
systemd/system media server 2026-09-26 23:07:00 -07:00
termux lint 2026-09-27 00:56:14 -07:00
.flake8 init 2026-01-05 01:16:58 -08:00
.gitignore remove unused ignores 2026-03-06 22:08:44 -08:00
install init 2026-01-05 01:16:58 -08:00
LICENSE init 2026-01-05 01:16:58 -08:00
Makefile init 2026-01-05 01:16:58 -08:00
README.md misc urls 2026-05-20 16:23:23 -07:00

Utils

Miscellaneous Linux utility scripts loosely grouped by folder. Hopefully helpful to someone, but use at your own risk.

Caveats

  • These are tested by me for me, so inspect before running.
  • I mostly use Ubuntu/Debian desktop, but I also frequently use these on Redhat servers, headless Ubuntu server, Arch Linux, and the Android shell environment Termux.

Installation

Run this command with your preferred directory structure: ./install -b /path/to/bin -c /path/to/config -l /path/to/logs -t /path/to/tmp -p /path/to/python_env

By default I use the following directory structure:

# this dir goes in your $PATH and is where scripts are installed
bin_default='$HOME/bin'
# directory for configs that aren’t in $HOME
config_default='$HOME/.config'
# local directory for logs
logs_default='$HOME/logs'
# local tmp directory for systems where /tmp is troublesome or non-existent
tmp_default='$HOME/tmp'
# I keep a python virtual environment here and use this for any global `pip install package_name` operations
pyenv_bin_default='$HOME/.pyenv/devel/bin'

Conventions

  • $HOME/bin: executable utilities that I’ve written and curated, almost all from the https://https://git.underzsea.com/repos/utils repo, categorized by directory
  • $HOME/.sh: number and categorized rc files, sets up the shell environment in order, sourced from $HOME/.zshrc
  • $HOME/.config/private/devices.json: a list of devices and their properties, assigns roles to devices, used to generate the ssh config file
  • $HOME/.config/private/api.json: defines api things like github access token
  • $HOME/.config/private/password.json: a place to put plain text passwords, meant for things like app specific passwords that aren’t serious enough to actually be encrypted (beyond normal home dir and disc encryption)
  • $HOME/.config/private/iot.json: like devices.json but for iot things like ip address of each wifi enabled light bulb
  • $HOME/.config/private/browser_profiles.json: configuration of different firefox/librewolf profiles

Rust

This repo provides a rust cross compilation flow. See make help. Each rust target is a directory in ./rust. Each target is a separate rust package. The top level Makefile can orchestrate cross compilation and native builds within each package.

Docker

This repo provides a docker build flow with some nice caching properties via the Makefile. You must follow these conventions:

.
├── Dockerfile  # the dockerfile
├── inside  # files copied and/or referenced inside the container
│   ├── ...
│   └── start  # example file in container
├── outside  # files referenced and run outside the container
│   ├── packages.txt
│   ├── monitor  # optional script to monitor the container status
│   ├── clean  # optional script to clean beyond normal image/container cleanup
│   └── run  # required run command to start the container
└── README.md  # describe the container

See make help for the docker specific targets. Each directory in ./docker/<target> is a target namespace.