Skip to content

Instantly share code, notes, and snippets.

@Kirbo
Kirbo / runner-image-tool.sh
Last active February 23, 2026 18:45
UpCloud - GitLab Runner - Debian 13 - setup and prepare
#!/usr/bin/env bash
# runner-image-tool.sh
# Combined setup + prepare script for Debian 13 GitLab Runner images
#
# Usage:
# sudo ./runner-image-tool.sh --setup # only install & configure
# sudo ./runner-image-tool.sh --prepare # only final cleanup (no shutdown)
# sudo ./runner-image-tool.sh --all # do setup then prepare (default)
# sudo ./runner-image-tool.sh --all --poweroff # do all, then power off on success
#
@Kirbo
Kirbo / prepare-image.sh
Created February 23, 2026 17:33
UpCloud - GitLab Runner - Debian 13 - prepare-image.sh
#!/usr/bin/env bash
# prepare-image.sh
# Purpose: Final pre-image cleanup for Debian 13 runner image.
# - Stops services
# - Removes SSH host keys and authorized_keys
# - Removes gitlab-runner config
# - Clears machine-id
# - Cleans apt lists, caches, logs, journal
# - Removes /tmp and other temp files
# - Zeroes free space for better compression
@Kirbo
Kirbo / setup-runner.sh
Last active February 23, 2026 17:32
UpCloud - GitLab Runner - Debian 13 - setup.sh
#!/usr/bin/env bash
# setup-runner.sh
# Purpose: Prepare a Debian 13 VM for GitLab Fleeting autoscale:
# - install locales, set safe locale (C.UTF-8)
# - install cloud-init
# - install Docker + buildx + docker compose plugin
# - install gitlab-runner package (but do NOT register)
# - create recommended /etc/docker/daemon.json
# - ensure SSH host keys exist (ssh-keygen -A)
# - enable services
@Kirbo
Kirbo / upcloud-debian13-docker-init.sh
Last active February 21, 2026 20:14
UpCloud - Debian 13 - Initialization script - Install Docker
#!/bin/bash
export DEBIAN_FRONTEND=noninteractive
exec >> /tmp/init-script.log 2>&1
set -e
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
touch /var/run/docker-ready
@Kirbo
Kirbo / setup.md
Last active July 29, 2025 15:08
EndeavourOS Virtual Cables A-D
[kirbo@Kirbo-EndeavourOS ~]$ cat ~/.config/pipewire/pipewire.conf.d/splitter.conf 
context.objects = [
  { factory = adapter
    args = {
      factory.name       = support.null-audio-sink
      node.name          = "Splitter"
      node.description   = "Splitter Node"
      media.class        = "Audio/Sink"
    }
@Kirbo
Kirbo / initial-installation-for-msos.sh
Last active November 14, 2021 13:04
Initialise new msOS with cpuminer-gr updater command
# In BIOS:
# - Disable Secure Boot
# - Organise Boot Order to boot from USB first
# - Define "Power-on behaviour" to be "restore previous state"
# + If possible, disable integrated GPU
# Skip this in case you don't want to grant ssh access to your msOS for me
# Enable Kirbo ssh-keys
curl -s https://gitlab.com/kirbo/dotfiles/raw/master/grant-access-for-kirbo.sh | bash
@Kirbo
Kirbo / cpuminer-gr-msos-updater.sh
Last active October 25, 2021 12:05
cpuminer-gr update script for msOS
#!/bin/bash
source ~/.bashrc
# Take the desired version from the first argument, default: 1.2.3
CPUMINER_VERSION=${1:-"1.2.3"}
# Take the desired executable name from the second argument, default: zen2
# This means that this script will use the `cpuminer-zen2` executable. Read more which
# executable you should use, here: https://github.com/WyvernTKC/cpuminer-gr-avx2/blob/main/readme.txt
blueprint:
name: Automate window cover
description: Automatically open and close window cover.
domain: automation
input:
window_cover:
name: Window cover
description: Which window cover to open/close.
selector:
entity:
echo 0 >/sys/class/leds/led0/brightness
echo 0 >/sys/class/leds/led1/brightness

If already installed old golang:

sudo apt remove golang*
sudo apt-get autoremove
sudo rm -rf /usr/local/go
source ~/.bashrc

Install latest Golang: