Skip to content

Instantly share code, notes, and snippets.

View AndrewKvalheim's full-sized avatar

Andrew AndrewKvalheim

View GitHub Profile
@AndrewKvalheim
AndrewKvalheim / disabled-extensions-notification
Last active March 1, 2024 22:51
Notification of automatically disabled GNOME Shell extensions
#!/usr/bin/env bash
set -Eeuo pipefail
[[ "$(gsettings get org.gnome.shell disable-user-extensions)" == 'true' ]] || exit
case "$(notify-send --urgency 'critical' --icon 'extensions' \
'Extensions have been automatically disabled.' \
--action 'enable=Re-Enable' \
--action 'settings=Settings…')" \
in
@AndrewKvalheim
AndrewKvalheim / README.md
Last active February 14, 2024 04:32
Simple Dokku virtual machine

Create the Dokku instance:

vagrant up

Configure SSH (see how to enable ~/.ssh/config.d):

vagrant ssh-config --host 'dokku' > ~/.ssh/config.d/dokku
@AndrewKvalheim
AndrewKvalheim / mastodon-notes.md
Last active February 9, 2024 18:30
Notes on running a personal Mastodon instance

Personal Mastodon instance

Effective total cost: $3–5/mo

Setup

Decide on an EC2 instance type:

  1. At AWS Console → EC2 → Instance Types, filter for ≥1 GB RAM and sort by price.
  • t4g.micro is lowest.
@AndrewKvalheim
AndrewKvalheim / README.md
Last active August 31, 2023 19:08
en_US@aspirational
@AndrewKvalheim
AndrewKvalheim / export-selected-regions.scm
Created September 11, 2012 21:56
GIMP script for automatically saving all selections
;;; Non-interactively save all selected regions as separate files
(define (script-fu-export-selected-regions image drawable)
;; Start
(gimp-image-undo-group-start image)
;; If there are selections
(when (= 0 (car (gimp-selection-is-empty image)))
(let ((number 1) (prefix "") (suffix ""))
;; Construct filename components
(let* ((parts (strbreakup (car (gimp-image-get-filename image)) "."))
@AndrewKvalheim
AndrewKvalheim / ~ › .config › nixpkgs › overlays › unstable.nix
Last active July 22, 2022 23:34
Use unstable package until target version
_: pkgs:
let
unstable = import <unstable> { overlays = [ ]; };
overrideUntilVersion = p: v: (if pkgs ? ${p} && pkgs.lib.versionAtLeast pkgs.${p}.version v then pkgs else unstable).${p};
in
builtins.mapAttrs overrideUntilVersion {
aws-sam-cli = "1.52.0";
darktable = "4.0.0";
efficient-compression-tool = "0.9.1";
kitty = "0.25.2";
@AndrewKvalheim
AndrewKvalheim / github-remote
Created June 28, 2022 03:06
Configure GitHub remotes for HTTPS fetch and SSH push
#!/usr/bin/env bash
set -Eeuo pipefail
if [[ ! ( "${1-}" =~ ^([-_[:alnum:]]+)/([-_.[:alnum:]]+)$ ) ]]; then
echo "Usage: ${0##*/} <owner>/<repo>" >&2
exit 1
fi
owner="${BASH_REMATCH[1]}"
repo="${BASH_REMATCH[2]}"
@AndrewKvalheim
AndrewKvalheim / readme.md
Created June 10, 2022 15:40
JOSM Scripting Plugin on NixOS
@AndrewKvalheim
AndrewKvalheim / off
Created March 8, 2022 18:04
End-of-day update and shut down script
#!/usr/bin/env bash
set -Eeuo pipefail
sudo --validate
concurrently \
--names 'apt,docker,node,ruby,rust' \
--prefix-colors 'yellow,blue,green,red,cyan' \
'sudo apt-get update && sudo apt-get upgrade --yes' \
'docker system prune --force --volumes' \
  1. Remove waypoints and imprecise points with [GPSBabel]:

    gpsbabel \
      -i 'gpx' -f 'original/2021-08-23T21-35-41Z Mary Avenue Trail.gpx' \
      -x 'nuketypes,waypoints' \
      -x 'discard,hdop=2' \
      -o 'gpx' -F '/tmp/2021-08-23T21-35-41Z Mary Avenue Trail.gpx'