This repository contains some GNU/Linux scripts I've found useful. For my Linux instructions, please see my website at agx.fi.
android: Scripts for working with Android devices. Firmware flashing, backup, app installation etc.apt: Software installation for Ubuntu-based systems. Includes also Flatpak and Snap.backup: Backup scriptscrypto: Cryptocurrency miningdrivers: Scripts for installing driversgames: Scripts for installing and configuring games and emulatorsgit: Git configs and scripts, e.g.pull.pyfor pulling all repositories in~/Giti3: i3 window manager configsimages: Scripts for converting imagesiperf: Scripts for measuring network performancekde: KDE Plasma configslibrenms: LibreNMS configsluks-tpm: Scripts for unlocking LUKS encrypted volumes with TPMneovim: Neovim configsobs-studio: OBS Studio configsopentabletdriver: Graphics tablet driver configspgp: PGP configsphysics: Scripts for installing and configuring various software for physics researchproxmox: Proxmox hypervisor configssamba: Scripts for configuring a Samba Active Directory domain memberssh: SSH configs.ssh/config.d/is symlinked to~/.ssh/config.d/.startup: startup scripts.agx_startup.pyis run as root byagx-startup.service, andagx-user-startup.shis run byagx-user-startup.desktopas the current user.testing: Performance and reliability testing scriptstests: Unit tests for the scripts in this repositorytmux: tmux terminal multiplexer configsusbip: USB/IP configs for passing USB devices over IPvirtualbox: VirtualBox maintenance scriptsvscodium: VSCodium configs for e.g. SSH remotingwacom: Custom script for configuring Wacom tablets. Requires X11 and doesn't work on Wayland. Use Kubuntu's settings GUI or the configs inopentabletdriver/instead.wireguard: WireGuard configs, e.g. autostart scriptxournalpp: Xournal++ configs. Symlinked to Xournal++'s config directory.zsh: zsh configs, e.g.zsh/.zshrc, which is symlinked to~/.zshrc, andzsh/custom/, which contains custom zsh commands.
These can be symlinked to ~/ where needed.
.bashrc: Bash configuration that switches to zsh. For environments where it's not possible to change the login shell withchsh..gdbinit: GDB (GNU Debugger) config.profile: Config for login shells.xprofile: Config for X11 sessions
kernel_remover.py: Remove old kernel versionskubuntu_release_upgrade.sh: Kubuntu release upgrade script, with proper loggingmaintenance.sh: General system maintenance script. (Callsmaintennace_sudo.sh, which callsmaintenance.py.)modem.py: Script for configuring the integrated WWAN modem of ThinkPad laptops
The Python dependencies are managed with uv.
Run uv sync to create the virtual environment in .venv/,
and uv run pytest to run the unit tests.