nix

configuration files that power my machines
Log | Files | Refs | README | LICENSE

commit ecce53d833714fbbe80dca960e0780f27587c96e
parent 381f5f81db9d4fa8a72f806297d7585a89b41d82
Author: mtmn <miro@haravara.org>
Date:   Tue, 23 Jun 2026 20:56:25 +0200

void: setup khal, nb, etc.

Diffstat:
Mhosts/void/default.nix | 1+
Ahosts/void/overlays/bin/khaln_cron | 9+++++++++
Mhosts/void/overlays/config/magdalena/config.json.nix | 0
Mhosts/work/overlays/bin/nota | 0
Mhosts/work/overlays/config/shell/rc/todo | 0
Mmodules/mixins/dotfiles/bin/nota | 85+++++++++++++++++++++++--------------------------------------------------------
Mmodules/mixins/dotfiles/bin/todo-notify | 2+-
Mmodules/mixins/dotfiles/bin/todomenu | 2+-
Mmodules/mixins/dotfiles/bin/yank-to-todo | 2+-
Mmodules/mixins/dotfiles/config/magdalena/config.json.nix | 3++-
Dmodules/mixins/dotfiles/config/nota | 3---
Mmodules/mixins/dotfiles/config/shell/rc/aliased-short-names | 11+++--------
Mmodules/mixins/dotfiles/config/shell/rc/todo | 2+-
13 files changed, 44 insertions(+), 76 deletions(-)

