diff --git a/.bash_aliases b/.bash_aliases index 8c96a9f..0ed8566 100755 --- a/.bash_aliases +++ b/.bash_aliases @@ -1,7 +1,7 @@ #! /usr/bin/bash alias em="emacs --no-init-file --no-splash --no-window-system" -alias ll="exa --binary --group --long" +alias ll="eza --binary --group --long" alias la="ll --all" alias tree="ll --tree" -alias llblk="lsblk -o NAME,TYPE,FSTYPE,SIZE,MOUNTPOINT,LABEL,PARTLABEL,UUID,PARTUUID" +alias llblk="lsblk --output NAME,TYPE,FSTYPE,SIZE,MOUNTPOINT,LABEL,PARTLABEL,UUID,PARTUUID" diff --git a/.config/containers/systemd/ollama.container b/.config/containers/systemd/ollama.container index b6475ab..653e159 100644 --- a/.config/containers/systemd/ollama.container +++ b/.config/containers/systemd/ollama.container @@ -15,6 +15,6 @@ WantedBy=default.target [Service] # keep-sorted start -ExecStartPre=mkdir -p %h/.local/share/ollama +ExecStartPre=mkdir --parents %h/.local/share/ollama Restart=always # keep-sorted end diff --git a/.config/containers/systemd/plantuml.container b/.config/containers/systemd/plantuml.container new file mode 100644 index 0000000..347a03b --- /dev/null +++ b/.config/containers/systemd/plantuml.container @@ -0,0 +1,17 @@ +[Unit] +Description=A local PlantUML server + +[Container] +# keep-sorted start +ContainerName=plantuml +Image=docker.io/plantuml/plantuml-server:jetty +Network=private +PublishPort=8080:8080 +ReadOnly=true +# keep-sorted end + +[Install] +WantedBy=default.target + +[Service] +Restart=always diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 1e06c1a..d89e54f 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -186,6 +186,22 @@ (use-package org-contacts :after org-contrib) +(use-package deflate + :ensure (:repo "https://github.com/skuro/deflate")) +(use-package plantuml-mode + :ensure (:repo "https://github.com/skuro/plantuml-mode") + :custom + ;; keep-sorted start + (plantuml-default-exec-mode 'server) + (plantuml-output-type "svg") + (plantuml-server-url "http://localhost:8080") + ;; keep-sorted end + :init + (add-to-list 'auto-mode-alist '("\\.plantuml\\'" . plantuml-mode)) + (add-to-list 'org-src-lang-modes '("plantuml" . plantuml)) + (org-babel-do-load-languages 'org-babel-load-languages '((plantuml . t))) + ) + (use-package age :custom (age-default-identity "~/.age/key") @@ -265,7 +281,7 @@ (eglot-ensure)))) (use-package python - :bind (:map python-mode-map + :bind (:map python-ts-mode-map ("C-c C-p" . nil) ("C-c C-l" . nil) ("C-c t" . elpy-test)) diff --git a/.config/sway/config b/.config/sway/config index 1054a60..f431603 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -32,15 +32,15 @@ include /etc/sway/config-vars.d/* # # output HDMI-A-1 resolution 1920x1080 position 1920,0 # -# You can get the names of your outputs by running: swaymsg -t get_outputs +# You can get the names of your outputs by running: swaymsg --type get_outputs ### Idle configuration # exec swayidle -w \ - timeout 300 'swaylock -f -c 000000' \ + timeout 300 'swaylock --daemonize --color 000000' \ timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ - before-sleep 'swaylock -f -c 000000' + before-sleep 'swaylock --daemonize --color 000000' # This will lock your screen after 300 seconds of inactivity, then turn off # your displays after another 300 seconds, and turn your screens back on when @@ -58,7 +58,7 @@ input type:touchpad { tap enabled } -# You can get the names of your inputs by running: swaymsg -t get_inputs +# You can get the names of your inputs by running: swaymsg --type get_inputs # Read `man 5 sway-input` for more information about this section. ### Key bindings @@ -99,9 +99,9 @@ input type:touchpad { # Lock screen # Black - bindsym $wm_mod+l exec swaylock -f -c 000000 + bindsym $wm_mod+l exec swaylock --daemonize --color 000000 # Random color - bindsym $wm_mod+semicolon exec swaylock -f -c $(dd if=/dev/urandom bs=1 count=3 2>/dev/null | hexdump -e '"%02x"') + bindsym $wm_mod+semicolon exec swaylock --daemonize --color $(dd if=/dev/urandom bs=1 count=3 2>/dev/null | hexdump --format '"%02x"') # Exit sway (logs you out of your Wayland session) bindsym $wm_mod+Delete exec leave diff --git a/.local/bin/podllama b/.local/bin/podllama index 2f9393e..39b8e63 100755 --- a/.local/bin/podllama +++ b/.local/bin/podllama @@ -3,7 +3,7 @@ set -euo pipefail IFS=$'\n\t' -if ! PARSED_OPTIONS=$(getopt -o "" --long "offline,volatile" --name "$0" -- "$@"); then +if ! PARSED_OPTIONS=$(getopt --options "" --long "offline,volatile" --name "$0" -- "$@"); then echo "Error parsing options." >&2 exit 1 fi diff --git a/.local/bin/print-status b/.local/bin/print-status index 6192f29..a9e5ab7 100755 --- a/.local/bin/print-status +++ b/.local/bin/print-status @@ -1,6 +1,6 @@ #! /usr/bin/sh -recordings=$(pgrep wf-recorder | wc -l) +recordings=$(pgrep wf-recorder | wc --lines) if [ "${recordings}" = "0" ]; then recs="" else @@ -19,7 +19,7 @@ else numlock="⮔" fi -touchpad=$(swaymsg -t get_inputs | jq -r '[.[] | select(.type == "touchpad")][0] | .libinput.send_events') +touchpad=$(swaymsg --type get_inputs | jq --raw-output '[.[] | select(.type == "touchpad")][0] | .libinput.send_events') if [ "${touchpad}" = "enabled" ]; then touchpad_active="✅" else @@ -29,8 +29,8 @@ fi today=$(date +'%Y-%m-%d') now=$(date +'%H:%M:%S') -hour=$(echo "${now}" | cut -d: -f1 -) -minute=$(echo "${now}" | cut -d: -f2 -) +hour=$(echo "${now}" | cut --delimiter ":" --fields 1 -) +minute=$(echo "${now}" | cut --delimiter ":" --fields 2 -) if [ "${minute}" -lt 30 ]; then case "${hour}" in "00"|"12") clock_face="🕛";; @@ -64,7 +64,7 @@ else fi audio_mute=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}') -audio_volume=$(pactl get-sink-volume @DEFAULT_SINK@ | grep -o '[0-9]\+%' | head -n 1 | tr -d %) +audio_volume=$(pactl get-sink-volume @DEFAULT_SINK@ | grep --only-matching '[0-9]\+%' | head --lines 1 | tr --delete %) audio_symbol="❔" if [ "${audio_mute}" = "yes" ]; then audio_symbol="🔇" @@ -81,7 +81,7 @@ else fi mike_mute=$(pactl get-source-mute @DEFAULT_SOURCE@ | awk '{print $2}') -mike_volume=$(pactl get-source-volume @DEFAULT_SOURCE@ | grep -o '[0-9]\+%' | head -n 1 | tr -d %) +mike_volume=$(pactl get-source-volume @DEFAULT_SOURCE@ | grep --only-matching '[0-9]\+%' | head --lines 1 | tr --delete %) mike_symbol="❔" if [ "${mike_mute}" = "yes" ]; then mike_symbol="🍌" diff --git a/.local/bin/take-screenshot b/.local/bin/take-screenshot index 32f4eaf..8a71bea 100755 --- a/.local/bin/take-screenshot +++ b/.local/bin/take-screenshot @@ -37,15 +37,15 @@ else fi get_focused_monitor() { - swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name' + swaymsg --type get_outputs | jq --raw-output '.[] | select(.focused) | .name' } get_focused_window() { - swaymsg -t get_tree | jq -j '.. | select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"' + swaymsg --type get_tree | jq --join-output '.. | select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"' } select_window() { - swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp + swaymsg --type get_tree | jq --raw-output '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp } case "${option}" in @@ -68,11 +68,11 @@ case "${option}" in "📷 Select window → 📋") grim -g "$(select_window)" - | wl-copy;; "📽 Record focused monitor") - wf-recorder -o "$(get_focused_monitor)" -f "$(recording_filename)";; + wf-recorder --output "$(get_focused_monitor)" -f "$(recording_filename)";; "📽 Record select region") - wf-recorder -g "$(slurp)" -f "$(recording_filename)";; + wf-recorder --geometry "$(slurp)" -f "$(recording_filename)";; "📽 Record focused window") - wf-recorder -g "$(get_focused_window)" -f "$(recording_filename)";; + wf-recorder --geometry "$(get_focused_window)" -f "$(recording_filename)";; "📽 Record select window") - wf-recorder -g "$(select_window)" -f "$(recording_filename)";; + wf-recorder --geometry "$(select_window)" -f "$(recording_filename)";; esac diff --git a/.local/bin/update-container-images b/.local/bin/update-container-images index 2b28b04..df5f93f 100755 --- a/.local/bin/update-container-images +++ b/.local/bin/update-container-images @@ -6,6 +6,7 @@ IFS=$'\n\t' IMAGES=( # keep-sorted start docker.io/ollama/ollama:latest + docker.io/plantuml/plantuml-server:jetty ghcr.io/hadolint/hadolint:latest lscr.io/linuxserver/transmission:latest # keep-sorted end diff --git a/.local/bin/vaulter b/.local/bin/vaulter index 876832f..0ebad34 100755 --- a/.local/bin/vaulter +++ b/.local/bin/vaulter @@ -3,7 +3,7 @@ set -euo pipefail IFS=$'\n\t' -podman --transient-store run --rm -ti \ +podman --transient-store run --interactive --rm --tty \ --env WAYLAND_DISPLAY \ --env XDG_RUNTIME_DIR=/tmp \ --hostname localhost \