Skip to content

Instantly share code, notes, and snippets.

@nshalman
nshalman / wireguard-example.sh
Created June 30, 2023 16:29
wireguard example for SmartOS
#!/bin/bash -x
################ CHANGE THESE ##################
# Your Home IP or DNS record
WG_ADDRESS=wireguard.example.com
# UDP port forwarded to this machine
WG_PORT=12345
# DNS entries for the client to use when on VPN
WG_DNS=8.8.8.8
# Unused private IPs for this connection
@nshalman
nshalman / gz.sh
Created July 13, 2022 02:21
Tailscale in LX branded zones
vmadm create -f lx-tailscale.json
ZONENAME=$(vmadm list -Ho zonename alias=lx-tailscale)
zonecfg -z ${ZONENAME?} "add device ; set match=tun ; end"
vmadm reboot ${ZONENAME?}
zlogin ${ZONENAME?}
@nshalman
nshalman / user-data-server.sh
Last active December 23, 2022 16:49
Cloud-init script for Ubuntu to install Tailscale, code-server, and Caddy
#!/bin/bash
# Customize these
USER=user
TSKEY=tskey-auth-BLAHBLAHBLAH
export DEBIAN_FRONTEND=noninteractive
apt-get update
@nshalman
nshalman / Caddyfile
Created July 7, 2022 13:27
Tailscale caddyfile with redirect
{
default_bind 127.0.0.1
}
nodename.tailthing-scalething.ts.net {
bind nodename.tailthing-scalething.ts.net
reverse_proxy 127.0.0.1:8080
}
http://nodename {

Keybase proof

I hereby claim:

  • I am nshalman on github.
  • I am nahamu (https://keybase.io/nahamu) on keybase.
  • I have a public key whose fingerprint is A20A EC40 115E 5201 91F9 893E 8FA5 71E5 06FD 2543

To claim this, I am signing this object:

@nshalman
nshalman / cerana-dev-node.json
Created July 1, 2016 15:13
Booting CeranaOS on SmartOS
{
"alias": "cerana-dev-node",
"autoboot": "false",
"brand": "kvm",
"ram": 3072,
"vcpus": 3,
"boot": "order=dc",
"disks": [
{
"path": "/cerana.iso",
@nshalman
nshalman / Netboot.md
Last active April 21, 2016 20:54
Netboot Installer Documentation

Installing NixOS using the "netboot" media

Advanced users may wish to install NixOS using an existing PXE or iPXE setup.

These instructions assume that you have an existing PXE or iPXE infrastructure and simply want to add the NixOS installer as another option. To build the necessary files from a recent version of nixpkgs, you can run:

nix-build -A netboot nixos/release.nix

This will create a result directory containing:

  • bzImage -- the Linux kernel
@nshalman
nshalman / Netboot.md
Created April 21, 2016 19:21
Netboot Installer Documentation

Installing NixOS using the "netboot" media

These instructions assume that you have an existing PXE or iPXE infrastructure and simply want to add the NixOS installer as another option.

  1. Obtain netboot media consisting of:
  • bzImage -- the Linux kernel
  • initrd -- the initrd file
  • netboot.ipxe -- an example ipxe script demonstrating the appropriate kernel command line arguments for this image
  1. Place the bzImage, initrd, and optionally, the netboot.ipxe script on your HTTP/TFTP server
  2. Rename and/or customize the netboot.ipxe script with any required paths before the file names
  3. If you are not using the included netboot.ipxe file, make sure that when booted the kernel will get the appropriate kernel command line arguments that are included in it.
@nshalman
nshalman / branch-patch.diff
Last active April 19, 2016 14:22
patching the kernel
diff --git a/nixos/modules/profiles/cerana.nix b/nixos/modules/profiles/cerana.nix
index 5b312e0..91fb7ea 100644
--- a/nixos/modules/profiles/cerana.nix
+++ b/nixos/modules/profiles/cerana.nix
@@ -21,4 +21,12 @@
# Configure host id for ZFS to work
networking.hostId = lib.mkDefault "8425e349";
+
+ nixpkgs.config.packageOverrides =
@nshalman
nshalman / mac_hardware_data.py
Last active February 19, 2016 22:13
Reading Mac hardware data into salt grains
import plistlib
import subprocess
import platform
def mac_hardware_data():
'''
Get some Mac specific grains
'''
profiler_cmd = 'system_profiler SPHardwareDataType -xml'