Skip to content

Instantly share code, notes, and snippets.

@Zash
Zash / yedit.sh
Last active March 29, 2024 13:21
In-place editing of json/yaml
#!/bin/bash
# Yaml EDIT
# Uses https://github.com/mikefarah/yq/
set -euo pipefail
declare file=""
declare editformat="yaml"
declare origformat="yaml"
declare editsuffix=""
declare path="." # path to what to edit
@Zash
Zash / darkmode.sh
Created June 10, 2023 09:34
Scripts for switching between dark and light theme
#!/bin/sh
THEME=Materia-dark-compact
if type xfconf-query >/dev/null ; then
xfconf-query -c xsettings -p /Net/ThemeName -s $THEME
fi
if type gsettings >/dev/null ; then
gsettings set org.gnome.desktop.interface gtk-theme $THEME
fi
@Zash
Zash / xkb-symbols-zdvorak
Created September 16, 2023 12:35
My custom keyboard layout
// Zashs Swedish Dvorak
// setxkbmap -I$HOME/.xkb prog -print | xkbcomp -I$HOME/.xkb - $DISPLAY
partial alphanumeric_keys
xkb_symbols "zdvorak" {
include "se"
include "se(dvorak)"
name[Group1]="Sweden - Zashs Dvorak";
@Zash
Zash / git-grondiff.bash
Last active March 1, 2024 12:44
git-diff json
#!/bin/bash
set -euo pipefail
case $# in
1)
diff -u --color --label="$1 @ HEAD" --label="$1" <(git show "HEAD:$1" | yq4 -oj | gron) <(yq4 -oj "$1" | gron)
;;
2)
diff -u --color --label="$1 @ $2^" --label="$1 @ $2" <(git show "$2^:$1" | yq4 -oj | gron) <(git show "$2:$1" | yq4 -oj | gron)
;;