Skip to content

Instantly share code, notes, and snippets.

@jamesog
jamesog / tailscaled.sh
Last active August 20, 2023 22:14
FreeBSD rc script for tailscaled
#!/bin/sh
#
# PROVIDE: tailscaled tailscale
# REQUIRE: NETWORKING
. /etc/rc.subr
name="tailscaled"
rcvar="${name}_enable"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.jamesog.takeabreak</string>
<key>Program</key>
<string>/usr/bin/say</string>
<key>ProgramArgs</key>
<array>
@jamesog
jamesog / better-config-mgmt.md
Last active December 13, 2020 20:28
I dreamed a dream

Better config management

Syntax

Use HCL, not YAML.

# Ensure blocks group actions
ensure "Foo service" {
    package "foo" {
@jamesog
jamesog / README.md
Last active April 20, 2025 16:06
YubiKey as an SSH CA
@jamesog
jamesog / configuration.nix
Created March 3, 2023 12:09
NixOS using SSH CA
{ config, pkgs, ... }:
{
environment.etc = {
"ssh/ca.pub".text = ''
ssh-rsa ...
'';
};
services.openssh.extraConfig =
@jamesog
jamesog / Corefile
Created March 13, 2023 20:15
CoreDNS with NextDNS
. {
forward . tls://2a07:a8c0::ae:9cfd tls://2a07:a8c1::ae:9cfd tls://45.90.28.178 tls://45.90.30.178 8.8.8.8 8.8.4.4 {
tls_servername dns01-ae9cfd.dns.nextdns.io
policy sequential
}
cache {
success 12800 86400 300
denial 12800
prefetch 25
serve_stale 24h
@jamesog
jamesog / configuration.nix
Created September 7, 2024 15:52
NixOS on ZFS root (UTM / virtio)
{
networking.hostId = "..."; # Use head -c8 /etc/machine-id to get this
services.zfs.autoScrub.enable = true;
}
@jamesog
jamesog / agile_price_charge.yaml
Created December 5, 2024 18:31
Home Assistant automation for force charging FoxESS batteries based on Octopus Agile price and time window
alias: Agile price charge
description: >-
Set the inverter to force charge when we're in the time window and the
Octoppus Agile price is at or below the threshold.
trigger:
- platform: state
entity_id:
- binary_sensor.charge_window
from: "off"
to: "on"
@jamesog
jamesog / config
Created December 28, 2024 11:48
Ghostty config
theme = "Tomorrow Night Blue"
copy-on-select = true
macos-non-native-fullscreen = true
macos-titlebar-style = "tabs"
macos-option-as-alt = true