Skip to content

Instantly share code, notes, and snippets.

View LevitatingBusinessMan's full-sized avatar
🕴️
Ricing my polybar...

Rein Fernhout LevitatingBusinessMan

🕴️
Ricing my polybar...
View GitHub Profile
@LevitatingBusinessMan
LevitatingBusinessMan / systemd-status-notify.fish
Last active February 18, 2025 10:56
systemd service to email status of systemd services
#!/usr/bin/env fish
if test (count $argv) -lt 1
echo "Usage: $(status --current-filename) <systemd unit>"
exit 1
end
set sstatus (systemctl --full --lines 0 status $argv[1] | string collect); or exit
set log (journalctl -b -n 50 -u $argv[1] | string collect); or exit
if systemctl -q is-failed $argv[1]
set prefix Failed
@LevitatingBusinessMan
LevitatingBusinessMan / transmission2deluge.rb
Created February 16, 2025 17:04
Copy torrents form transmission to deluge
#!/usr/bin/env ruby
require 'json'
torrent_ids = `transmission-remote -l`.lines.drop(1).map{_1.split(" ").first.sub("*","")}[..-2]
json = JSON.parse `transmission-remote -t #{torrent_ids.join(",")} --json --info`
torrents = json["arguments"]["torrents"]
puts "found #{torrents.length} torrents"
for torrent in torrents
@LevitatingBusinessMan
LevitatingBusinessMan / tsopen.fish
Created February 16, 2025 15:06
Open torrent directory via transmission-remote-gtk
#!/usr/bin/env fish
if test (count $argv) -lt 1
echo "Usage: tsopen.fish %{full-path}"
echo "See also https://github.com/transmission-remote-gtk/transmission-remote-gtk/wiki/Local-Command-usage"
else
for fullpath in $argv
set dir (mktemp -d)
sshfs archpi.rlyeh:$fullpath $dir; or notify-send tsopen.fish "failed to ssh"; and exit
open $dir
end
@LevitatingBusinessMan
LevitatingBusinessMan / slimcgi
Created December 11, 2024 03:49
Like slimrb but sets headers and exposes CGI
#!/usr/bin/env ruby
require "cgi"
require "slim"
$cgi = CGI.new
$cgi.out("text/html") do
Slim::Template.new { ARGF.read }.render
end
#!/usr/bin/env ruby
volumes = `run0 btrfs subvolume list -p #{ARGV[0] || "/"}`.lines.map do
|l| l.match /^ID (?<ID>\d+) gen (?<GEN>\d+) parent (?<PARENT>\d+) top level (?<TOPLEVEL>\d+) path (?<PATH>\S+)$/
end
edges = volumes.map do
|v| "#{v[:PARENT]!="5" ? "\"#{volumes.find{|p| p[:ID] == v[:PARENT]}[:PATH]}\" -> \"#{v[:PATH]}\"" : "\"#{v[:PATH]}\""};\n"
end
puts "digraph {\n#{edges.map{|e|"\t"+e}.join}}"
@LevitatingBusinessMan
LevitatingBusinessMan / opensuse
Last active November 25, 2024 18:32
My bedrock brl-fetch script for opensuse tumbleweed
#!/bedrock/libexec/busybox sh
#
# OpenSUSE bootstrap support
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# Copyright (c) 2016-2021 Rein Fernhout (LevitatingBusinessMan) <[email protected]>
#
@LevitatingBusinessMan
LevitatingBusinessMan / vmware-loempiashop.md
Last active November 5, 2024 17:46
de loempiashop gemaakt met vmware

Een loempiashop box maken met VMWare

Na het success van de lxc nu de vmware variant.

Downloaden van de image

Je kan de Debian cloud vm hier vinden: https://www.debian.org/distrib/

Download dan de "local QEMU virtual machine" in qcow2 format.

Of volg deze link (bookworm release):

@LevitatingBusinessMan
LevitatingBusinessMan / archnews
Created October 16, 2024 09:16
Print archnews rss feed
#!/usr/bin/env ruby
require 'rss'
require 'open-uri'
require 'rainbow/refinement'
using Rainbow
puts 'https://archlinux.org/'
url = 'https://archlinux.org/feeds/news/'
URI.open(url) do |rss|

Een loempiashop box maken met lxc

LXC installatie

lxc kan geintalleerd worden op praktish alle distributies met de lxc package.

Een container aanmaken

Als root maken we een debian bookworm container aan met de naam "loempiashop".

root@r-mint ~# lxc-create --name loempiashop --template download -- --dist debian --release bookworm --arch amd64
Downloading the image index
Downloading the rootfs
Downloading the metadata
@LevitatingBusinessMan
LevitatingBusinessMan / out.dot
Created October 13, 2024 20:27
this sentence has
digraph {
20
21
22
23
24
25
26
27
28