Skip to content

Instantly share code, notes, and snippets.

View lispstudent's full-sized avatar

Lisp student lispstudent

View GitHub Profile
OVH no longer provides an option to install SmartOS on its dedicated servers. Luckily, we can boot the machine using IPXE and use IPMI to run through the setup proces on the kvm console. The OVH/SoYouStart manager interface doesn’t give direct access to that, but luckily SYS and OVH have identical REST APIs.
First, set up a webserver somewhere and dump the platform directory you want to boot from into a folder on that webserver. For example, I’m using /smartos.
NOTE: if you don't need to boot a customized smartos platform image, you might be able to use the hosted image discussed here: https://docs.smartos.org/pxe-booting-smartos/
NOTE: it seems these endpoints aren't available any more, but OVH has a document that describes the new approach (the ipxe script goes in the "bootScript"attribute of your server's record):
https://docs.ovhcloud.com/en/guides/bare-metal-cloud/dedicated-servers/ipxe-scripts
The parts of the gist above and notes below are still valid in terms of the IPXE script and setup, just t
@lispstudent
lispstudent / python_common-lisp.md
Created May 12, 2026 15:48
python and Common Lisp

Common Lisp Cheatsheet for Python Programmers

This document is for readers familiar with Python who wish to apply that

@lispstudent
lispstudent / block-tahoe.sh
Created March 1, 2026 11:24
block-tahoe.sh — Block "Upgrade to Tahoe" alerts and System Settings indicator
#!/bin/bash
# block-tahoe.sh — Block "Upgrade to Tahoe" alerts and System Settings indicator
# Version: 1.2.0 — 2026-03-01
#
# Creates and installs a macOS configuration profile that defers major OS upgrades
# for 90 days (the maximum Apple allows via com.apple.applicationaccess).
#
# Based on: https://robservatory.com/block-the-upgrade-to-tahoe-alerts-and-system-settings-indicator/
# https://github.com/travisvn/stop-tahoe-update
#
@lispstudent
lispstudent / README.md
Created December 25, 2025 17:39 — forked from TyrfingMjolnir/README.md
Some example bhyve zone files for Joyent SmartOS

A minor list of how to create and boot a Bhyve-zone in Joyent SmartOS

cd /opt/local/artifacts/
vim zonemanifestBhyveFreeBSD.json
vmadm create < zonemanifestBhyveFreeBSD.json
curl -kLo /zones/UUID/root/FreeBSD-12.0-RC3-amd64-bootonly.iso

The following line is for KVM, not BHYVE, hence obsoleted for non-legacy boot options

cd /zones/<<UUID>>/root/
@lispstudent
lispstudent / OpenBSD_on_SmartOS_with_BHYVE
Created December 25, 2025 17:35 — forked from ClaesBas/OpenBSD_on_SmartOS_with_BHYVE
How to install OpenBSD on SmartOS with bhyve hypervisor (OpenBSD65 and SmartOS 20190424)
How to install OpenBSD with bhyve-vm on SmartOS (20190424):
tl;dr:
Create a bhyve vm with an empty disk, where you put an install image with dd afterwards.
"bhyve_extra_opts": "-w"
"bootrom": "uefi"
"vcpus": 1 (is needed too, some say..)
Change to serial console when booting the install image
Do it like this:
@lispstudent
lispstudent / gist:09c90bbdac49a517141dfdbeefcec92d
Created December 25, 2025 17:25
Eye care: prevent PWM and or temporal dithering
Eye care: prevent PWM and or temporal dithering
waydabber edited this page on Oct 7 · 13 revisions
Two common issues with computer monitors that cause eye strain for people who are sensitive to high frequency flickering are the following:
PWM is a technique (Pulse Width Modulation) used in some displays to control brightness or achieve a dimming effect. It involves rapidly turning the screen's LED backlight (or for OLED screens, pixels) on and off at a specific high frequency, creating the illusion of different brightness levels.
Temporal dithering is a technique to produce more colors than what a display's panel (or display connection) can support (for example showing colors with 10 bit color depth - "billions of colors" - on an 8 bit - "millions of colors" - panel). When the display does not have the capability to show the full color depth, it will emulate missing colors by rapidly change between two adjacent color levels thus creating a middle ground.
BetterDisplay has some capabilities to help with these
@lispstudent
lispstudent / windows-10-pro-smartos-bhyve.md
Created May 21, 2025 05:17 — forked from skirmess/windows-10-pro-smartos-bhyve.md
Windows 10 Pro Image for SmartOS Bhyve

Windows 10 Pro

Windows 10 Pro ISO

Create a fresh Windows 10 Pro ISO file with Microsofts Media Creation Tool. (I created a Windows 10 Pro 64 bit German ISO image)

Save the created image on your SmartOS global zone.

cp ... /zones/Windows10_64de.iso
@lispstudent
lispstudent / gist:ba761e48c212b81201ea823c54cb8e4a
Created May 21, 2025 05:16 — forked from matthiasg/gist:602eb6f20e2d2a51870efb8473903c7d
Install SmartOS on Hetzner machine with NVMe
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "SmartOS" {
recordfail
insmod ext2
insmod gzio
@lispstudent
lispstudent / smartos-on-hetzner.doc
Created May 21, 2025 05:15 — forked from Tanhueco/smartos-on-hetzner.doc
SmartOS On Hetzner Dedicated Server and Subnet
# Licensed under CC BY 3.0 http://creativecommons.org/licenses/by/3.0/
# Derived works must attribute https://gist.github.com/4492300 at the beginning, and the date.
##################################################################
Installing and Configuring SmartOS at Hetzner (with a /29)
##################################################################
# This is another version of Jahewson's Gist here: https://gist.github.com/jahewson/4492300 that adds a gate to prevent packets
from leaking out from the main MAC address.
@lispstudent
lispstudent / zpresto-install.sh
Created August 10, 2024 05:44
zpresto-install.sh
#!/usr/bin/env zsh
################################################################################
# 2024-08-08
# Install zsh's prezto to a user's $HOME
################################################################################
DIRECTORY="~/.config"
# append "/" to make user $DIRECTORY is a dir, not a file.