Skip to content

Instantly share code, notes, and snippets.

@piratecarrot
piratecarrot / git-setup-kicad.sh
Last active March 1, 2024 22:49
KiCAD git setup
#!/bin/sh
git init
cat << EOF | tee .gitignore
# For PCBs designed using KiCad: http://www.kicad-pcb.org/
# Format documentation: http://kicad-pcb.org/help/file-formats/
# Temporary files
*.000
@piratecarrot
piratecarrot / kicad-tag-replacer.py
Created February 29, 2024 23:30
Replace tags in KiCAD files
#!/usr/bin/env python
import glob, os
import tomllib
data = {}
for file in glob.glob("build/env.d/*.env"):
with open(file, "rb") as f:
for k, v in tomllib.load(f).items():
@piratecarrot
piratecarrot / 10-keyboard-leds.rules
Created February 17, 2024 10:51
clevo_wmi (tuxedo-keyboard) keyboard LED udev rule and script on Arch Linux but probably works with others
# /etc/udev/rules.d/10-keyboard-leds.rules
ACTION=="add", SUBSYSTEM=="leds", DEVPATH=="/devices/platform/tuxedo_keyboard/leds/rgb:kbd_backlight_2", RUN+="/usr/local/bin/keyboard-leds.sh"
@piratecarrot
piratecarrot / spinner.go
Last active December 14, 2023 16:21
GoLang Fyne spinner widget
package uisim
import (
"fmt"
"image/color"
"reflect"
"strconv"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/container"
@piratecarrot
piratecarrot / keepassxc-setup.sh
Last active October 2, 2023 10:45
Setting up KeePassXC with Google Drive synchronisation and SSH Agent
# This is intended to be copied and pasted to a console, not executed as a script... for now.
# Install some stuff, I use yay, you may use something else
sudo pacman -S keepassxc rclone curl
mkdir -p ~/.local/bin
mkdir -p ~/.local/lib/private
chmod 0700 ~/.local/lib/private
# CREATE YOUR KEEPASSXC BASE IN ~/.local/lib/private/
set interfaces openvpn vtun0 mode client
set interfaces openvpn vtun0 remote-host <remote-host>
set interfaces openvpn vtun0 remote-port <remote-port>
set interfaces openvpn vtun0 persistent-tunnel
set interfaces openvpn vtun0 authentication username <username>
set interfaces openvpn vtun0 authentication password <password>
set interfaces openvpn vtun0 encryption aes256
set interfaces openvpn vtun0 hash sha512
@piratecarrot
piratecarrot / main.py
Created November 10, 2022 13:30
Python SPIDEV controlling Maxim MAX14915 on STM32MP1
import gpiod
import spidev
from maxim import Type, Output, RegisterAddress, FastStatus, GlobalError, Config1, Config2, Mask, Interrupt, cmd
import time
#if __name__ == '__main__':
chip_b = gpiod.chip(1)
chip_c = gpiod.chip(2)
chip_h = gpiod.chip(7)
@piratecarrot
piratecarrot / install-wildfly.txt
Created March 17, 2022 04:18
Install WildFly on Debian 11
# Guide takend from
# https://computingforgeeks.com/how-to-install-wildfly-jboss-on-debian-linux/
sudo apt update
sudo apt install openjdk-17-jdk
export WILDFLY_RELEASE="26.0.1"
wget https://github.com/wildfly/wildfly/releases/download/${WILDFLY_RELEASE}.Final/wildfly-${WILDFLY_RELEASE}.Final.tar.gz
sudo tar xvf wildfly-${WILDFLY_RELEASE}.Final.tar.gz -C /opt
sudo mv /opt/wildfly-${WILDFLY_RELEASE}.Final /opt/wildfly
sudo groupadd --system wildfly
@piratecarrot
piratecarrot / gist:5b51fbb979988d79f2b062b8f85b0549
Last active February 8, 2022 06:01
Flashing STM32MP1 eMMC for Seeed Odyssey board
# Put contents of $BUILDROOT/output/images onto Debian SD in /home/debian
# Run from /home/debian
cat<<__EOF__ | sudo sfdisk -f /dev/mmcblk1
label: gpt
label-id: 8180153F-48CF-4520-BB44-AF0F881C8679
device: /dev/sdc
unit: sectors
first-lba: 34
/dev/mmcblk1p1 : start= 34, size= 412, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=7AB96C94-9AAA-4736-A97F-4950BC078562, name="fsbl1"
@piratecarrot
piratecarrot / gist:74331b06a7303404a0793533de38672f
Created February 7, 2022 11:58
Updating MMC device with file loaded over TFTP all within u-boot - STM32MP157F-DK2
STM32MP> mmc part
Partition Map for MMC device 0 -- Partition Type: EFI
Part Start LBA End LBA Name
Attributes
Type GUID
Partition GUID
1 0x00000022 0x00000221 "fsbl1"
attrs: 0x0000000000000000