From a1afcdc3352c3cc6e45d8856a09101ac768707dd Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Thu, 18 Dec 2025 23:15:19 +0200 Subject: [PATCH 1/9] Setup PlantUML mode in Emacs to use the local server --- .config/emacs/init.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.config/emacs/init.el b/.config/emacs/init.el index bea332b..0b62b17 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -186,6 +186,17 @@ (use-package org-contacts :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 + (plantuml-default-exec-mode 'server) + (plantuml-server-url "http://localhost:8080") + :init + (add-to-list 'auto-mode-alist '("\\.plantuml\\'" . plantuml-mode)) + ) + (use-package age :custom (age-default-identity "~/.age/key") From 5c00e33e53163e3e7b547733f701d142d5f63956 Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Fri, 19 Dec 2025 00:15:19 +0200 Subject: [PATCH 2/9] Integrate PlantUML mode with org-mode code blocks --- .config/emacs/init.el | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 0b62b17..d89e54f 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -191,10 +191,15 @@ (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 From 3d87c6462e4e4967c0d538a6cb6877d9af61dd7a Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Sat, 20 Dec 2025 23:37:56 +0200 Subject: [PATCH 3/9] Detach the Transmission server from the host network --- .config/containers/systemd/transmission.container | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/containers/systemd/transmission.container b/.config/containers/systemd/transmission.container index ca3190e..0c139f3 100644 --- a/.config/containers/systemd/transmission.container +++ b/.config/containers/systemd/transmission.container @@ -7,7 +7,7 @@ ContainerName=transmission Environment=PGID=1000 Environment=PUID=1000 Image=lscr.io/linuxserver/transmission:latest -Network=host +Network=private PublishPort=51413:51413 PublishPort=51413:51413/udp PublishPort=9091:9091 From deb1bfd574ce8a70865fe682c66e019fe1211eda Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Thu, 18 Dec 2025 23:15:19 +0200 Subject: [PATCH 4/9] Setup PlantUML mode in Emacs to use the local server --- .config/emacs/init.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.config/emacs/init.el b/.config/emacs/init.el index bea332b..b5fb4c4 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -186,6 +186,17 @@ (use-package org-contacts :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 + (plantuml-default-exec-mode 'server) + (plantuml-server-url "http://localhost:8080") + :init + (add-to-list 'auto-mode-alist '("\\.puml\\'" . plantuml-mode)) + ) + (use-package age :custom (age-default-identity "~/.age/key") From 4cba3af502ea78c0497b55a64a6dab0e192188ce Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Fri, 19 Dec 2025 00:15:19 +0200 Subject: [PATCH 5/9] Integrate PlantUML mode with org-mode code blocks --- .config/emacs/init.el | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.config/emacs/init.el b/.config/emacs/init.el index b5fb4c4..2eb5bbe 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -191,10 +191,15 @@ (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 '("\\.puml\\'" . 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 From 9d2e483917640b8aeeadc34ba36dfedc7adbdd8c Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Sat, 20 Dec 2025 23:37:56 +0200 Subject: [PATCH 6/9] Detach the Transmission server from the host network --- .config/containers/systemd/transmission.container | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/containers/systemd/transmission.container b/.config/containers/systemd/transmission.container index ca3190e..0c139f3 100644 --- a/.config/containers/systemd/transmission.container +++ b/.config/containers/systemd/transmission.container @@ -7,7 +7,7 @@ ContainerName=transmission Environment=PGID=1000 Environment=PUID=1000 Image=lscr.io/linuxserver/transmission:latest -Network=host +Network=private PublishPort=51413:51413 PublishPort=51413:51413/udp PublishPort=9091:9091 From 0df3008fa01386c1d695131303af4edbd66ab7ec Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Wed, 24 Dec 2025 00:41:06 +0200 Subject: [PATCH 7/9] Collect all the flyspell configuration options together --- .config/emacs/init.el | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 2eb5bbe..bec67ef 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -26,8 +26,6 @@ :hook ( ;; keep-sorted start (after-save . executable-make-buffer-file-executable-if-script-p) - (prog-mode . flyspell-prog-mode) - (text-mode . flyspell-mode) (xref-after-update . outline-minor-mode) ;; keep-sorted end ) @@ -67,6 +65,18 @@ ;; keep-sorted end ) +(use-package flyspell + :ensure nil + :bind (:map flyspell-mode-map + ("C-;" . nil)) + :hook ( + ;; keep-sorted start + (prog-mode . flyspell-prog-mode) + (text-mode . flyspell-mode) + ;; keep-sorted end + ) + ) + (use-package diminish) (use-package better-defaults From 9ee480b95967ee0306c1c1ff03c6c713f30eabdc Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Wed, 24 Dec 2025 20:13:30 +0200 Subject: [PATCH 8/9] Use a read-only root filesystem in service containers --- .config/containers/systemd/ollama.container | 1 + .config/containers/systemd/transmission.container | 1 + 2 files changed, 2 insertions(+) diff --git a/.config/containers/systemd/ollama.container b/.config/containers/systemd/ollama.container index 653e159..fd73a5a 100644 --- a/.config/containers/systemd/ollama.container +++ b/.config/containers/systemd/ollama.container @@ -7,6 +7,7 @@ ContainerName=ollama Image=docker.io/ollama/ollama:latest Network=ollama.network PublishPort=11434:11434 +ReadOnly=true Volume=%h/.local/share/ollama:/root/.ollama:ro,z # keep-sorted end diff --git a/.config/containers/systemd/transmission.container b/.config/containers/systemd/transmission.container index 0c139f3..7e167c5 100644 --- a/.config/containers/systemd/transmission.container +++ b/.config/containers/systemd/transmission.container @@ -11,6 +11,7 @@ Network=private PublishPort=51413:51413 PublishPort=51413:51413/udp PublishPort=9091:9091 +ReadOnly=true UserNS=keep-id Volume=%h/.config/transmission:/config:Z Volume=%h/Downloads/transmission/watch:/watch:ro,Z From e7ff3d3f1646a57a0db100943e13548411568b6c Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Wed, 24 Dec 2025 20:13:40 +0200 Subject: [PATCH 9/9] Run service containers in the transient store for speed and safety --- .config/containers/systemd/ollama.container | 1 + .config/containers/systemd/plantuml.container | 1 + .config/containers/systemd/transmission.container | 1 + 3 files changed, 3 insertions(+) diff --git a/.config/containers/systemd/ollama.container b/.config/containers/systemd/ollama.container index fd73a5a..51b9e69 100644 --- a/.config/containers/systemd/ollama.container +++ b/.config/containers/systemd/ollama.container @@ -6,6 +6,7 @@ Description=A local LLM server ContainerName=ollama Image=docker.io/ollama/ollama:latest Network=ollama.network +PodmanArgs=--transient-store PublishPort=11434:11434 ReadOnly=true Volume=%h/.local/share/ollama:/root/.ollama:ro,z diff --git a/.config/containers/systemd/plantuml.container b/.config/containers/systemd/plantuml.container index 347a03b..3b93c5a 100644 --- a/.config/containers/systemd/plantuml.container +++ b/.config/containers/systemd/plantuml.container @@ -6,6 +6,7 @@ Description=A local PlantUML server ContainerName=plantuml Image=docker.io/plantuml/plantuml-server:jetty Network=private +PodmanArgs=--transient-store PublishPort=8080:8080 ReadOnly=true # keep-sorted end diff --git a/.config/containers/systemd/transmission.container b/.config/containers/systemd/transmission.container index 7e167c5..15b6387 100644 --- a/.config/containers/systemd/transmission.container +++ b/.config/containers/systemd/transmission.container @@ -8,6 +8,7 @@ Environment=PGID=1000 Environment=PUID=1000 Image=lscr.io/linuxserver/transmission:latest Network=private +PodmanArgs=--transient-store PublishPort=51413:51413 PublishPort=51413:51413/udp PublishPort=9091:9091