From 7dd036633023e6acd51abc967623f1b7b02a5c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20Schwarz=C3=A4ugl?= Date: Thu, 9 Oct 2025 00:19:33 +0200 Subject: [PATCH 1/3] feat[client]: add obsidian module --- SwarselSystems.org | 149 ++++++++++++++++++++++++++++- flake.lock | 96 ++++++++++++++++++- flake.nix | 1 + modules/home/common/obsidian.nix | 131 +++++++++++++++++++++++++ modules/home/common/packages.nix | 2 +- nix/overlays.nix | 7 ++ profiles/home/personal/default.nix | 1 + secrets/repo/pii.nix.enc | 8 +- 8 files changed, 383 insertions(+), 12 deletions(-) create mode 100644 modules/home/common/obsidian.nix diff --git a/SwarselSystems.org b/SwarselSystems.org index 93e6425..c7a0b3b 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -410,6 +410,7 @@ A short overview over each input and what it does: nixpkgs-stable24_11.url = "github:NixOS/nixpkgs/nixos-24.11"; systems.url = "github:nix-systems/default"; swarsel-modules.url = "github:Swarsel/swarsel-modules/main"; + swarsel-nix.url = "github:Swarsel/swarsel-nix/main"; home-manager = { url = "github:nix-community/home-manager"; # url = "github:Swarsel/home-manager/module/pizauth"; @@ -1546,6 +1547,12 @@ On the structure of overlays: as you notice, all of the attributes within overla }; }; + swarsel-nix = _: prev: { + swarsel-nix = import inputs.swarsel-nix { + pkgs = prev; + }; + }; + zjstatus = _: prev: { zjstatus = inputs.zjstatus.packages.${prev.system}.default; }; @@ -1558,6 +1565,7 @@ On the structure of overlays: as you notice, all of the attributes within overla // (nixpkgs-kernel final prev) // (nixpkgs-stable24_05 final prev) // (nixpkgs-stable24_11 final prev) + // (swarsel-nix final prev) // (zjstatus final prev) // (inputs.niri-flake.overlays.niri final prev) // (inputs.vbc-nix.overlays.default final prev) @@ -11154,7 +11162,7 @@ This holds packages that I can use as provided, or with small modifications (as # nomacs libreoffice-qt xournalpp - obsidian + # obsidian # spotify vesktop # discord client # nextcloud-client # enables a systemd service that I do not want @@ -13470,7 +13478,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi } #+end_src -***** element service for tray +***** element service for tr #+begin_src nix-ts :tangle modules/home/common/element-tray.nix { lib, config, pkgs, ... }: @@ -14403,6 +14411,142 @@ This service changes the screen hue at night. I am not sure if that really does } #+end_src +**** Obsidian + +#+begin_src nix-ts :tangle modules/home/common/obsidian.nix + { lib, config, pkgs, nixosConfig ? config, ... }: + let + moduleName = "obsidian"; + inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters; + in + { + options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings"; + config = lib.mkIf config.swarselmodules.${moduleName} { + programs.obsidian = + let + name = "Main"; + in + { + enable = true; + defaultSettings = { + app = { + attachmentFolderPath = "attachments"; + alwaysUpdateLinks = true; + spellcheck = false; + inherit userIgnoreFilters; + vimMode = false; + newFileLocation = "current"; + }; + corePlugins = [ + "backlink" + "bookmarks" + "canvas" + "command-palette" + "daily-notes" + "editor-status" + "file-explorer" + "file-recovery" + "global-search" + "graph" + "note-composer" + "outgoing-link" + "outline" + "page-preview" + "properties" + "slides" + "switcher" + "tag-pane" + "templates" + "word-count" + ]; + communityPlugins = with pkgs.swarsel-nix; [ + advanced-tables + calendar + file-hider + linter + omnisearch + sort-and-permute-lines + tag-wrangler + tray + ]; + }; + vaults = { + ${name} = { + target = "./Obsidian/${name}"; + settings = { + appearance = { + baseFontSize = lib.mkForce 19; + }; + communityPlugins = with pkgs.swarsel-nix; [ + { + pkg = advanced-tables; + enable = true; + } + { + pkg = calendar; + enable = true; + } + { + pkg = sort-and-permute-lines; + enable = true; + } + { + pkg = tag-wrangler; + enable = true; + } + { + pkg = tray; + enable = true; + settings = { + launchOnStartup = false; + hideOnLaunch = true; + runInBackground = true; + hideTaskbarIcon = false; + createTrayIcon = true; + }; + } + { + pkg = file-hider; + enable = true; + settings = + { + hidden = true; + hiddenList = [ + "attachments" + "images" + "ltximg" + "logseq" + ]; + }; + } + { + pkg = linter; + enable = true; + settings = { + auto-correct-common-misspellings = { + skip-words-with-multiple-capitals = true; + }; + convert-bullet-list-markers = { + enabled = true; + }; + }; + } + { + pkg = omnisearch; + enable = true; + settings = { + hideExcluded = true; + }; + } + ]; + }; + }; + }; + }; + }; + } +#+end_src + *** Server :PROPERTIES: :CUSTOM_ID: h:b1a00339-6e9b-4ae4-b5dc-6fd5669a2ddb @@ -17871,6 +18015,7 @@ This holds modules that are to be used on most hosts. These are also the most im blueman-applet = lib.mkDefault true; nm-applet = lib.mkDefault true; obsidian-tray = lib.mkDefault true; + obsidian = lib.mkDefault true; anki-tray = lib.mkDefault true; element-tray = lib.mkDefault true; vesktop-tray = lib.mkDefault true; diff --git a/flake.lock b/flake.lock index f5b7234..942ab6b 100644 --- a/flake.lock +++ b/flake.lock @@ -2182,6 +2182,24 @@ "type": "github" } }, + "flake-parts_35": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_17" + }, + "locked": { + "lastModified": 1759362264, + "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-parts_4": { "inputs": { "nixpkgs-lib": [ @@ -2485,7 +2503,7 @@ }, "flake-utils_19": { "inputs": { - "systems": "systems_45" + "systems": "systems_46" }, "locked": { "lastModified": 1731533236, @@ -5848,6 +5866,21 @@ "type": "github" } }, + "nixpkgs-lib_17": { + "locked": { + "lastModified": 1754788789, + "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "a73b9c743612e4244d865a2fdee11865283c04e6", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-lib_2": { "locked": { "lastModified": 1719876945, @@ -7231,6 +7264,22 @@ } }, "nixpkgs_58": { + "locked": { + "lastModified": 1759733170, + "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "8913c168d1c56dc49a7718685968f38752171c3b", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_59": { "locked": { "lastModified": 1754800730, "narHash": "sha256-HfVZCXic9XLBgybP0318ym3cDnGwBs/+H5MgxFVYF4I=", @@ -8616,7 +8665,8 @@ "stylix": "stylix", "swarsel": "swarsel", "swarsel-modules": "swarsel-modules_4", - "systems": "systems_43", + "swarsel-nix": "swarsel-nix", + "systems": "systems_44", "vbc-nix": "vbc-nix_6", "zjstatus": "zjstatus_6" } @@ -9539,6 +9589,27 @@ "type": "github" } }, + "swarsel-nix": { + "inputs": { + "flake-parts": "flake-parts_35", + "nixpkgs": "nixpkgs_58", + "systems": "systems_43" + }, + "locked": { + "lastModified": 1759958031, + "narHash": "sha256-rfwQQ42aQrzXYEzjQrqFA1NKoxgo9bqg/RIc2wKBsEQ=", + "owner": "Swarsel", + "repo": "swarsel-nix", + "rev": "ab8460e796c0694fe612a02817d8c290d0662188", + "type": "github" + }, + "original": { + "owner": "Swarsel", + "ref": "main", + "repo": "swarsel-nix", + "type": "github" + } + }, "swarsel_2": { "inputs": { "devshell": "devshell_5", @@ -10303,6 +10374,21 @@ } }, "systems_44": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_45": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -10317,7 +10403,7 @@ "type": "github" } }, - "systems_45": { + "systems_46": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -11076,7 +11162,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_44" + "systems": "systems_45" }, "locked": { "lastModified": 1742477270, @@ -11334,7 +11420,7 @@ "inputs": { "crane": "crane_12", "flake-utils": "flake-utils_19", - "nixpkgs": "nixpkgs_58", + "nixpkgs": "nixpkgs_59", "rust-overlay": "rust-overlay_12" }, "locked": { diff --git a/flake.nix b/flake.nix index ac839db..809843d 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,7 @@ nixpkgs-stable24_11.url = "github:NixOS/nixpkgs/nixos-24.11"; systems.url = "github:nix-systems/default"; swarsel-modules.url = "github:Swarsel/swarsel-modules/main"; + swarsel-nix.url = "github:Swarsel/swarsel-nix/main"; home-manager = { url = "github:nix-community/home-manager"; # url = "github:Swarsel/home-manager/module/pizauth"; diff --git a/modules/home/common/obsidian.nix b/modules/home/common/obsidian.nix new file mode 100644 index 0000000..a5eccb8 --- /dev/null +++ b/modules/home/common/obsidian.nix @@ -0,0 +1,131 @@ +{ lib, config, pkgs, nixosConfig ? config, ... }: +let + moduleName = "obsidian"; + inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters; +in +{ + options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings"; + config = lib.mkIf config.swarselmodules.${moduleName} { + programs.obsidian = + let + name = "Main"; + in + { + enable = true; + defaultSettings = { + app = { + attachmentFolderPath = "attachments"; + alwaysUpdateLinks = true; + spellcheck = false; + inherit userIgnoreFilters; + vimMode = false; + newFileLocation = "current"; + }; + corePlugins = [ + "backlink" + "bookmarks" + "canvas" + "command-palette" + "daily-notes" + "editor-status" + "file-explorer" + "file-recovery" + "global-search" + "graph" + "note-composer" + "outgoing-link" + "outline" + "page-preview" + "properties" + "slides" + "switcher" + "tag-pane" + "templates" + "word-count" + ]; + communityPlugins = with pkgs.swarsel-nix; [ + advanced-tables + calendar + file-hider + linter + omnisearch + sort-and-permute-lines + tag-wrangler + tray + ]; + }; + vaults = { + ${name} = { + target = "./Obsidian/${name}"; + settings = { + appearance = { + baseFontSize = lib.mkForce 19; + }; + communityPlugins = with pkgs.swarsel-nix; [ + { + pkg = advanced-tables; + enable = true; + } + { + pkg = calendar; + enable = true; + } + { + pkg = sort-and-permute-lines; + enable = true; + } + { + pkg = tag-wrangler; + enable = true; + } + { + pkg = tray; + enable = true; + settings = { + launchOnStartup = false; + hideOnLaunch = true; + runInBackground = true; + hideTaskbarIcon = false; + createTrayIcon = true; + }; + } + { + pkg = file-hider; + enable = true; + settings = + { + hidden = true; + hiddenList = [ + "attachments" + "images" + "ltximg" + "logseq" + ]; + }; + } + { + pkg = linter; + enable = true; + settings = { + auto-correct-common-misspellings = { + skip-words-with-multiple-capitals = true; + }; + convert-bullet-list-markers = { + enabled = true; + }; + }; + } + { + pkg = omnisearch; + enable = true; + settings = { + hideExcluded = true; + }; + } + ]; + }; + }; + }; + }; + }; +} diff --git a/modules/home/common/packages.nix b/modules/home/common/packages.nix index 72ada06..980f4af 100644 --- a/modules/home/common/packages.nix +++ b/modules/home/common/packages.nix @@ -77,7 +77,7 @@ # nomacs libreoffice-qt xournalpp - obsidian + # obsidian # spotify vesktop # discord client # nextcloud-client # enables a systemd service that I do not want diff --git a/nix/overlays.nix b/nix/overlays.nix index 5b26cc4..04222d3 100644 --- a/nix/overlays.nix +++ b/nix/overlays.nix @@ -77,6 +77,12 @@ in }; }; + swarsel-nix = _: prev: { + swarsel-nix = import inputs.swarsel-nix { + pkgs = prev; + }; + }; + zjstatus = _: prev: { zjstatus = inputs.zjstatus.packages.${prev.system}.default; }; @@ -89,6 +95,7 @@ in // (nixpkgs-kernel final prev) // (nixpkgs-stable24_05 final prev) // (nixpkgs-stable24_11 final prev) + // (swarsel-nix final prev) // (zjstatus final prev) // (inputs.niri-flake.overlays.niri final prev) // (inputs.vbc-nix.overlays.default final prev) diff --git a/profiles/home/personal/default.nix b/profiles/home/personal/default.nix index 45cb791..e13700c 100644 --- a/profiles/home/personal/default.nix +++ b/profiles/home/personal/default.nix @@ -45,6 +45,7 @@ blueman-applet = lib.mkDefault true; nm-applet = lib.mkDefault true; obsidian-tray = lib.mkDefault true; + obsidian = lib.mkDefault true; anki-tray = lib.mkDefault true; element-tray = lib.mkDefault true; vesktop-tray = lib.mkDefault true; diff --git a/secrets/repo/pii.nix.enc b/secrets/repo/pii.nix.enc index 6faa763..7363f49 100644 --- a/secrets/repo/pii.nix.enc +++ b/secrets/repo/pii.nix.enc @@ -1,5 +1,5 @@ { - "data": "ENC[AES256_GCM,data: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,iv:K7mxQXKb0Vfw9dPNcxjjfsn5fu+WQrT45hGI+ziA3Xo=,tag:d3VeFUg9W7VuVZamCcx7iA==,type:str]", + "data": "ENC[AES256_GCM,data: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,iv:9zObdum4T/ejBPPtX06ncAdgBe3ypZHbtOBaelS9100=,tag:MQxyCpZ2Z7dB5Re1ty+jGA==,type:str]", "sops": { "age": [ { @@ -27,8 +27,8 @@ "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtU240VjVRZmJ5TGsrclJF\nRXRLbTRCZURtR0Z3d2E2eDNNeGRDODlXVEY4CllTeVFYbDJQWlRSS1RFLzAxSnlM\nZi9NU1c3cWo3YWRLcUJ2U2ZFWFBBVEEKLS0tIGtmZU9qSWdBT3RDeStaaFFDSWtk\ndkUzZXJwZUl4LzVxYXdidmxXRnNnclUKyAMZqCKSY/RQvTR4bbjLaPnGKwdBcHXc\nvtiVSrLdIdzMa6id/J07TJH5UesUmcp0wjU41MDa4aMBLy+cXhuBHA==\n-----END AGE ENCRYPTED FILE-----\n" } ], - "lastmodified": "2025-09-18T10:05:03Z", - "mac": "ENC[AES256_GCM,data:8FpGfB2vgSaZ+eddMkLakPXjfx5TbfYrzgjWj3vKJUlGoE6KMRbFnsvWVs9Vku6ia6YKV7qzA6GLpFM36b25CE2uV78BD4VThtahl8ffAGR87HzUdR6hXrDfOluWWGcKgGDlKJ1zSiez0aMdAhbCyKC+phFQl0QnyirsKD3CeVw=,iv:d66S50SmO4yiI48eGxJIPZg3WtosaNYKq+kQ/SFyuD0=,tag:NAVPR0mU0NUP6T6mJdCbkg==,type:str]", + "lastmodified": "2025-10-08T21:54:23Z", + "mac": "ENC[AES256_GCM,data:vjpvEgzViQDpE4DQE34xKj3dj3yvva1NvjZqfzs9R3uAtqWu2fe5jkLcrMI4t35co3lP84VUwKM5HQ33wKYvmaCsPrM2tvPLI4KSXWU1e+TSfSFphDr21OGZImEUW5Je9hhmgo/rg37Dkc/hq3npoeG3mtHdl6zw2c8URgi/vqk=,iv:fZN8la3P4lalI0AGPJbHOo5D1Q+EmV3SOKg3s47/u0o=,tag:OLsMZbIMRV6X5Wc8NpDFnA==,type:str]", "pgp": [ { "created_at": "2025-06-13T20:13:06Z", @@ -37,6 +37,6 @@ } ], "unencrypted_suffix": "_unencrypted", - "version": "3.10.2" + "version": "3.11.0" } } From 667a923e7a05bed4159f66706ab3ebd75e6b8627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20Schwarz=C3=A4ugl?= Date: Thu, 9 Oct 2025 00:19:56 +0200 Subject: [PATCH 2/3] fix: stop network from being redefined --- SwarselSystems.org | 2 +- modules/nixos/client/network.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SwarselSystems.org b/SwarselSystems.org index c7a0b3b..83995c7 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -5048,7 +5048,7 @@ Here I only enable =networkmanager= and a few default networks. The rest of the wifi = { # mac-address-blacklist = ""; mode = "infrastructure"; - band = "a"; + # band = "a"; ssid = wlan1; }; wifi-security = { diff --git a/modules/nixos/client/network.nix b/modules/nixos/client/network.nix index 9dc06c7..aad336f 100644 --- a/modules/nixos/client/network.nix +++ b/modules/nixos/client/network.nix @@ -117,7 +117,7 @@ in wifi = { # mac-address-blacklist = ""; mode = "infrastructure"; - band = "a"; + # band = "a"; ssid = wlan1; }; wifi-security = { From cef4da535fa05427aa82ded616c33fe60943745b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20Schwarz=C3=A4ugl?= Date: Thu, 9 Oct 2025 00:20:13 +0200 Subject: [PATCH 3/3] chore: move some folder to new locations --- SwarselSystems.org | 16 +- files/emacs/init.el | 12 +- index.html | 237 +++++++++++++++++++++++------ modules/nixos/client/syncthing.nix | 4 +- 4 files changed, 209 insertions(+), 60 deletions(-) diff --git a/SwarselSystems.org b/SwarselSystems.org index 83995c7..cf6371f 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -5374,12 +5374,12 @@ Here I disable global completion to prevent redundant compinit calls and cache i id = "default"; }; "Obsidian" = { - path = "${homeDir}/Nextcloud/Obsidian"; + path = "${homeDir}/Obsidian"; inherit devices; id = "yjvni-9eaa7"; }; "Org" = { - path = "${homeDir}/Nextcloud/Org"; + path = "${homeDir}/Org"; inherit devices; id = "a7xnl-zjj3d"; }; @@ -19849,13 +19849,13 @@ This part of the configuration mostly makes some aesthetic changes, enables neat (defun swarsel/org-agenda-done-and-archive () "Mark TODO at point as DONE, archive it, and save all agenda files." (interactive) - (let ((org-archive-location "~/Nextcloud/Org/Archive.org::Archive")) + (let ((org-archive-location "~/Org/Archive.org::Archive")) (org-agenda-todo "DONE") (org-agenda-archive) (dolist (buf (buffer-list)) (with-current-buffer buf (when (and buffer-file-name - (string-prefix-p (expand-file-name "~/Nextcloud/Org/") (file-truename buffer-file-name)) + (string-prefix-p (expand-file-name "~/Org/") (file-truename buffer-file-name)) (derived-mode-p 'org-mode)) (save-buffer)))))) @@ -19884,14 +19884,14 @@ This part of the configuration mostly makes some aesthetic changes, enables neat (setq org-image-actual-width nil) (setq org-format-latex-options '(:foreground "White" :background default :scale 2.0 :html-foreground "Black" :html-background "Transparent" :html-scale 1.0 :matchers ("begin" "$1" "$" "$$" "\\(" "\\["))) - (setq org-agenda-files '("/home/swarsel/Nextcloud/Org/Tasks.org" - "/home/swarsel/Nextcloud/Org/Archive.org" + (setq org-agenda-files '("/home/swarsel/Org/Tasks.org" + "/home/swarsel/Org/Archive.org" )) (setq org-capture-templates - '(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox") + '(("t" "Todo" entry (file+headline "~/Org/Tasks.org" "Inbox") "* TODO %?\n %i\n %a") - ("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org") + ("j" "Journal" entry (file+datetree "~/Org/Journal.org") "* %?\nEntered on %U\n %i\n %a"))) (setq org-refile-targets diff --git a/files/emacs/init.el b/files/emacs/init.el index 7f8999a..935c1ee 100644 --- a/files/emacs/init.el +++ b/files/emacs/init.el @@ -807,13 +807,13 @@ create a new one." (defun swarsel/org-agenda-done-and-archive () "Mark TODO at point as DONE, archive it, and save all agenda files." (interactive) - (let ((org-archive-location "~/Nextcloud/Org/Archive.org::Archive")) + (let ((org-archive-location "~/Org/Archive.org::Archive")) (org-agenda-todo "DONE") (org-agenda-archive) (dolist (buf (buffer-list)) (with-current-buffer buf (when (and buffer-file-name - (string-prefix-p (expand-file-name "~/Nextcloud/Org/") (file-truename buffer-file-name)) + (string-prefix-p (expand-file-name "~/Org/") (file-truename buffer-file-name)) (derived-mode-p 'org-mode)) (save-buffer)))))) @@ -842,14 +842,14 @@ create a new one." (setq org-image-actual-width nil) (setq org-format-latex-options '(:foreground "White" :background default :scale 2.0 :html-foreground "Black" :html-background "Transparent" :html-scale 1.0 :matchers ("begin" "$1" "$" "$$" "\\(" "\\["))) - (setq org-agenda-files '("/home/swarsel/Nextcloud/Org/Tasks.org" - "/home/swarsel/Nextcloud/Org/Archive.org" + (setq org-agenda-files '("/home/swarsel/Org/Tasks.org" + "/home/swarsel/Org/Archive.org" )) (setq org-capture-templates - '(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox") + '(("t" "Todo" entry (file+headline "~/Org/Tasks.org" "Inbox") "* TODO %?\n %i\n %a") - ("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org") + ("j" "Journal" entry (file+datetree "~/Org/Journal.org") "* %?\nEntered on %U\n %i\n %a"))) (setq org-refile-targets diff --git a/index.html b/index.html index 8e78e79..11c1d62 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + SwarselSystems: NixOS + Emacs Configurationo @@ -443,8 +443,8 @@
  • 3.2.5.8. Hibernation
  • 3.2.5.9. BTRFS
  • 3.2.5.10. work
  • -
  • 3.2.5.11. microvm-host
  • -
  • 3.2.5.12. microvm-guest
  • +
  • 3.2.5.11. microvm-host
  • +
  • 3.2.5.12. microvm-guest
  • @@ -494,12 +494,12 @@
  • 3.3.1.30.3. Mako
  • 3.3.1.30.4. SwayOSD
  • 3.3.1.30.5. yubikey-touch-detector
  • -
  • 3.3.1.30.6. blueman-applet
  • -
  • 3.3.1.30.7. network-manager-applet
  • -
  • 3.3.1.30.8. obsidian service for tray
  • -
  • 3.3.1.30.9. anki service for tray
  • -
  • 3.3.1.30.10. element service for tray
  • -
  • 3.3.1.30.11. vesktop service for tray
  • +
  • 3.3.1.30.6. blueman-applet
  • +
  • 3.3.1.30.7. network-manager-applet
  • +
  • 3.3.1.30.8. obsidian service for tray
  • +
  • 3.3.1.30.9. anki service for tray
  • +
  • 3.3.1.30.10. element service for tr
  • +
  • 3.3.1.30.11. vesktop service for tray
  • 3.3.1.31. Sway
  • @@ -508,6 +508,7 @@
  • 3.3.1.34. gpg-agent
  • 3.3.1.35. gammastep
  • 3.3.1.36. Spicetify
  • +
  • 3.3.1.37. Obsidian
  • 3.3.2. Server @@ -572,7 +573,7 @@
  • 3.5.31. swarsel-build
  • 3.5.32. swarsel-instantiate
  • 3.5.33. sshrm
  • -
  • 3.5.34. endme
  • +
  • 3.5.34. endme
  • 3.6. Profiles @@ -581,7 +582,7 @@
    • 3.6.1.1. Personal
    • 3.6.1.2. Minimal
    • -
    • 3.6.1.3. Optionals
    • +
    • 3.6.1.3. Optionals
    • 3.6.1.4. Chaostheatre
    • 3.6.1.5. Work
    • 3.6.1.6. Uni
    • @@ -824,7 +825,7 @@

      -This file has 94167 words spanning 24116 lines and was last revised on 2025-10-07 21:23:03 +0200. +This file has 94403 words spanning 24261 lines and was last revised on 2025-10-09 00:17:29 +0200.

      @@ -893,7 +894,7 @@ This section defines my Emacs configuration. For a while, I considered to use ry

      -My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2025-10-07 21:23:03 +0200) +My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2025-10-09 00:17:29 +0200)

    @@ -1338,6 +1339,7 @@ This provides devshell support for flake-parts
  • nixpkgs-stable24_11.url = "github:NixOS/nixpkgs/nixos-24.11"; systems.url = "github:nix-systems/default"; swarsel-modules.url = "github:Swarsel/swarsel-modules/main"; + swarsel-nix.url = "github:Swarsel/swarsel-nix/main"; home-manager = { url = "github:nix-community/home-manager"; # url = "github:Swarsel/home-manager/module/pizauth"; @@ -2590,6 +2592,12 @@ in }; }; + swarsel-nix = final: prev: { + swarsel-nix = import inputs.swarsel-nix { + pkgs = prev; + }; + }; + zjstatus = _: prev: { zjstatus = inputs.zjstatus.packages.${prev.system}.default; }; @@ -2602,6 +2610,7 @@ in // (nixpkgs-kernel final prev) // (nixpkgs-stable24_05 final prev) // (nixpkgs-stable24_11 final prev) + // (swarsel-nix final prev) // (zjstatus final prev) // (inputs.niri-flake.overlays.niri final prev) // (inputs.vbc-nix.overlays.default final prev) @@ -6212,7 +6221,7 @@ in wifi = { # mac-address-blacklist = ""; mode = "infrastructure"; - band = "a"; + # band = "a"; ssid = wlan1; }; wifi-security = { @@ -6549,12 +6558,12 @@ in id = "default"; }; "Obsidian" = { - path = "${homeDir}/Nextcloud/Obsidian"; + path = "${homeDir}/Obsidian"; inherit devices; id = "yjvni-9eaa7"; }; "Org" = { - path = "${homeDir}/Nextcloud/Org"; + path = "${homeDir}/Org"; inherit devices; id = "a7xnl-zjj3d"; }; @@ -12090,8 +12099,8 @@ in -
    -
    3.2.5.11. microvm-host
    +
    +
    3.2.5.11. microvm-host

    Some standard options that should be set for every microvm host. @@ -12117,8 +12126,8 @@ Some standard options that should be set for every microvm host.

    -
    -
    3.2.5.12. microvm-guest
    +
    +
    3.2.5.12. microvm-guest

    Some standard options that should be set vor every microvm guest. We set the default @@ -12484,7 +12493,7 @@ This holds packages that I can use as provided, or with small modifications (as # nomacs libreoffice-qt xournalpp - obsidian + # obsidian # spotify vesktop # discord client # nextcloud-client # enables a systemd service that I do not want @@ -14815,8 +14824,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi

    -
    -
    3.3.1.30.6. blueman-applet
    +
    +
    3.3.1.30.6. blueman-applet
    { lib, config, ... }:
    @@ -14830,8 +14839,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.30.7. network-manager-applet
    +
    +
    3.3.1.30.7. network-manager-applet
    { lib, config, ... }:
    @@ -14846,8 +14855,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.30.8. obsidian service for tray
    +
    +
    3.3.1.30.8. obsidian service for tray
    { lib, config, pkgs, ... }:
    @@ -14881,8 +14890,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.30.9. anki service for tray
    +
    +
    3.3.1.30.9. anki service for tray
    { lib, config, pkgs, ... }:
    @@ -14916,8 +14925,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.30.10. element service for tray
    +
    +
    3.3.1.30.10. element service for tr
    { lib, config, pkgs, ... }:
    @@ -14951,8 +14960,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.30.11. vesktop service for tray
    +
    +
    3.3.1.30.11. vesktop service for tray
    { lib, config, pkgs, ... }:
    @@ -15862,6 +15871,145 @@ in
     
    +
    +
    3.3.1.37. Obsidian
    +
    +
    +
    { inputs, lib, config, pkgs, nixosConfig ? config, ... }:
    +  let
    +    moduleName = "obsidian";
    +    inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
    +  in
    +  {
    +    options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
    +    config = lib.mkIf config.swarselmodules.${moduleName} {
    +      programs.obsidian =
    +        let
    +          name = "Main";
    +        in
    +        {
    +          enable = true;
    +          defaultSettings = {
    +            app = {
    +              attachmentFolderPath = "attachments";
    +              alwaysUpdateLinks = true;
    +              spellcheck = false;
    +              inherit userIgnoreFilters;
    +              vimMode = false;
    +              newFileLocation = "current";
    +            };
    +            corePlugins = [
    +              "backlink"
    +              "bookmarks"
    +              "canvas"
    +              "command-palette"
    +              "daily-notes"
    +              "editor-status"
    +              "file-explorer"
    +              "file-recovery"
    +              "global-search"
    +              "graph"
    +              "note-composer"
    +              "outgoing-link"
    +              "outline"
    +              "page-preview"
    +              "properties"
    +              "slides"
    +              "switcher"
    +              "tag-pane"
    +              "templates"
    +              "word-count"
    +            ];
    +            communityPlugins = with pkgs.swarsel-nix; [
    +              advanced-tables
    +              calendar
    +              file-hider
    +              linter
    +              omnisearch
    +              sort-and-permute-lines
    +              tag-wrangler
    +              tray
    +            ];
    +          };
    +          vaults = {
    +            ${name} = {
    +              target = "./Obsidian/${name}";
    +              settings = {
    +                appearance = {
    +                  baseFontSize = lib.mkForce 19;
    +                };
    +                communityPlugins = with pkgs.swarsel-nix; [
    +                  {
    +                    pkg = advanced-tables;
    +                    enable = true;
    +                  }
    +                  {
    +                    pkg = calendar;
    +                    enable = true;
    +                  }
    +                  {
    +                    pkg = sort-and-permute-lines;
    +                    enable = true;
    +                  }
    +                  {
    +                    pkg = tag-wrangler;
    +                    enable = true;
    +                  }
    +                  {
    +                    pkg = tray;
    +                    enable = true;
    +                    settings = {
    +                      launchOnStartup = false;
    +                      hideOnLaunch = true;
    +                      runInBackground = true;
    +                      hideTaskbarIcon = false;
    +                      createTrayIcon = true;
    +                    };
    +                  }
    +                  {
    +                    pkg = file-hider;
    +                    enable = true;
    +                    settings =
    +                      {
    +                        hidden = true;
    +                        hiddenList = [
    +                          "attachments"
    +                          "images"
    +                          "ltximg"
    +                          "logseq"
    +                        ];
    +                      };
    +                  }
    +                  {
    +                    pkg = linter;
    +                    enable = true;
    +                    settings = {
    +                      auto-correct-common-misspellings = {
    +                        skip-words-with-multiple-capitals = true;
    +                      };
    +                      convert-bullet-list-markers = {
    +                        enabled = true;
    +                      };
    +                    };
    +                  }
    +                  {
    +                    pkg = omnisearch;
    +                    enable = true;
    +                    settings = {
    +                      hideExcluded = true;
    +                    };
    +                  }
    +                ];
    +              };
    +            };
    +          };
    +        };
    +    };
    +  }
    +
    +
    +
    +

    3.3.2. Server

    @@ -18999,8 +19147,8 @@ writeShellApplication {
    -
    -

    3.5.34. endme

    +
    +

    3.5.34. endme

    Sometimes my DE crashes after putting it to suspend - to be precise, it happens when I put it into suspend when I have multiple screens plugged in. I have never taken the time to debug the issue, but instead just switch to a different TTY and then use this script to kill the hanging session. @@ -19160,8 +19308,8 @@ in

    -
    -
    3.6.1.3. Optionals
    +
    +
    3.6.1.3. Optionals
    { lib, config, ... }:
    @@ -19433,6 +19581,7 @@ in
           blueman-applet = lib.mkDefault true;
           nm-applet = lib.mkDefault true;
           obsidian-tray = lib.mkDefault true;
    +      obsidian = lib.mkDefault true;
           anki-tray = lib.mkDefault true;
           element-tray = lib.mkDefault true;
           vesktop-tray = lib.mkDefault true;
    @@ -21487,13 +21636,13 @@ This part of the configuration mostly makes some aesthetic changes, enables neat
     (defun swarsel/org-agenda-done-and-archive ()
       "Mark TODO at point as DONE, archive it, and save all agenda files."
       (interactive)
    -  (let ((org-archive-location "~/Nextcloud/Org/Archive.org::Archive"))
    +  (let ((org-archive-location "~/Org/Archive.org::Archive"))
         (org-agenda-todo "DONE")
         (org-agenda-archive)
         (dolist (buf (buffer-list))
           (with-current-buffer buf
             (when (and buffer-file-name
    -                   (string-prefix-p (expand-file-name "~/Nextcloud/Org/") (file-truename buffer-file-name))
    +                   (string-prefix-p (expand-file-name "~/Org/") (file-truename buffer-file-name))
                        (derived-mode-p 'org-mode))
               (save-buffer))))))
     
    @@ -21522,14 +21671,14 @@ This part of the configuration mostly makes some aesthetic changes, enables neat
       (setq org-image-actual-width nil)
       (setq org-format-latex-options '(:foreground "White" :background default :scale 2.0 :html-foreground "Black" :html-background "Transparent" :html-scale 1.0 :matchers ("begin" "$1" "$" "$$" "\\(" "\\[")))
     
    -  (setq org-agenda-files '("/home/swarsel/Nextcloud/Org/Tasks.org"
    -                           "/home/swarsel/Nextcloud/Org/Archive.org"
    +  (setq org-agenda-files '("/home/swarsel/Org/Tasks.org"
    +                           "/home/swarsel/Org/Archive.org"
                                ))
     
       (setq org-capture-templates
    -        '(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox")
    +        '(("t" "Todo" entry (file+headline "~/Org/Tasks.org" "Inbox")
                "* TODO %?\n  %i\n  %a")
    -          ("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org")
    +          ("j" "Journal" entry (file+datetree "~/Org/Journal.org")
                "* %?\nEntered on %U\n  %i\n  %a")))
     
       (setq org-refile-targets
    @@ -26218,7 +26367,7 @@ similarly, there exists an version that starts from the right.
     

    Author: Leon Schwarzäugl

    -

    Created: 2025-10-07 Di 21:23

    +

    Created: 2025-10-09 Do 00:17

    Validate

    diff --git a/modules/nixos/client/syncthing.nix b/modules/nixos/client/syncthing.nix index d7ca383..3410f77 100644 --- a/modules/nixos/client/syncthing.nix +++ b/modules/nixos/client/syncthing.nix @@ -27,12 +27,12 @@ in id = "default"; }; "Obsidian" = { - path = "${homeDir}/Nextcloud/Obsidian"; + path = "${homeDir}/Obsidian"; inherit devices; id = "yjvni-9eaa7"; }; "Org" = { - path = "${homeDir}/Nextcloud/Org"; + path = "${homeDir}/Org"; inherit devices; id = "a7xnl-zjj3d"; };