commit - 34df38c7207c83a80e4f88140e33d2e8af877f71
commit + 075e3db8dd3343d230cece2997109bb55ba78598
blob - 3677ec78531a77c7d00104428b4ca9328e98a2af
blob + 40c1f959c86c57c52accc32e0ef36f420fef31bc
--- flake.lock
+++ flake.lock
]
},
"locked": {
- "lastModified": 1784588016,
- "narHash": "sha256-ouZe80aWEhMLVMkqICFDN+JUw+0FJtCr/bh+hHtRtMg=",
+ "lastModified": 1784690067,
+ "narHash": "sha256-t86pRs7IPs3RTMPueWvvdcxyTFrctHAv2Jl7jnjsSf8=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "deeb6b7eb7e0c44ae1819c051ce175bd92a85100",
+ "rev": "6d8d61567802997f9ec3086b2a837e3ef31fac16",
"type": "github"
},
"original": {
blob - cdb0fb125d64b0bfb072decf1d72f3cbaebac80a
blob + 65c4695fc4b0e1abc7a7d486fee6d33403be2153
--- home.nix
+++ home.nix
builtins.elem (lib.getName pkg) [
"xnviewmp"
"tarsnap"
+ "winbox"
];
nix = {
blob - 90e1e523ff9499702fd77d3fed84785dd024183c
blob + 0c19f876b3ac142fb09bccbb6507d8baacda4689
Binary files hosts/nixaran/configuration.nix and hosts/nixaran/configuration.nix differ
blob - 1cecb4b0beab7cccba7e2cf7d22ffd0a9e78f87a
blob + ea419444a3a9d8fbe34d9f69ec9e8c90b3e39e8c
--- hosts/void/default.nix
+++ hosts/void/default.nix
boring
oha
rathole
+ winbox
];
media = [
picard
xnviewmp
tigervnc
+ gittyup
];
llm = [
blob - b885959136cef2078a895995944c708a0d60c2cd
blob + faaec611de4cacda20f5c12b7064f2d068d78817
--- hosts/void/overlays/home/nbrc
+++ hosts/void/overlays/home/nbrc
#!/usr/bin/env bash
-export EDITOR="emacsclient -n"
+export EDITOR="emacs"
export NB_DEFAULT_EXTENSION="${NB_DEFAULT_EXTENSION:-org}"
export NB_SYNTAX_THEME="${NB_SYNTAX_THEME:-base16}"
export NB_COLOR_THEME="${NB_COLOR_THEME:-smoke}"
blob - 837a5010228521a56e7caca4b08dde3dc90c17d6
blob + 561ba65bc279b4a58c40003ed71888359da22734
--- modules/mixins/dotfiles/bin/bum
+++ modules/mixins/dotfiles/bin/bum
BASE="$HOME/misc/mnt/puck"
-tailscale status >/dev/null 2>&1 || {
- echo "tailscale not up" >&2
- exit 1
-}
-
bucket=$(
aws --profile "$PROFILE" --endpoint-url "$ENDPOINT" --region "$REGION" s3 ls 2>/dev/null |
awk '{print $NF}' |
blob - d40a8b614bde6e36e2c67dbde1163912ca7bb7fd
blob + 957acd3923d0ad08c8b8285b102a34836b50e078
--- modules/mixins/dotfiles/bin/givecover
+++ modules/mixins/dotfiles/bin/givecover
process_file() {
local file="$1"
- local COVER_NAMES=("cover.jpg" "Cover.jpg" "cover.png" "Cover.png")
local dir
dir=$(dirname "$file")
+ shopt -s nocaseglob
+ local COVER_NAMES=("$dir"/cover.* "$dir"/front.* "$dir"/folder.*)
local cover=""
for name in "${COVER_NAMES[@]}"; do
- if [ -f "$dir/$name" ]; then
- cover="$dir/$name"
+ if [[ ${name,,} =~ (cover|front|folder)\.(jpg|jpeg|png)$ ]] && [ -f "$name" ]; then
+ cover="$name"
break
fi
done
+ shopt -u nocaseglob
if [ -z "$cover" ]; then
echo "[—] $file (no cover found in $dir)"
blob - 759cb26226059447aac845d82a50f5b60903dc38
blob + 6a78ab59255fda852a702e8d05216b7cd8f15e99
--- modules/mixins/dotfiles/config/aerc/aerc.conf
+++ modules/mixins/dotfiles/config/aerc/aerc.conf
x-scheme-handler/http*=printf '%s' {} | wl-copy
[hooks]
-mail-received=pimsync sync contacts >/dev/null 2>&1 & [ "$AERC_ACCOUNT" = "fastmail" ] && [ "$AERC_FOLDER" != "Spam" ] && [ "$AERC_FOLDER" != "Trash" ] && [ "$AERC_FROM_ADDRESS" != "notifications@github.com" ] && notify-send -a aerc "$AERC_FROM_ADDRESS" "$AERC_SUBJECT" || true
+mail-received=pimsync sync contacts >/dev/null 2>&1 & [ "$AERC_ACCOUNT" = "fastmail" ] && [ "$AERC_FOLDER" != "Spam" ] && [ "$AERC_FOLDER" != "Trash" ] && [ "$AERC_FOLDER" != "misc/freebsd" ] && [ "$AERC_FROM_ADDRESS" != "notifications@github.com" ] && notify-send -a aerc "$AERC_FROM_ADDRESS" "$AERC_SUBJECT" || true
blob - bb9cbedee9b07dbcb63a4638b92888161133f101
blob + 2d13389ae309f841e6033fab4dd11276e74ee727
--- modules/services/monitoring/loki.nix
+++ modules/services/monitoring/loki.nix
default = 3100;
description = "Port for Loki HTTP listener";
};
+ pushPort = lib.mkOption {
+ type = lib.types.port;
+ default = 3101;
+ description = "Tailnet port for Alloy's remote log-push receiver";
+ };
dataDir = lib.mkOption {
type = lib.types.str;
default = "/var/lib/loki";
services.alloy = {
enable = true;
configPath = pkgs.writeText "alloy-config.river" ''
- // ── Logs ────────────────────────────────────────────────────────────
-
loki.write "default" {
endpoint {
url = "http://127.0.0.1:${toString cfg.loki.port}/loki/api/v1/push"
}
}
+ loki.source.api "remote_push" {
+ http {
+ listen_address = "100.64.0.2"
+ listen_port = ${toString cfg.loki.pushPort}
+ }
+ forward_to = [loki.write.default.receiver]
+ }
+
loki.relabel "journal" {
forward_to = []
forward_to = [loki.write.default.receiver]
tail_from_end = true
}
+
+ loki.relabel "openbsd_syslog" {
+ forward_to = []
+
+ rule {
+ source_labels = ["__syslog_message_app_name"]
+ target_label = "app"
+ }
+
+ rule {
+ source_labels = ["__syslog_message_severity"]
+ target_label = "level"
+ }
+
+ rule {
+ source_labels = ["__syslog_message_facility"]
+ target_label = "facility"
+ }
+ }
+
+ loki.source.syslog "openbsd" {
+ listener {
+ // OpenBSD syslogd forwards in traditional RFC3164 format, whose
+ // timestamps carry no timezone so we stamp on receive.
+ address = "100.64.0.2:1514"
+ protocol = "tcp"
+ syslog_format = "rfc3164"
+ use_incoming_timestamp = false
+ labels = {
+ job = "openbsd-syslog",
+ // RFC3164 from OpenBSD doesn't yield a parseable hostname here,
+ // and this listener only serves helios, so label it statically.
+ host = "helios",
+ }
+ }
+
+ relabel_rules = loki.relabel.openbsd_syslog.rules
+ forward_to = [loki.write.default.receiver]
+ }
'';
};
};