diff --git a/hosts/void/default.nix b/hosts/void/default.nix @@ -44,6 +44,7 @@ geesefs ouch xan + nb ]; vcs = [ diff --git a/hosts/void/overlays/bin/khaln_cron b/hosts/void/overlays/bin/khaln_cron @@ -0,0 +1,9 @@ +#!/bin/sh +pid=$(pgrep -u "$(id -u)" -x river | head -1) + +if [ -n "$pid" ]; then + DBUS_SESSION_BUS_ADDRESS=$(tr '\0' '\n' </proc/"$pid"/environ | grep '^DBUS_SESSION_BUS_ADDRESS=' | cut -d= -f2-) + export DBUS_SESSION_BUS_ADDRESS +fi + +WAYLAND_DISPLAY=wayland-1 DISPLAY=:0 /home/miro/bin/khal_notifier "$@" diff --git a/hosts/void/overlays/config/magdalena/config.json.nix b/hosts/void/overlays/config/magdalena/config.json.nix Binary files differ. diff --git a/hosts/work/overlays/bin/nota b/hosts/work/overlays/bin/nota Binary files differ. diff --git a/hosts/work/overlays/config/shell/rc/todo b/hosts/work/overlays/config/shell/rc/todo Binary files differ. diff --git a/modules/mixins/dotfiles/bin/nota b/modules/mixins/dotfiles/bin/nota @@ -1,73 +1,38 @@ -#!/bin/bash +#!/usr/bin/env bash -shopt -s nullglob - -config=${XDG_CONFIG_HOME:-"$HOME/.config"}/nota -[[ -f "$config" ]] && . "$config" - -data_base_dir=${XDG_DATA_HOME:-"$HOME/misc/notes"} -data_dir=$data_base_dir/nota - -mkdir -p "$data_dir" -cd -- "$data_dir" || exit +set -euo pipefail +notebook=${NOTA_NOTEBOOK:-notes} +nb_dir=${NB_DIR:-"$HOME/.nb"} +dir=$nb_dir/$notebook : "${NOTA_READ_ONLY=0}" -: "${GPG=0}" - -editor=${EDITOR:-${VISUAL:-vi}} -((GPG)) && editor=${PGP_EDITOR:-"$editor"} -if ((NOTA_READ_ONLY)); then - # The linter is wrong here, we don't want to do $(cat). - # shellcheck disable=SC2209 - editor=cat - ((GPG)) && editor='gpg -q -d' -fi - -unsanitised_basename=${1:-"$(date +%F)"} +case ${1:-} in +git) + shift + exec nb "$notebook:git" "$@" + ;; +ls) + exec nb "$notebook:list" + ;; +esac -case $unsanitised_basename in -git | ls) exec "$@" ;; +unsanitised_name=${1:-today} +case $unsanitised_name in *' days ago' | yesterday | tomorrow | today) - unsanitised_basename=$(date -d "$unsanitised_basename" +%F) + unsanitised_name=$(date -d "$unsanitised_name" +%F) ;; esac -basename=${unsanitised_basename//\//_} -file=$data_dir/$basename -((GPG)) && file=$file.gpg -((MARKDOWN)) && file=$file.md - -lock_base="$file.lock" -lock="$lock_base.$$" - -if ! ((NOTA_READ_ONLY)); then - for existing_lock_file in "$lock_base".*; do - pid=${existing_lock_file##*.} - if [[ -d "/proc/$pid" ]]; then - printf 'Refusing to open %s as it is locked\n' "$file" >&2 - exit 6 - else - printf 'Removing stale lock %s\n' "$existing_lock_file" >&2 - rmdir -- "$existing_lock_file" - fi - done +name=${unsanitised_name//\//_} +file=$name.org - trap 'rmdir -- "$lock"' EXIT - mkdir -- "$lock" +if ((NOTA_READ_ONLY)); then + exec cat -- "$dir/$file" fi -$editor -- "$file" - -((NOTA_READ_ONLY)) && exit 0 - -if ! [[ -f "$file" ]]; then - printf 'Not committing as %s is missing\n' "$unsanitised_basename" >&2 - exit 5 +if [[ -e "$dir/$file" ]]; then + exec nb "$notebook:edit" "$file" +else + exec nb "$notebook:add" --filename "$file" fi - -git init -git add "$file" -rmdir -- "$lock" -trap - EXIT -git commit -m "Updated $unsanitised_basename" diff --git a/modules/mixins/dotfiles/bin/todo-notify b/modules/mixins/dotfiles/bin/todo-notify @@ -1,6 +1,6 @@ #!/bin/bash -TODO_FILE="$HOME/misc/notes/nota/todo.txt" +TODO_FILE="$HOME/.nb/notes/todo.txt" current_date="" while IFS= read -r line || [[ -n "$line" ]]; do diff --git a/modules/mixins/dotfiles/bin/todomenu b/modules/mixins/dotfiles/bin/todomenu @@ -1,6 +1,6 @@ #!/bin/bash -TODO_FILE="$HOME/misc/notes/nota/todo.txt" +TODO_FILE="$HOME/.nb/notes/todo.txt" [ ! -f "$TODO_FILE" ] && exit 1 diff --git a/modules/mixins/dotfiles/bin/yank-to-todo b/modules/mixins/dotfiles/bin/yank-to-todo @@ -1,6 +1,6 @@ #!/usr/bin/env bash -todo_file=~/misc/notes/nota/todo.txt +todo_file=~/.nb/notes/todo.txt if [[ -n "$1" ]]; then url="$1" diff --git a/modules/mixins/dotfiles/config/magdalena/config.json.nix b/modules/mixins/dotfiles/config/magdalena/config.json.nix @@ -35,7 +35,8 @@ "${homeDir}/misc/llm", "${homeDir}/misc/books", "${homeDir}/misc/notes", - "${homeDir}/misc/notes/nota", + "${homeDir}/.nb/notes", + "${homeDir}/.nb/work", "${homeDir}/misc/screenshots", "${homeDir}/misc/recordings", "${homeDir}/misc/random", diff --git a/modules/mixins/dotfiles/config/nota b/modules/mixins/dotfiles/config/nota @@ -1,3 +0,0 @@ -GPG=0 -MARKDOWN=1 -EDITOR=nvim diff --git a/modules/mixins/dotfiles/config/shell/rc/aliased-short-names b/modules/mixins/dotfiles/config/shell/rc/aliased-short-names @@ -79,7 +79,7 @@ alias bnp='backup -t git:nota -p' alias brr='backup -t git:releases -p' alias nr='newsraft' -alias nre='$EDITOR ~/src/sr.ht/nix/modules/mixins/dotfiles/config/newsraft/feeds' +alias nre='vim ~/src/sr.ht/nix/modules/mixins/dotfiles/config/newsraft/feeds' alias cbd='cargo build' alias cbr='cargo build --release' @@ -95,13 +95,8 @@ alias apc='ansible-playbook --check --diff' alias yt_dlp_audio_url='yt-dlp -f bestaudio -g' alias yt_dlp_audio='yt-dlp --embed-thumbnail --write-thumbnail --extract-audio --audio-format mp3 --audio-quality 0' -alias nb='nix build' -alias nd='nix develop' - -alias np='nix profile' -alias npa='nix profile add' -alias npl='nix profile list' -alias npu='nix profile upgrade' +alias nbd='nix build' +alias nds='nix develop' alias hms='just --justfile ~/src/sr.ht/nix/justfile home' alias hmd='just --justfile ~/src/sr.ht/nix/justfile diff' diff --git a/modules/mixins/dotfiles/config/shell/rc/todo b/modules/mixins/dotfiles/config/shell/rc/todo @@ -1,6 +1,6 @@ #!/bin/sh -f=~/misc/notes/nota/todo.txt +f=~/.nb/notes/todo.txt t=${TMPDIR:-/tmp}/ta.$$ alias tt='rg -N -B 1 "^todo:" "$f"'