This repository is the monorepo for my personal software.
Everything in here is built using Nix with an automatic attribute-set layout that mirrors the filesystem layout of the repository (this might feel familiar to users of Bazel).
If you've ended up here and have no idea who I am, feel free to follow me on Twitter.
.imgbotconfigconfiguresimgbotto crawl through all image files and losslessly compress them via pull-requests..github/dependabot.ymlconfiguresdependabotto automatically update git-submodules inthird_partyvia pull-requests..github/auto-approve.ymlautomatically approves pull-requests raised byimgbotordependabot..github/auto-merge.ymlautomatically merges approved pull-requests that pass all status checks..github/cla.ymlcreates a comment on Pull Request asking contributors who have not signed the CLA to sign and also fails the pull request status check with afailure. The contributors are requested to sign the CLA within the pull request by copy and pasting "I have read the CLA Document and I hereby sign the CLA" as a Pull Request comment. If the contributor has already signed the CLA, then the PR status will pass withsuccess. Signatures are stored incla/signatures.json..github/chatops-rebase.ymlwhen/rebaseis left as a comment by a maintainer the pull-request is automatically rebased.
tools/github-org-membersretrieve a list of members in a GitHub organisation.tools/orbit-clia command line interface to orbit.love.third_party/copyright-headersidempotently add copyright headers to source files with the contents of.copyrightheaderunless a stub.autocopyrightignoreis found in the current or parent directory.third_party/licensedverify the licenses of dependencies.third_party/nixpkgscontains my fork of the Nix package manager packages which is automatically updated via thedependabotautomation.
infra/desktopscontains my nixos configs for my personal computers.infra/homelabcontains my configs for my homelab.infra/homeassistantcontains my home assistant configuration.
dotfiles/linuxcontains my dotfiles for linux computers.dotfiles/windowscontains my dotfiles for windows computers.dotfiles/macoscontains my dotfiles for mac computers.
apps/pasteboardyour favourite macOS command line clipboard manipulation librariespbcopy/pbpasteported over to Windows and available for installation via Chocolatey.
browser-extensions/send-from-outlook-dot-coma Google Chrome plugin that makes Outlook.com your default email application and provides a button to compose a message to quickly share a link via email.browser-extensions/serverless-to-cgi-bintongue in cheek browser extension for FireFox and Google Chrome that replaces occurrences of 'serverless' with 'cgi-bin'.
bios/seaslicif your computer is installed with Windows 7/8 by default but you'd prefer to run Linux as your desktop but on ocassion run a single Windows virtual machine under KVM using the activiation credentials within your computers BIOS then SeaSLIC can help you achieve this. As of 6th of Apr 2014 thanks to the excellent work by Michael Tokarev this patch is now integrated by default into Debian which removes the need to roll and maintain your own your own copy of SeaBIOS.
games/quake3is simply one of the best games ever made and i'm always up for q3dm17.
libraries/python/templateis acookiecuttertemplate for creating new python libraries.libraries/python/telstra_data_usageretrieves mobile and fixed services data usage for Telstra services.libraries/xamarin/weekeventlistenerallows the owner to be garbage collected if its only remaining link is an event handler.libraries/xamarin/siminformationa cross-platform library that provides a way to access ICCID, MCC, IMSI, MSID, MNC, MSISDN the information from a SIM card.
security-vulnerabilities/system.bwnthe evil cousin of the super fast and super secure by default framework by Ben Adams that uploads stuff to the internet every time you open visual studio.
services/cachix-push-daemon.[service|nix]automatically publish build artifacts to cachix.org so future builds of the monorepository go πππππ Available as an expression NixOS but is automatically installed, configured and started as a user systemd service when the developer environment initialises viade-init
Presentations I've given in the past are in the presentations folder, these cover a variety of topics and some of them have links to recordings.
Workshops I've taught in the past are in the workshops folder, these cover a variety of topics.
If you'd like to contribute to any of the tools in here, please check out the contribution guidelines