Skip to content

Instantly share code, notes, and snippets.

View theodric's full-sized avatar
🥔
mmm potatoes

þēodrīċ theodric

🥔
mmm potatoes
View GitHub Profile
@theodric
theodric / mute-speakers-on-login-kde.txt
Created February 1, 2026 23:59
Mute speakers on login (KDE)
<mute-speakers.sh.desktop>
`
[Desktop Entry]
Exec=/path/to/mute-speakers.sh
Icon=application-x-shellscript
Name=mute-speakers.sh
Type=Application
X-KDE-AutostartScript=true
`
<mute-speakers.sh>
@theodric
theodric / nosuck_kde_gesture.txt
Last active February 1, 2026 23:57
fusuma - gestures for KDE desktop control (on kwin_wayland with gestures disabled) plus c.2008 Mac browser navigation gestures
You must rebuild kwin_wayland with gestures patched out!
You must install fusuma (https://github.com/iberianpig/fusuma) *and* fusuma-plugin-sendkey (https://github.com/iberianpig/fusuma-plugin-sendkey)!
FIRST FILE
<~/.config/autostart/fusuma.desktop>
`
[Desktop Entry]
Type=Application
Exec=fusuma.ruby4.0 -d
Hidden=false
@theodric
theodric / build-patch-opensuse-packages.txt
Last active February 2, 2026 00:04
Building and patching openSUSE packages
1. enable the source repo && zypper ref
2. ensure build toolchain:
zypper in osc rpm-build rpmdevtools gcc-c++ cmake ninja git libqt6-qtbase-devel libqt6-qtdeclarative-devel extra-cmake-modules
3. install source package
zypper source-install -d kwin6
4. set up ~/rpmbuild
rpmdev-setuptree
@theodric
theodric / ydotool.service
Created January 31, 2026 22:05
ydotool global service file
[Unit]
Description=Starts ydotoold service
[Service]
Type=simple
ExecStart=/usr/bin/ydotoold --socket-path=/tmp/.ydotool_socket --socket-perm=0666
Restart=always
ExecReload=/usr/bin/kill -HUP $MAINPID
KillMode=process
TimeoutSec=180
@theodric
theodric / searchgist.txt
Created January 28, 2026 19:22
GitHub gist search
https://gist.github.com/search?q=%s%20user%3AYOURUSERNAMEHERE&ref=searchresults
@theodric
theodric / 60-ioschedulers.rules
Created November 9, 2025 22:35
/etc/udev/rules.d/60-ioschedulers.rules
# Set BFQ for rotational HDDs
ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
## Set mq-deadline for SATA SSDs
#ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
# Set none for SATA SSDs
ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none"
# Set none for NVMe SSDs
@theodric
theodric / .nanorc
Created November 4, 2025 20:13
nanorc
include "/usr/share/nano/*.nanorc"
set mouse
set positionlog
set softwrap
set atblanks
set indicator
set linenumbers
@theodric
theodric / tpled.txt
Last active October 23, 2025 20:38
thinkpad LED control service/script
twinkpad:/sys/devices/platform/thinkpad_acpi # cat /etc/systemd/system/tpled.service
[Unit]
Description=Custom LED Trigger Setup
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/root/bin/tpled.sh
RemainAfterExit=yes
@theodric
theodric / DPS-1200FB_infodump.txt
Last active October 14, 2025 21:28
HP Proliant Common Slot PSU DPS-1200FB infodump
HP Proliant Common Slot PSU range
Widely regarded as insanely high quality
Of special note from the range: 1200W version DPS-1200FB
P/N: 441830-001, 438202-001, 440785-001, HSTNS-PD11
1200W on 230VAC input
900W on 120VAC input
12VDC 100A output
@theodric
theodric / tpscroll.sh
Created September 4, 2025 03:34
enable trackpoint scrolling on C13 Yoga in Linux
#!/bin/bash
# Enables normal trackpoint scrolling on the ex-chromebook
# this goes into .config/autostart-scripts (make dir if required) and Plasma will automagically turn it into a .desktop in .config/autostart/
xinput set-prop "TPPS/2 Elan TrackPoint" "libinput Scroll Method Enabled" 0 0 1