Skip to content

Instantly share code, notes, and snippets.

#!/bin/sh
# requires parted, losetup, and resize2fs
BOOT="$(sed -n -e "\|\s/boot\s.*$|{s///p;q}" /etc/mtab)"
DISK="${BOOT%%[0-9]*}"
PART="$((${BOOT##*[^0-9]}+1))"
printf "fix\n" | parted ---pretend-input-tty ${DISK} print
parted ${DISK} resizepart ${PART} 100%
@rany2
rany2 / install-material-design-icons.sh
Created July 17, 2021 13:47
Install Material Design Icons to user font directory on Linux
#!/bin/sh
set -uex
install_path="${XDG_DATA_HOME:-$HOME/.local/share}/fonts/material-design-icons"
url_prefix="https://raw.githubusercontent.com/google/material-design-icons/master/font"
fonts="MaterialIcons-Regular.ttf MaterialIconsOutlined-Regular.otf MaterialIconsRound-Regular.otf"
fonts="$fonts MaterialIconsSharp-Regular.otf MaterialIconsTwoTone-Regular.otf"
for font in $fonts
@rany2
rany2 / flatpak-wrapper-from-commands.sh
Created July 11, 2021 15:07
Get command from every flatpak app and generate wrapper script for it
#!/usr/bin/env bash
set -ef
if [ -z "$1" ]
then
outdir="output"
else
outdir="$1"
fi
mkdir -p "$outdir"
@rany2
rany2 / chromium-force-aaaa.sh
Last active May 9, 2021 15:59
Chromium/Chrome/Electron doesn't resolve internal IPv6 domains if IPv6 internet isn't available. This fixes that by creating a route to the IPv6 address used to probe for IPv6 internet. https://bugs.chromium.org/p/chromium/issues/detail?id=530482
#!/bin/sh
nmcli connection delete ipv6-cr-dummy1
nmcli connection add type dummy \
connection.id ipv6-cr-dummy1 \
connection.interface-name ipv6-cr-dummy1 \
ipv4.method disabled ipv6.method manual \
ipv6.addresses 100::2c93:c388:6f50:23c3/127 \
ipv6.routes '2001:4860:4860::8888 100::2c93:c388:6f50:23c2' \
ipv6.route-metric 4294967295 connection.autoconnect yes