Skip to content

Instantly share code, notes, and snippets.

View pojntfx's full-sized avatar
💭
🌅

Felicitas Pojtinger pojntfx

💭
🌅
View GitHub Profile
@pojntfx
pojntfx / main.sh
Last active October 13, 2026 01:54
Windows 11 VM with QEMU
#!/bin/bash
mkdir -p "${PWD}/.tpm"
swtpm socket --tpmstate dir="${PWD}/.tpm" --ctrl type=unixio,path="${PWD}/.tpm/swtpm-sock" --tpm2 -d
qemu-system-x86_64 -enable-kvm -m 4096 -smp $(nproc) -cpu host -device ac97 -audiodev alsa,id=snd0,out.buffer-length=500000,out.period-length=726 -show-cursor -usb -device usb-tablet -device virtio-keyboard-pci -net nic -net user -cdrom distro.iso -vga qxl -display spice-app,gl=on -hda disk.qcow2 -machine q35,smm=on -global driver=cfi.pflash01,property=secure,value=on -drive if=pflash,format=raw,unit=0,file=/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd,readonly=on -drive if=pflash,format=raw,unit=1,file=OVMF_VARS.secboot.fd -chardev socket,id=chrtpm,path="${PWD}/.tpm/swtpm-sock" -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0 -drive file=virtio.iso,media=cdrom
@pojntfx
pojntfx / main.sh
Last active October 11, 2026 06:16
Set up Phosh and phrog on Alpine Linux on desktops with old GPUs that lack Mesa support
# phrog starts, phosh is still stuck in an endless loading loop for some reason
#!/bin/bash
doas apk add dbus elogind polkit-elogind seatd
doas apk add phosh phoc squeekboard greetd-phrog
doas apk add phosh-mobile-settings gnome-backgrounds
doas rc-update add dbus default
doas rc-update add elogind default
doas rc-update add seatd default
@pojntfx
pojntfx / README.md
Last active October 4, 2026 17:40
Boot Linux or OpenBSD on the PowerBook G4 (PowerPC/ppc32)

Boot Linux or OpenBSD on the PowerBook G4 (PowerPC/ppc32)

Creating the USB sticks

Use an older USB 2.0 stick, newer ones will most certainly not work.

sudo dd if=debian-11.0.0-powerpc-NETINST-1.iso of=/dev/sda1 status=progress # Or use GNOME Disks, Etcher etc.
sync
@pojntfx
pojntfx / README.md
Last active September 24, 2026 16:10
Forward multiple Wayland applications via a single `waypipe` connection

Extra QEMU arguments to enable headless virgl/hardware accelerated rendering:

-device vhost-vsock-pci,guest-cid=3 -display egl-headless,gl=on

On client:

rm -f /tmp/socket-local; waypipe -s /tmp/socket-local client # TCP
@pojntfx
pojntfx / main.sh
Created April 25, 2023 02:11
Fix "Failed to load db from '~/.local/share/flatpak/db/documents': invalid gvdb header" error in Flatpak
#!/bin/bash
rm -f ~/.local/share/flatpak/db/documents
# Now restart your system
@pojntfx
pojntfx / keybindings.json
Created August 22, 2026 19:18
Personal VSCodium Configuration
// Place your key bindings in this file to override the defaults
[
{
"key": "ctrl+shift+\\",
"command": "workbench.action.toggleAuxiliaryBar"
},
{
"key": "ctrl+alt+b",
"command": "-workbench.action.toggleAuxiliaryBar"
},
@pojntfx
pojntfx / main.sh
Created September 18, 2024 21:57
Disable automatic suspend for GDM and current user on Fedora
#!/bin/bash
gsettings list-recursively org.gnome.settings-daemon.plugins.power | grep sleep
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 0
sudo -u gdm dbus-run-session gsettings list-recursively org.gnome.settings-daemon.plugins.power | grep sleep
sudo -u gdm dbus-run-session gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
sudo -u gdm dbus-run-session gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 0
@pojntfx
pojntfx / main.go
Created April 22, 2026 06:38
puregotk-based GStreamer example with unreleased fixes
package main
import (
"log/slog"
"runtime"
"unsafe"
"codeberg.org/puregotk/puregotk/examples/gstreamer-go/gst"
"codeberg.org/puregotk/puregotk/v4/adw"
"codeberg.org/puregotk/puregotk/v4/gdk"
@pojntfx
pojntfx / README.md
Last active April 9, 2026 07:38
Set up Nanobot with OpenRouter and Ollama

You need SSH access, a personal Matrix account, a bot Matrix account, and a server (if self-hosting via Ollama, at least 32 GB of RAM)

1. Clean Up Old Matrix Sessions

Sign into your bot account in Element, go to Settings → Sessions, and delete any stale sessions to avoid E2EE key conflicts.

2. Create the Service User

SSH into the server and create a dedicated nanobot user with passwordless sudo and lingering enabled (so its systemd user services survive logout):

@pojntfx
pojntfx / README.md
Created April 9, 2026 02:04
LLM Meeting Vancouver April 8 Notes

LLM Meetup Topics and Talks (Distilled)

Discussion Topics

Agent Architecture and Orchestration

  • Sandboxing for agents (Tavis)
    • How people are safely sandboxing the tools they are using and shipping
    • Security
  • Managing many agents (Dan)