Compare commits
6 commits
6994788dc4
...
5c00e33e53
| Author | SHA1 | Date | |
|---|---|---|---|
| 5c00e33e53 | |||
| a1afcdc335 | |||
| 5f99d941ab | |||
| 82cd587d18 | |||
| 38bf705a3c | |||
| de56d1a1f2 |
10 changed files with 60 additions and 25 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
#! /usr/bin/bash
|
#! /usr/bin/bash
|
||||||
|
|
||||||
alias em="emacs --no-init-file --no-splash --no-window-system"
|
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 la="ll --all"
|
||||||
alias tree="ll --tree"
|
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"
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,6 @@ WantedBy=default.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
# keep-sorted start
|
# keep-sorted start
|
||||||
ExecStartPre=mkdir -p %h/.local/share/ollama
|
ExecStartPre=mkdir --parents %h/.local/share/ollama
|
||||||
Restart=always
|
Restart=always
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
|
|
|
||||||
17
.config/containers/systemd/plantuml.container
Normal file
17
.config/containers/systemd/plantuml.container
Normal file
|
|
@ -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
|
||||||
|
|
@ -62,6 +62,7 @@
|
||||||
(global-auto-revert-non-file-buffers t)
|
(global-auto-revert-non-file-buffers t)
|
||||||
(inhibit-startup-screen t)
|
(inhibit-startup-screen t)
|
||||||
(show-paren-context-when-offscreen 'overlay)
|
(show-paren-context-when-offscreen 'overlay)
|
||||||
|
(treesit-enabled-modes t)
|
||||||
(xref-search-program 'ripgrep)
|
(xref-search-program 'ripgrep)
|
||||||
;; keep-sorted end
|
;; keep-sorted end
|
||||||
)
|
)
|
||||||
|
|
@ -185,6 +186,22 @@
|
||||||
(use-package org-contacts
|
(use-package org-contacts
|
||||||
:after org-contrib)
|
: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
|
(use-package age
|
||||||
:custom
|
:custom
|
||||||
(age-default-identity "~/.age/key")
|
(age-default-identity "~/.age/key")
|
||||||
|
|
@ -264,7 +281,7 @@
|
||||||
(eglot-ensure))))
|
(eglot-ensure))))
|
||||||
|
|
||||||
(use-package python
|
(use-package python
|
||||||
:bind (:map python-mode-map
|
:bind (:map python-ts-mode-map
|
||||||
("C-c C-p" . nil)
|
("C-c C-p" . nil)
|
||||||
("C-c C-l" . nil)
|
("C-c C-l" . nil)
|
||||||
("C-c t" . elpy-test))
|
("C-c t" . elpy-test))
|
||||||
|
|
|
||||||
|
|
@ -32,15 +32,15 @@ include /etc/sway/config-vars.d/*
|
||||||
#
|
#
|
||||||
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
# 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
|
### Idle configuration
|
||||||
#
|
#
|
||||||
|
|
||||||
exec swayidle -w \
|
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"' \
|
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
|
# 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
|
# your displays after another 300 seconds, and turn your screens back on when
|
||||||
|
|
@ -58,7 +58,7 @@ input type:touchpad {
|
||||||
tap enabled
|
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.
|
# Read `man 5 sway-input` for more information about this section.
|
||||||
|
|
||||||
### Key bindings
|
### Key bindings
|
||||||
|
|
@ -99,9 +99,9 @@ input type:touchpad {
|
||||||
|
|
||||||
# Lock screen
|
# Lock screen
|
||||||
# Black
|
# Black
|
||||||
bindsym $wm_mod+l exec swaylock -f -c 000000
|
bindsym $wm_mod+l exec swaylock --daemonize --color 000000
|
||||||
# Random color
|
# 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)
|
# Exit sway (logs you out of your Wayland session)
|
||||||
bindsym $wm_mod+Delete exec leave
|
bindsym $wm_mod+Delete exec leave
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IFS=$'\n\t'
|
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
|
echo "Error parsing options." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#! /usr/bin/sh
|
#! /usr/bin/sh
|
||||||
|
|
||||||
recordings=$(pgrep wf-recorder | wc -l)
|
recordings=$(pgrep wf-recorder | wc --lines)
|
||||||
if [ "${recordings}" = "0" ]; then
|
if [ "${recordings}" = "0" ]; then
|
||||||
recs=""
|
recs=""
|
||||||
else
|
else
|
||||||
|
|
@ -19,7 +19,7 @@ else
|
||||||
numlock="⮔"
|
numlock="⮔"
|
||||||
fi
|
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
|
if [ "${touchpad}" = "enabled" ]; then
|
||||||
touchpad_active="✅"
|
touchpad_active="✅"
|
||||||
else
|
else
|
||||||
|
|
@ -29,8 +29,8 @@ fi
|
||||||
today=$(date +'%Y-%m-%d')
|
today=$(date +'%Y-%m-%d')
|
||||||
|
|
||||||
now=$(date +'%H:%M:%S')
|
now=$(date +'%H:%M:%S')
|
||||||
hour=$(echo "${now}" | cut -d: -f1 -)
|
hour=$(echo "${now}" | cut --delimiter ":" --fields 1 -)
|
||||||
minute=$(echo "${now}" | cut -d: -f2 -)
|
minute=$(echo "${now}" | cut --delimiter ":" --fields 2 -)
|
||||||
if [ "${minute}" -lt 30 ]; then
|
if [ "${minute}" -lt 30 ]; then
|
||||||
case "${hour}" in
|
case "${hour}" in
|
||||||
"00"|"12") clock_face="🕛";;
|
"00"|"12") clock_face="🕛";;
|
||||||
|
|
@ -64,7 +64,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
audio_mute=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')
|
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="❔"
|
audio_symbol="❔"
|
||||||
if [ "${audio_mute}" = "yes" ]; then
|
if [ "${audio_mute}" = "yes" ]; then
|
||||||
audio_symbol="🔇"
|
audio_symbol="🔇"
|
||||||
|
|
@ -81,7 +81,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mike_mute=$(pactl get-source-mute @DEFAULT_SOURCE@ | awk '{print $2}')
|
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="❔"
|
mike_symbol="❔"
|
||||||
if [ "${mike_mute}" = "yes" ]; then
|
if [ "${mike_mute}" = "yes" ]; then
|
||||||
mike_symbol="🍌"
|
mike_symbol="🍌"
|
||||||
|
|
|
||||||
|
|
@ -37,15 +37,15 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
get_focused_monitor() {
|
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() {
|
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() {
|
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
|
case "${option}" in
|
||||||
|
|
@ -68,11 +68,11 @@ case "${option}" in
|
||||||
"📷 Select window → 📋")
|
"📷 Select window → 📋")
|
||||||
grim -g "$(select_window)" - | wl-copy;;
|
grim -g "$(select_window)" - | wl-copy;;
|
||||||
"📽 Record focused monitor")
|
"📽 Record focused monitor")
|
||||||
wf-recorder -o "$(get_focused_monitor)" -f "$(recording_filename)";;
|
wf-recorder --output "$(get_focused_monitor)" -f "$(recording_filename)";;
|
||||||
"📽 Record select region")
|
"📽 Record select region")
|
||||||
wf-recorder -g "$(slurp)" -f "$(recording_filename)";;
|
wf-recorder --geometry "$(slurp)" -f "$(recording_filename)";;
|
||||||
"📽 Record focused window")
|
"📽 Record focused window")
|
||||||
wf-recorder -g "$(get_focused_window)" -f "$(recording_filename)";;
|
wf-recorder --geometry "$(get_focused_window)" -f "$(recording_filename)";;
|
||||||
"📽 Record select window")
|
"📽 Record select window")
|
||||||
wf-recorder -g "$(select_window)" -f "$(recording_filename)";;
|
wf-recorder --geometry "$(select_window)" -f "$(recording_filename)";;
|
||||||
esac
|
esac
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ IFS=$'\n\t'
|
||||||
IMAGES=(
|
IMAGES=(
|
||||||
# keep-sorted start
|
# keep-sorted start
|
||||||
docker.io/ollama/ollama:latest
|
docker.io/ollama/ollama:latest
|
||||||
|
docker.io/plantuml/plantuml-server:jetty
|
||||||
ghcr.io/hadolint/hadolint:latest
|
ghcr.io/hadolint/hadolint:latest
|
||||||
lscr.io/linuxserver/transmission:latest
|
lscr.io/linuxserver/transmission:latest
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
|
|
||||||
podman --transient-store run --rm -ti \
|
podman --transient-store run --interactive --rm --tty \
|
||||||
--env WAYLAND_DISPLAY \
|
--env WAYLAND_DISPLAY \
|
||||||
--env XDG_RUNTIME_DIR=/tmp \
|
--env XDG_RUNTIME_DIR=/tmp \
|
||||||
--hostname localhost \
|
--hostname localhost \
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue