From 5799216ea4355897b9bf113419616fcabf61798f Mon Sep 17 00:00:00 2001 From: Alexander Kobjolke Date: Sat, 17 May 2025 22:26:07 +0200 Subject: [PATCH 1/4] feat(home): Setup mu4e --- home/alex/programs/emacs/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/home/alex/programs/emacs/default.nix b/home/alex/programs/emacs/default.nix index d94091f..fe0b524 100644 --- a/home/alex/programs/emacs/default.nix +++ b/home/alex/programs/emacs/default.nix @@ -15,7 +15,11 @@ in programs.emacs = { enable = true; - extraPackages = epkgs: with epkgs; [ vterm ]; + extraPackages = + epkgs: with epkgs; [ + vterm + mu4e + ]; }; services.emacs = { From 42d53f650075ea58b1b3f03d4dc5f56a6b34be32 Mon Sep 17 00:00:00 2001 From: Alexander Kobjolke Date: Thu, 15 Jan 2026 23:03:00 +0100 Subject: [PATCH 2/4] thrall: Configure automatic exports for paperless --- hosts/thrall/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hosts/thrall/default.nix b/hosts/thrall/default.nix index 164a582..fddb6ac 100644 --- a/hosts/thrall/default.nix +++ b/hosts/thrall/default.nix @@ -322,19 +322,17 @@ in services.paperless = { enable = true; address = "127.0.0.1"; + domain = "docs.failco.de"; port = 3002; consumptionDirIsPublic = true; configureTika = true; + exporter.enable = true; settings = { PAPERLESS_OCR_LANGUAGE = "deu+eng"; PAPERLESS_OCR_USER_ARGS = ''{"invalidate_digital_signatures": true}''; PAPERLESS_URL = "https://docs.failco.de"; PAPERLESS_CONSUMER_RECURSIVE = true; PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS = true; - - # workaround for classification getting stuck, see - # https://github.com/NixOS/nixpkgs/issues/240591#issuecomment-1915678490 - OMP_NUM_THREADS = 1; }; }; From 8895ae29634da12400094e065f623ee6c8a9284f Mon Sep 17 00:00:00 2001 From: Alexander Kobjolke Date: Thu, 15 Jan 2026 23:03:00 +0100 Subject: [PATCH 3/4] emacs: Update to org-gtd-4 --- home/alex/programs/emacs/doom/config.el | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/home/alex/programs/emacs/doom/config.el b/home/alex/programs/emacs/doom/config.el index 39c5a5e..d1bad75 100644 --- a/home/alex/programs/emacs/doom/config.el +++ b/home/alex/programs/emacs/doom/config.el @@ -107,7 +107,8 @@ org-agenda-include-diary t org-agenda-sticky t org-todo-keywords '( - (sequence "NEXT(n)" "TODO(t)" "WAIT(w@/!)" "|" "DONE(d!)" "CNCL(k@)") + ;; (sequence "TODO" "NEXT" "WAIT" "|" "DONE" "CNCL") + (sequence "TODO(t)" "NEXT(n)" "WAIT(w@/!)" "|" "DONE(d!)" "CNCL(k@)") (sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)") ) org-tag-alist '( @@ -242,18 +243,32 @@ :after org :demand t :init - (setq! org-gtd-update-ack "3.0.0") + (setq! org-gtd-update-ack "4.0.0") + (setq! org-gtd-directory org-directory) + (setopt org-todo-keywords + '( + (sequence "TODO(t)" "NEXT(n)" "WAIT(w@/!)" "|" "DONE(d!)" "CNCL(k@)") + )) + + :config + (setopt org-gtd-keyword-mapping + '((todo . "TODO") ;; tasks not ready to be acted upon + (next . "NEXT") ;; tasks ready to act on immediately + (wait . "WAIT") ;; tasks blocked or delegated + (done . "DONE") ;; tasks successfully completed + (canceled . "CNCL"))) ;; tasks that won't be completed + + (setq org-agenda-files (list org-gtd-directory)) (setf org-gtd-id--generate #'org-id-get-create) - (setq! org-gtd-directory org-directory) (setq! org-gtd-default-file-name "actionable") (setq! org-gtd-refile-to-any-target nil) (setq! org-gtd-engage-prefix-width 40) (setq! org-edna-use-inheritance t) ;; (setq org-gtd-areas-of-focus '("house" "haskell" "foss")) - (setq org-gtd-organize-hooks nil) - (org-edna-mode) + ;; (setq org-gtd-organize-hooks nil) + (org-edna-mode 1) (map! :leader :desc "Capture" "X" #'org-gtd-capture (:prefix-map ("d" . "GTD") From 2a1db15b8cfd97e9b7f50641cba60ba46f1beb9a Mon Sep 17 00:00:00 2001 From: Alexander Kobjolke Date: Thu, 15 Jan 2026 23:03:00 +0100 Subject: [PATCH 4/4] chore: Update inputs --- flake.lock | 52 ++++++++++++++++++++-------------------- hosts/thrall/default.nix | 9 ++++--- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index 5fc1bf6..1f5fb27 100644 --- a/flake.lock +++ b/flake.lock @@ -68,11 +68,11 @@ ] }, "locked": { - "lastModified": 1763651264, - "narHash": "sha256-8vvwZbw0s7YvBMJeyPVpWke6lg6ROgtts5N2/SMCcv4=", + "lastModified": 1768923567, + "narHash": "sha256-GVJ0jKsyXLuBzRMXCDY6D5J8wVdwP1DuQmmvYL/Vw/Q=", "owner": "nix-community", "repo": "disko", - "rev": "e86a89079587497174ccab6d0d142a65811a4fd9", + "rev": "00395d188e3594a1507f214a2f15d4ce5c07cb28", "type": "github" }, "original": { @@ -105,15 +105,15 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "NixOS", "repo": "flake-compat", "type": "github" } @@ -165,11 +165,11 @@ ] }, "locked": { - "lastModified": 1763319842, - "narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=", + "lastModified": 1763988335, + "narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761", + "rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce", "type": "github" }, "original": { @@ -249,11 +249,11 @@ ] }, "locked": { - "lastModified": 1763906693, - "narHash": "sha256-inm7paa3myo8gE4TzjM8OPvsEg8xocWreIZBgBPEKgo=", + "lastModified": 1769187349, + "narHash": "sha256-clG+nT6I2qxjIgk5WoSDKJyNhzKJs9jzbCujPF2S/yg=", "owner": "nix-community", "repo": "home-manager", - "rev": "3d6c1c8fa0bea3a1a7ba23d6fa5993116766073b", + "rev": "082a4cd87c6089d1d9c58ebe52655f9e07245fcb", "type": "github" }, "original": { @@ -334,11 +334,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1763678758, - "narHash": "sha256-+hBiJ+kG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s=", + "lastModified": 1769018530, + "narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "117cc7f94e8072499b0a7aa4c52084fa4e11cc9b", + "rev": "88d3861acdd3d2f0e361767018218e51810df8a1", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1763553727, - "narHash": "sha256-4aRqRkYHplWk0mrtoF5i3Uo73E3niOWiUZU8kmPm9hQ=", + "lastModified": 1764374374, + "narHash": "sha256-naS7hg/D1yLKSZoENx9gvsPLFiNEOTcqamJSu0OEvCA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "094318ea16502a7a81ce90dd3638697020f030a2", + "rev": "6a49303095abc094ee77dc243a9e351b642e8e75", "type": "github" }, "original": { @@ -475,11 +475,11 @@ ] }, "locked": { - "lastModified": 1763741496, - "narHash": "sha256-uIRqs/H18YEtMOn1OkbnPH+aNTwXKx+iU3qnxEkVUd0=", + "lastModified": 1769069492, + "narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "20e71a403c5de9ce5bd799031440da9728c1cda1", + "rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1763564778, - "narHash": "sha256-HSWMOylEaTtVgzIjpTbjcjVLXHDwNyV081eVUBfAcMs=", + "lastModified": 1766321686, + "narHash": "sha256-icOWbnD977HXhveirqA10zoqvErczVs3NKx8Bj+ikHY=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "4987d275a90392347f84923cd4cd8efcf0aa7a22", + "rev": "7d433bf89882f61621f95082e90a4ab91eb0bdd3", "type": "gitlab" }, "original": { diff --git a/hosts/thrall/default.nix b/hosts/thrall/default.nix index fddb6ac..0634a16 100644 --- a/hosts/thrall/default.nix +++ b/hosts/thrall/default.nix @@ -211,11 +211,14 @@ in }; services.nginx.virtualHosts = { # main site - "failco.de" = { + "thrall.failco.de" = { forceSSL = true; enableACME = true; root = "/srv/www/failco.de"; - serverAliases = [ "www.failco.de" ]; + serverAliases = [ + "failco.de" + "www.failco.de" + ]; extraConfig = '' add_header X-Frame-Options 'SAMEORIGIN'; ''; @@ -464,7 +467,7 @@ in "charlie@kobjolke.de" = "alex@kobjolke.de"; }; - certificateScheme = "acme-nginx"; + x509.useACMEHost = config.mailserver.fqdn; enableImapSsl = true; enableManageSieve = true;