Skip to content

Instantly share code, notes, and snippets.

@Frederick888
Frederick888 / Arch Linux `initcpio` hook that additionally unloads NVIDIA modules and exports ZFS pools.md
Last active March 1, 2024 14:45
Arch Linux `initcpio` hook that additionally unloads NVIDIA modules and exports ZFS pools
  1. Put the files below in place (replace _ with /)
  2. Add my-shutdown to /etc/mkinitcpio.conf's HOOKS, after zfs and before filesystems. For example, HOOKS=(base udev autodetect keyboard keymap modconf kms block zfs my-shutdown filesystems).
@Frederick888
Frederick888 / 10-snapshot.hook
Last active November 9, 2023 22:41
Simple pacman hook to take ZFS snapshots
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=*
[Action]
When=PreTransaction
Exec=/usr/local/bin/pacman-snapshots.sh
@Frederick888
Frederick888 / dkim_rotation.sh
Last active October 27, 2023 15:22
Automatic DKIM key rotation with Cloudflare
#!/usr/bin/env bash
# Read https://www.linode.com/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8 first!
# Run this script at the beginning of each month
# (Optional) Email notification if the script is interrupted
#function notify() {
# printf 'Refer to the logs for further info.\n' | mail -s 'DKIM rotation process was interrupted' 'admin@example.com'
#}
#
public interface Functional {
void consume(String value);
String supply();
String operate(String value);
}
@Frederick888
Frederick888 / Counting.java
Created May 11, 2023 03:34
Counting Java
public class Counting {
private int counter;
public int increaseCounter() {
counter = counter + 1;
return counter;
}
}
@Frederick888
Frederick888 / gpghub.sh
Created December 31, 2021 13:31
Import PGP keys in a Git repository from GitHub
#!/usr/bin/env bash
OWNER="$1"
REPO="$2"
declare -A PROCESSED
function import_github_pgp() {
local github_login="$1"
printf 'Importing PGP key of GitHub user %s\n' "$github_login"
@Frederick888
Frederick888 / update_jbrsdk.sh
Last active September 7, 2020 10:48
JetBrains Java SDK Management Scripts
#!/usr/bin/env bash
# shellcheck disable=SC2001
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
OS=$(uname)
case "$OS" in
Linux)
OS="${OS,,}"
@Frederick888
Frederick888 / 1-diff-from-neovim-0.4.3.diff
Created April 26, 2020 15:19
Simplified NeoVim man.vim for GNU Linux
--- /usr/share/nvim/runtime/autoload/man.vim 2020-03-31 21:23:02.000000000 +1100
+++ ./man.vim 2020-04-27 01:04:54.716553901 +1000
@@ -8,31 +8,8 @@
let s:find_arg = '-w'
let s:localfile_arg = v:true " Always use -l if possible. #6683
let s:section_arg = '-s'
-function! s:init_section_flag()
- call system(['env', 'MANPAGER=cat', 'man', s:section_arg, '1', 'man'])
- if v:shell_error
@Frederick888
Frederick888 / control.sh
Last active April 21, 2020 09:31
Bash script to pull latest Docker container, (re)start container if needed, and clean up dangling images
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
IMAGE=
TAG='latest'
CONTAINER=
function printf() {
format="\e[1;31m$1\e[m"
shift
@Frederick888
Frederick888 / #Usage.md
Created January 28, 2020 04:02
Offloading XDG cache home to tmpfs
  1. Configure /tmp as per fstab, adjust size if needed
  2. Copy xdg-cache.service to /etc/systemd/user/xdg-cache.service
  3. Copy xdg-cache.sh to /usr/local/bin/xdg-cache.sh and then chmod +x /usr/local/bin/xdg-cache.sh
  4. Run systemctl --user enable xdg-cache.service as the user that needs this service