No description
  • Shell 50.7%
  • Python 33.8%
  • Rust 7.4%
  • Svelte 2.8%
  • TypeScript 1.5%
  • Other 3.7%
Find a file
2026-04-12 13:40:51 -07:00
android misc fixes 2026-03-29 21:16:22 -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 opencode updates 2026-04-12 13:40:51 -07:00
docker ports 2026-02-25 15:47:31 -08:00
docs add comments to files used in cronjobs 2026-03-26 16:35:37 -07:00
linux compress 2026-04-10 23:56:49 -07:00
mk init 2026-01-05 01:16:58 -08:00
nginx/matrix-registration init 2026-01-05 01:16:58 -08:00
nodejs/slideshow_html init 2026-01-05 01:16:58 -08:00
python move services out 2026-03-30 10:56:49 -07:00
rust init 2026-01-05 01:16:58 -08:00
svelte/secure-reply remove unused project 2026-03-30 22:45:59 -07:00
systemd/system move services out 2026-03-30 10:56:49 -07:00
termux init 2026-01-05 01:16:58 -08: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 init 2026-01-05 01:16:58 -08: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 arent 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 Ive written and curated, almost all from the https://https://git.inzcloud.net/rjdang/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 arent 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.