Skip to content

Instantly share code, notes, and snippets.

@tomdavidson
tomdavidson / qemu-devenv.nix
Created April 10, 2025 04:49
qemu-devenv.nix
{ pkgs, lib, config, ... }: {
inputs.microvm.url = "github:astro/microvm.nix";
packages = [
pkgs.qemu
pkgs.microvm
pkgs.utillinux # For kvm-ok check
];
env = {
@tomdavidson
tomdavidson / nspawn-devenv.nix
Created April 10, 2025 01:52
devenv.nix with systemd-nspawn container backed shell
{ pkgs, lib, config, ... }: {
# Basic devenv configuration - add your project packages here
packages = [
pkgs.systemd
pkgs.debootstrap
# Add other packages your project needs
];
# Define container settings with automatic unique naming
env = {
@tomdavidson
tomdavidson / qemu-run.sh
Created April 8, 2025 02:11
Run a vm kata style but with a full kernel.
#!/bin/bash
# qemu-run - A Podman-like interface for QEMU
#
# podman run --rm \
# --runtime=kata \
# -v "$PWD:/mnt/host:Z" \
# alpine sh -c \
# 'ls -la /mnt/host > /mnt/host/ls.txt'
#
# ./qemu-run alpine -v "$PWD:/mnt/host" 'ls -la /mnt/host > /mnt/host/ls.txt'
@tomdavidson
tomdavidson / google_voice_texts.py
Created October 2, 2024 17:49 — forked from SandNerd/google_voice_texts.py
Google Voice Takeout Parser
# Python script to parse google voice takeout messages into csv
# command line arguments
from bs4 import BeautifulSoup
import pandas as pd
import os
import argparse
# construct the argument parser and parse the arguments
ap = argparse.ArgumentParser()
@tomdavidson
tomdavidson / turbo.sh
Created May 24, 2024 04:45
idea to use ramdisk for workspace
# create ram disk
sudo mount -t tmpfs -o size=8G tmpfs /mnt/ramdisk
# initial sync without --delete
rsync -avP /path/to/your/workspace/ /mnt/ramdisk
# keep in sync with 5 sec delay to min overehad
chokidar "**/*" --delay 5000 \
--command "rsync -avP --delete /path/to/your/workspace/ /mnt/ramdisk"
@tomdavidson
tomdavidson / dns-record.schema.json
Last active September 28, 2023 03:25
A draft DNS record JSONSchema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "dns-record.schema.json",
"$title": "DNS Record Schema",
"type": "object",
"oneOf": [
{
"$ref": "#/components/records/A"
},
{
@tomdavidson
tomdavidson / local-trusted-ssl-cert.sh
Created May 7, 2023 04:15
gen and trust local ssl cert - wip
#!/usr/bin/env bash
# $1 : relative filename
file_path() {
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
}
output() {
@tomdavidson
tomdavidson / no-snap-on-kubuntu.sh
Last active January 30, 2024 08:11
snapd liberation without waiting for 24.04
#!/usr/bin/env bash
# Ditch snap on kubuntu - including the bs ubuntu does
# Run on a new systems without downloading by
# `$ wget -O - https://gist.githubusercontent.com/tomdavidson/33b42eb24a23adff47b7afe4387f8cf5/raw/0e7e298f519e894790c8b46d667b0210033f0c11/no-snap.sh | bash`
sudo systemctl disable snapd
sudo systemctl disable snapd.service
// @ts-nocheck
import { env } from 'node:process';
import comments from 'eslint-plugin-eslint-comments';
import imprt from 'eslint-plugin-import'; // 'import' is ambiguous and prettier had trouble
import jest from 'eslint-plugin-jest';
import jestFmt from 'eslint-plugin-jest-formatting';
import n from 'eslint-plugin-n';
import nextjs from '@next/eslint-plugin-next';
import prettierConfig from 'eslint-config-prettier';
@tomdavidson
tomdavidson / dependabot-pr-body.txt
Created September 20, 2022 02:41
dependabot PR body
commit efcfd6e9de598a8fc151d25afed99c479760ed3c
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed Jun 29 04:31:48 2022 +0000
Bump turbo from 1.2.9 to 1.3.1 (#17)
Bumps [turbo](https://github.com/vercel/turborepo) from 1.2.9 to 1.3.1.
e notes</summary>
<p><em>Sourced from <a href="https://github.com/vercel/turborepo/releases">turbo's releases</a>.</em></p>
<blockquote>