From 251266db4c779d15e62a53aed56a31c53899a78b Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Tue, 20 May 2025 09:40:33 +0200 Subject: [PATCH 01/21] Remove unused secrets --- hosts/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/hosts/default.nix b/hosts/default.nix index cf4fc6f..1b21982 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -142,9 +142,6 @@ "cachix-personal-token".owner = "ccr"; "git-workspace-tokens".owner = "ccr"; "autistici-password".owner = "ccr"; - "restic-hetzner-password" = { }; - "forgejo-runners-token".owner = "nixuser"; - "forgejo-nix-access-tokens".owner = "nixuser"; }; }; From 839cf0df5fe01222c8502de6d2a464465e9c3e79 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Tue, 20 May 2025 09:40:48 +0200 Subject: [PATCH 02/21] Use NVidia GPU --- hosts/pike/default.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hosts/pike/default.nix b/hosts/pike/default.nix index 2248933..94b79e2 100644 --- a/hosts/pike/default.nix +++ b/hosts/pike/default.nix @@ -169,4 +169,16 @@ enable = true; algorithm = "zstd"; }; + + hardware.nvidia-container-toolkit.enable = true; + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.nvidia.open = true; + hardware.nvidia.prime = { + offload = { + enable = true; + enableOffloadCmd = true; + }; + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; } From 22b1484026f9a6ef02d460fd0eac03a56d2bad43 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Tue, 20 May 2025 09:41:29 +0200 Subject: [PATCH 03/21] Allow jellyfin access amule downloads --- modules/jellyfin/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/jellyfin/default.nix b/modules/jellyfin/default.nix index c9cdeaa..6586166 100644 --- a/modules/jellyfin/default.nix +++ b/modules/jellyfin/default.nix @@ -5,7 +5,10 @@ openFirewall = true; }; - users.users.jellyfin.extraGroups = [ "transmission" ]; + users.users.jellyfin.extraGroups = [ + "transmission" + "amule" + ]; environment.persistence."/persist".directories = [ config.services.jellyfin.dataDir From ff5359cd505156ba4da023e9307a29928a4eab43 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 May 2025 17:58:04 +0200 Subject: [PATCH 04/21] Disable `syncthing` --- hosts/kirk/default.nix | 2 -- hosts/picard/default.nix | 1 - hosts/pike/default.nix | 1 - hosts/sisko/default.nix | 1 - 4 files changed, 5 deletions(-) diff --git a/hosts/kirk/default.nix b/hosts/kirk/default.nix index 72cebd5..0ccd677 100644 --- a/hosts/kirk/default.nix +++ b/hosts/kirk/default.nix @@ -28,13 +28,11 @@ "pam" "wireguard-client" "greetd" - "syncthing" "mount-sisko" "adb" "binfmt" "prometheus-exporters" "alloy" - "syncthing" "zerotier" ] ++ [ ./disko.nix ]; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 3cbb5d2..353f639 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -31,7 +31,6 @@ "wireguard-client" "binfmt" "greetd" - "syncthing" "hass-poweroff" "forgejo-runners" "teamviewer" diff --git a/hosts/pike/default.nix b/hosts/pike/default.nix index 94b79e2..c1c2579 100644 --- a/hosts/pike/default.nix +++ b/hosts/pike/default.nix @@ -29,7 +29,6 @@ "wireguard-client" "binfmt" "greetd" - # "syncthing" "teamviewer" "sunshine" "mount-sisko" diff --git a/hosts/sisko/default.nix b/hosts/sisko/default.nix index 13a9b0d..665b722 100644 --- a/hosts/sisko/default.nix +++ b/hosts/sisko/default.nix @@ -26,7 +26,6 @@ "atuin" "immich" "paperless" - "syncthing" "atticd" "jellyfin" "matrix" From 5692a37c88d6a53e938d0e701a9335040f4e6b75 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 May 2025 17:58:22 +0200 Subject: [PATCH 05/21] Add `org-roam-download` --- hmModules/emacs/init.el | 7 +++++++ packages/emacs/packages.nix | 1 + 2 files changed, 8 insertions(+) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 7959261..305ffeb 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -1027,6 +1027,13 @@ This is meant to be an helper to be called from the window manager." org-roam-ui-update-on-save t org-roam-ui-open-on-start nil)) +(use-package org-download + :after org + :custom (org-download-image-dir (concat org-roam-directory "/images")) + :bind + (:map org-mode-map + (("M-p" . org-download-clipboard)))) + (use-package gptel :custom (gptel-model 'google/gemini-2.5-flash-preview) diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index 9ab2c44..4852658 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -188,6 +188,7 @@ let org-roam org-roam-ql org-roam-ui + org-download visual-fill-column consult-org-roam pass From fd793b791d0902820bdaf5783fe5762a8875dd87 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 May 2025 17:58:55 +0200 Subject: [PATCH 06/21] Backup roam directory with unison --- hmModules/unison/default.nix | 24 ++++++++++++++++++++++++ hosts/picard/default.nix | 1 + hosts/sisko/default.nix | 1 + 3 files changed, 26 insertions(+) create mode 100644 hmModules/unison/default.nix diff --git a/hmModules/unison/default.nix b/hmModules/unison/default.nix new file mode 100644 index 0000000..081f052 --- /dev/null +++ b/hmModules/unison/default.nix @@ -0,0 +1,24 @@ +{ pkgs, lib, ... }: +{ + home.packages = [ pkgs.unison ]; + services.unison = { + enable = true; + pairs = { + "roam" = { + roots = [ + # Pair of roots to synchronize + "/home/ccr/roam" + "ssh://root@sisko.wg.aciceri.dev//mnt/hd/roam" + ]; + commandOptions = { + auto = "true"; + batch = "true"; + log = "false"; + repeat = "watch"; + sshcmd = lib.getExe pkgs.openssh; + ui = "text"; + }; + }; + }; + }; +} diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 353f639..02271ff 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -98,6 +98,7 @@ "pantalaimon" "moonlight" "gimp" + "unison" ]; extraGroups = [ "plugdev" ]; backupPaths = [ ]; diff --git a/hosts/sisko/default.nix b/hosts/sisko/default.nix index 665b722..e4a3c17 100644 --- a/hosts/sisko/default.nix +++ b/hosts/sisko/default.nix @@ -113,6 +113,7 @@ environment.systemPackages = with pkgs; [ cifs-utils + unison ]; powerManagement.scsiLinkPolicy = "med_power_with_dipm"; From a7f927516e7d0116f3994888ca464ba5a14e36d1 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 May 2025 17:59:21 +0200 Subject: [PATCH 07/21] Format --- hmModules/emacs/init.el | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 305ffeb..b299d99 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -970,23 +970,23 @@ This is meant to be an helper to be called from the window manager." "Check if node was created in given time range" #'org-roam-node-date #'(lambda (node-date start-date end-date) - (let ((node-date (condition-case nil - ;; if the entry is not from the journal (i.e. the filename is not something like "2024-10-10.org") - ;; then it's always discarded (the epoch time is given to it) - (encode-time (org-parse-time-string node-date)) - (error (encode-time (org-parse-time-string "<1970-01-01>"))))) - (start-date (encode-time (org-parse-time-string start-date))) - (end-date (encode-time (org-parse-time-string end-date)))) - (and (time-less-p start-date node-date) - (time-less-p node-date end-date))) - )) + (let ((node-date (condition-case nil + ;; if the entry is not from the journal (i.e. the filename is not something like "2024-10-10.org") + ;; then it's always discarded (the epoch time is given to it) + (encode-time (org-parse-time-string node-date)) + (error (encode-time (org-parse-time-string "<1970-01-01>"))))) + (start-date (encode-time (org-parse-time-string start-date))) + (end-date (encode-time (org-parse-time-string end-date)))) + (and (time-less-p start-date node-date) + (time-less-p node-date end-date))) + )) (defun ccr/org-roam-spent-hours (client &optional date-start date-end) "Return the total spent hours on something (usually a client)" (let* ((query-tags `(tags ,client "billable")) - (query (if (and date-start date-end) - `(and ,query-tags (date-range ,date-start ,date-end)) - query-tags))) + (query (if (and date-start date-end) + `(and ,query-tags (date-range ,date-start ,date-end)) + query-tags))) (apply #'+(mapcar #'org-roam-node-spent (org-roam-ql-nodes query)))))) (use-package org-roam-ql @@ -1064,7 +1064,7 @@ This is meant to be an helper to be called from the window manager." (defun ccr/edit-buffer (buffer-name old-string new-string) "In BUFFER-NAME, replace OLD-STRING with NEW-STRING." (with-current-buffer buffer-name - (let ((case-fold-search nil)) ;; Case-sensitive search + (let ((case-fold-search nil)) ;; Case-sensitive search (save-excursion (goto-char (point-min)) (let ((count 0)) From 6d715d8878bbeeebc9592a9143a3f4969ff259de Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 May 2025 17:59:27 +0200 Subject: [PATCH 08/21] Rename org-roam directory --- hmModules/emacs/init.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index b299d99..0373bc6 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -927,7 +927,7 @@ This is meant to be an helper to be called from the window manager." (require 'org-roam-protocol) :custom (org-roam-v2-ack t) - (org-roam-directory (file-truename "~/org")) + (org-roam-directory (file-truename "~/roam")) (org-roam-complete-everywhere 't) (org-roam-dailies-capture-templates '( From 24a80896a820f63d45587b3970281a3e54512603 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 May 2025 17:59:56 +0200 Subject: [PATCH 09/21] New gptel tools --- hmModules/emacs/init.el | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 0373bc6..1686c97 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -1159,6 +1159,23 @@ This is meant to be an helper to be called from the window manager." :type string :description "The text to append to the buffer.")) :category "emacs") + ,(gptel-make-tool + :function (lambda (buffer text) + (with-current-buffer (get-buffer-create buffer) + (save-excursion + (goto-char (point-max)) + (insert text))) + (format "Appended text to buffer %s" buffer)) + :name "append_to_buffer" + :description "Append text to an Emacs buffer. If the buffer does not exist, it will be created." + :confirm t + :args (list '(:name "buffer" + :type string + :description "The name of the buffer to append text to.") + '(:name "text" + :type string + :description "The text to append to the buffer.")) + :category "emacs") ,(gptel-make-tool :name "EditBuffer" :function #'ccr/edit-buffer @@ -1192,6 +1209,22 @@ This is meant to be an helper to be called from the window manager." :description "Content to write to the buffer" :required t)) :category "edit") + ,(gptel-make-tool + :function (lambda (title body) + (org-roam-capture- + :templates `(("d" "" plain "%?" :target (file+head "%<%Y%m%d%H%M%S>-${slug}.org" ,(concat "#+title: ${title}\n\n" body)))) ; override default template + :node (org-roam-node-create :title title) + :props '(:unnarrowed 't :tags "gptel")) + ) + :name "create_org_roam_note" + :description "Create a new org-roam note." + :args (list '(:name "title" + :type string + :description "The name of the note to create. Try to automatically infere it and ask only if dubious.") + '(:name "body" + :type string + :description "The body of the note write in an org language, aovoid starting with an headline as first line. Feel free to exploit the org syntax.")) + :category "org-roam") )) From 9b907264c29530267b23c6f8ce9f233966539903 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 May 2025 21:03:24 +0200 Subject: [PATCH 10/21] Disable subscript after `_` --- hmModules/emacs/init.el | 55 ++++++++++++++++++++-------------------- secrets/arbi-config.age | Bin 0 -> 439 bytes 2 files changed, 28 insertions(+), 27 deletions(-) create mode 100644 secrets/arbi-config.age diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 1686c97..a451093 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -786,35 +786,36 @@ (use-package org :hook ((org-mode . variable-pitch-mode) - (org-mode . visual-line-mode) - (org-mode . visual-fill-column-mode)) + (org-mode . visual-line-mode) + (org-mode . visual-fill-column-mode)) :custom ((org-log-done nil) - (org-return-follows-link t) - (org-hide-emphasis-markers t) - (visual-fill-column-center-text t) - (visual-fill-column-width 100) - (fill-column 100) - (org-capture-templates '( - ("j" "Work Log Entry" - entry (file+datetree "~/org/work-log.org") - "* %?" - :empty-lines 0) - ("n" "Note" - entry (file+headline "~/org/notes.org" "Random Notes") - "** %?" - :empty-lines 0) - )) - (org-auto-align-tags nil) - (org-tags-column 0) - (org-catch-invisible-edits 'show-and-error) - (org-special-ctrl-a/e t) - (org-insert-heading-respect-content t) - (org-pretty-entities t) - (org-ellipsis "…") - ) + (org-return-follows-link t) + (org-hide-emphasis-markers t) + (visual-fill-column-center-text t) + (visual-fill-column-width 100) + (fill-column 100) + (org-capture-templates '( + ("j" "Work Log Entry" + entry (file+datetree "~/org/work-log.org") + "* %?" + :empty-lines 0) + ("n" "Note" + entry (file+headline "~/org/notes.org" "Random Notes") + "** %?" + :empty-lines 0) + )) + (org-auto-align-tags nil) + (org-tags-column 0) + (org-catch-invisible-edits 'show-and-error) + (org-special-ctrl-a/e t) + (org-insert-heading-respect-content t) + (org-pretty-entities t) + (org-ellipsis "…") + (org-use-sub-superscripts nil) + ) :bind (("C-c o l" . org-store-link) - ("C-c o c" . org-capture) - ("C-c b o" . org-switchb)) + ("C-c o c" . org-capture) + ("C-c b o" . org-switchb)) :config (defun ccr/org-capture (key) "Capture a note using the template KEY and close the frame when done. diff --git a/secrets/arbi-config.age b/secrets/arbi-config.age new file mode 100644 index 0000000000000000000000000000000000000000..0e31ccf9da955e61bcfcaf0238a6550509765f84 GIT binary patch literal 439 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCTS$}soNEmz2QvMfs} z$;)#swoI`INcAfYHg*ijEC|f-DJ=Cb%q(_x%h%5|%``E|OXkWi@=0?EEb`6p3UW?N z%QB6~NDL}YtqjXeF0e>6_Y5_&)YdL?P4oy0v_Q8_yDTLr&r!iLE7`QFLf_Cc$-JPf z+}kzVw9vgU!!_5-*~{IuyfP_UKhY%HG$SX_FrUjK-K(UyEIYTzG}t1fq_o`C$;>Cq zt0E%P#KOhRtfIJ7-_$rHC9tZ*G?YtMS63l2B3V1fu{0{x$2=>_H=|JBKQcHkCB?|s z)zH;2xg;d5AkW{_)U@2EG@Yxa{gA}hT8Wr{pCe)w)r5O@J9m^8eVKpbS(?#P2JYBr z`7%!wA5SmP4arcOYw%OXJ7t}D>20ai=PmZjM=Ia5nm_f%x;dri4_t45F2~#&abtg> z*^`1S6IGWV;>G@-7A)>qw$)Qz<0F&yrG~#g=RJd~ANFrKXCvt$BAed)&@$=d9;J=z XT<7oe(~%W9zI#m!&rNaFiV1T8`Ddkt literal 0 HcmV?d00001 From 7e92d092991e3ba82cddb09c1f2f10fdb65dbc26 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 May 2025 21:03:54 +0200 Subject: [PATCH 11/21] Format --- hmModules/emacs/init.el | 218 ++++++++++++++++++++-------------------- 1 file changed, 109 insertions(+), 109 deletions(-) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index a451093..1151520 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -163,8 +163,8 @@ :after marginalia :config (nerd-icons-completion-mode +1) :hook ( - (marginalia-mode . nerd-icons-completion-marginalia-setup) - (ibuffer-mode . nerd-icons-completion-marginalia-setup))) + (marginalia-mode . nerd-icons-completion-marginalia-setup) + (ibuffer-mode . nerd-icons-completion-marginalia-setup))) (use-package nerd-icons-ibuffer :hook (ibuffer-mode . nerd-icons-ibuffer-mode)) @@ -208,7 +208,7 @@ (treemacs-display-current-project-exclusively t) (treemacs-git-mode 'deferred) :bind (("C-c w t" . treemacs-select-window) - ("C-c o T" . treemacs)) + ("C-c o T" . treemacs)) ) (use-package meow @@ -219,8 +219,8 @@ (require 'meow-tree-sitter) (meow-tree-sitter-register-defaults) (add-hook 'after-make-frame-functions (defun ccr/meow--prepare-face (_) - (meow--prepare-face) - (remove-hook 'after-make-frame-functions 'ccr/meow--prepare-face))) + (meow--prepare-face) + (remove-hook 'after-make-frame-functions 'ccr/meow--prepare-face))) (add-to-list 'meow-mode-state-list '(eshell-mode . insert)) (add-to-list 'meow-mode-state-list '(eat-mode . insert)) (add-to-list 'meow-mode-state-list '(notmuch-hello-mode . insert)) @@ -331,44 +331,44 @@ "Interactively vertically resize the window" (interactive "cHit >/< to enlarge/shrink") (cond ((eq key (string-to-char ">")) - (enlarge-window-horizontally ccr/v-resize-amount) - (call-interactively 'ccr/v-resize)) - ((eq key (string-to-char "<")) - (enlarge-window-horizontally (- ccr/v-resize-amount)) - (call-interactively 'ccr/v-resize)) - (t (push key unread-command-events)))) + (enlarge-window-horizontally ccr/v-resize-amount) + (call-interactively 'ccr/v-resize)) + ((eq key (string-to-char "<")) + (enlarge-window-horizontally (- ccr/v-resize-amount)) + (call-interactively 'ccr/v-resize)) + (t (push key unread-command-events)))) (defun ccr/h-resize (key) "Interactively horizontally resize the window" (interactive "cHit >/< to enlarge/shrink") (cond ((eq key (string-to-char ">")) - (enlarge-window ccr/h-resize-amount) - (call-interactively 'ccr/h-resize)) - ((eq key (string-to-char "<")) - (enlarge-window (- ccr/h-resize-amount)) - (call-interactively 'ccr/h-resize)) - (t (push key unread-command-events)))) + (enlarge-window ccr/h-resize-amount) + (call-interactively 'ccr/h-resize)) + ((eq key (string-to-char "<")) + (enlarge-window (- ccr/h-resize-amount)) + (call-interactively 'ccr/h-resize)) + (t (push key unread-command-events)))) :bind (("C-c w k" . windmove-up) - ("C-c w l" . windmove-right) - ("C-c w j" . windmove-down) - ("C-c w h" . windmove-left) - ("M-k" . windmove-up) - ("M-l" . windmove-right) - ("M-j" . windmove-down) - ("M-h" . windmove-left) - ("C-c w " . windmove-up) - ("C-c w " . windmove-right) - ("C-c w " . windmove-down) - ("C-c w " . windmove-left) - ("C-c w q" . delete-window) - ("C-c w K" . windmove-delete-up) - ("C-c w L" . windmove-delete-right) - ("C-c w J" . windmove-delete-down) - ("C-c w H" . windmove-delete-left) - ("C-c w x" . kill-buffer-and-window) - ("C-c w v" . split-window-right) - ("C-c w s" . split-window-below) - ("C-c w V" . ccr/v-resize) - ("C-c w S" . ccr/h-resize))) + ("C-c w l" . windmove-right) + ("C-c w j" . windmove-down) + ("C-c w h" . windmove-left) + ("M-k" . windmove-up) + ("M-l" . windmove-right) + ("M-j" . windmove-down) + ("M-h" . windmove-left) + ("C-c w " . windmove-up) + ("C-c w " . windmove-right) + ("C-c w " . windmove-down) + ("C-c w " . windmove-left) + ("C-c w q" . delete-window) + ("C-c w K" . windmove-delete-up) + ("C-c w L" . windmove-delete-right) + ("C-c w J" . windmove-delete-down) + ("C-c w H" . windmove-delete-left) + ("C-c w x" . kill-buffer-and-window) + ("C-c w v" . split-window-right) + ("C-c w s" . split-window-below) + ("C-c w V" . ccr/v-resize) + ("C-c w S" . ccr/h-resize))) (use-package vertico :custom @@ -379,10 +379,10 @@ (vertico-cycle t) (vertico-mode t) :bind (:map vertico-map - (("DEL" . vertico-directory-delete-char) - ("C-DEL" . vertico-directory-delete-word) - ("M-q" . vertico-quick-insert) - ("C-q" . vertico-quick-exit)))) + (("DEL" . vertico-directory-delete-char) + ("C-DEL" . vertico-directory-delete-word) + ("M-q" . vertico-quick-insert) + ("C-q" . vertico-quick-exit)))) ;; (use-package vertico-posframe ;; :after vertico @@ -417,7 +417,7 @@ ("C-c f f" . consult-find) ("C-c F" . consult-ripgrep) ("C-c f" . consult-find) - ("C-c l" . consult-line) + ("C-c l" . consult-line) ("C-c L" . consult-focus-lines) ("C-c m" . consult-mark) ("C-c o o" . consult-outline) @@ -445,9 +445,9 @@ (tab-always-indent 'complete) (kind-icon-default-face 'corfu-default) :bind (:map corfu-map - (("M-d" . corfu-doc-toggle) - ("M-l" . corfu-show-location) - ("SPC" . corfu-insert-separator))) + (("M-d" . corfu-doc-toggle) + ("M-l" . corfu-show-location) + ("SPC" . corfu-insert-separator))) :init (global-corfu-mode)) @@ -458,7 +458,7 @@ (use-package prog-mode :hook ((prog-mode . hl-line-mode) - (prog-mode . display-line-numbers-mode))) + (prog-mode . display-line-numbers-mode))) (use-package which-key :delight :config (which-key-mode) @@ -500,28 +500,28 @@ (use-package nix-ts-mode :hook ( - (nix-ts-mode . (lambda () - (require 'eglot) - (add-to-list 'eglot-server-programs - '(nix-ts-mode . ("nixd"))) - (eglot-ensure))) - (nix-ts-mode . electric-pair-mode) - (nix-ts-mode . (lambda () (setq-local indent-bars-spacing-override 2) (indent-bars-mode))) - (nix-ts-mode . (lambda () - (setq-local - treesit-font-lock-settings - (append treesit-font-lock-settings - (treesit-font-lock-rules - :language 'nix - :feature 'function - :override t - `((formal) @font-lock-type-face) - - :language 'nix - :feature 'function - `((attrpath) @font-lock-function-name-face) - ))))) - ) + (nix-ts-mode . (lambda () + (require 'eglot) + (add-to-list 'eglot-server-programs + '(nix-ts-mode . ("nixd"))) + (eglot-ensure))) + (nix-ts-mode . electric-pair-mode) + (nix-ts-mode . (lambda () (setq-local indent-bars-spacing-override 2) (indent-bars-mode))) + (nix-ts-mode . (lambda () + (setq-local + treesit-font-lock-settings + (append treesit-font-lock-settings + (treesit-font-lock-rules + :language 'nix + :feature 'function + :override t + `((formal) @font-lock-type-face) + + :language 'nix + :feature 'function + `((attrpath) @font-lock-function-name-face) + ))))) + ) :mode "\\.nix\\'" ) @@ -533,33 +533,33 @@ (use-package python-ts-mode :hook ((python-ts-mode . (lambda () - (require 'eglot) - (add-to-list 'eglot-server-programs - '(python-ts-mode . ("jedi-language-server"))) - (eglot-ensure)))) + (require 'eglot) + (add-to-list 'eglot-server-programs + '(python-ts-mode . ("jedi-language-server"))) + (eglot-ensure)))) :mode "\\.py\\'") (use-package solidity-mode :hook ((solidity-mode . (lambda () - (require 'eglot) - (add-to-list 'eglot-server-programs - '(solidity-mode . ("nomicfoundation-solidity-language-server" "--stdio"))) - (eglot-ensure)))) + (require 'eglot) + (add-to-list 'eglot-server-programs + '(solidity-mode . ("nomicfoundation-solidity-language-server" "--stdio"))) + (eglot-ensure)))) :mode "\\.sol\\'") (use-package typescript-ts-mode :hook ((typescript-ts-mode . (lambda () - (require 'eglot) - (eglot-ensure)))) + (require 'eglot) + (eglot-ensure)))) :mode "\\.ts\\'") (use-package rust-mode :init (setq rust-mode-treesitter-derive t) :hook ((rust-mode . (lambda () - (require 'eglot) - (eglot-ensure))))) + (require 'eglot) + (eglot-ensure))))) (use-package haskell-ts-mode :hook ((haskell--ts-mode . eglot-ensure)) @@ -581,11 +581,11 @@ :after eglot :config (add-to-list 'eglot-server-programs - '(terraform-mode . ("terraform-lsp"))) + '(terraform-mode . ("terraform-lsp"))) :hook ((terraform-mode . eglot-ensure) - ;; (terraform-mode . tree-sitter-hl-mode) - (terraform-mode . (lambda () (setq indent-bars-spacing-override 2) (indent-bars-mode))) - )) + ;; (terraform-mode . tree-sitter-hl-mode) + (terraform-mode . (lambda () (setq indent-bars-spacing-override 2) (indent-bars-mode))) + )) (use-package yaml-mode :hook (yaml-mode . yaml-ts-mode)) @@ -629,7 +629,7 @@ (use-package aggressive-indent :hook ((lisp-mode . aggressive-indent-mode) - (emacs-lisp-mode . aggressive-indent-mode))) + (emacs-lisp-mode . aggressive-indent-mode))) (use-package eldoc :delight) @@ -679,8 +679,8 @@ (eat-eshell-mode) (eat-eshell-visual-command-mode) :custom ((eshell-prefer-lisp-functions t) - (eshell-history-size 10000) - (eshell-banner-message "")) + (eshell-history-size 10000) + (eshell-banner-message "")) :config (defun ccr/start-eshell () ;; Used from outside Emacs by emacsclient --eval (eshell 'N) @@ -694,17 +694,17 @@ ;; (add-to-list 'eshell-modules-list 'eshell-smart) ;; plan 9 style (setq ccr/eshell-aliases - '((g . magit) - (gl . magit-log) - (d . dired) - (o . find-file) - (oo . find-file-other-window) - (l . (lambda () (eshell/ls '-la))) - (eshell/clear . eshell/clear-scrollback))) + '((g . magit) + (gl . magit-log) + (d . dired) + (o . find-file) + (oo . find-file-other-window) + (l . (lambda () (eshell/ls '-la))) + (eshell/clear . eshell/clear-scrollback))) (mapc (lambda (alias) - (defalias (car alias) (cdr alias))) - ccr/eshell-aliases) + (defalias (car alias) (cdr alias))) + ccr/eshell-aliases) (defun ccr/eshell-get-current-input () @@ -712,35 +712,35 @@ (when (eq major-mode 'eshell-mode) (let ((start (save-excursion (eshell-bol) (point))) (end (point-at-eol))) - (buffer-substring-no-properties start end)))) + (buffer-substring-no-properties start end)))) (defun ccr/eshell-replace-current-input (new-input) (when (eq major-mode 'eshell-mode) (let ((inhibit-read-only t)) - (eshell-bol) - (delete-region (point) (point-at-eol)) - (insert new-input) - (end-of-line)))) + (eshell-bol) + (delete-region (point) (point-at-eol)) + (insert new-input) + (end-of-line)))) (defun ccr/eshell-history () (interactive) (when (eq major-mode 'eshell-mode) (let* ((current-input (ccr/eshell-get-current-input)) (eshell-history (when (and eshell-history-file-name - (file-readable-p eshell-history-file-name)) + (file-readable-p eshell-history-file-name)) (f-read-text eshell-history-file-name))) (bash-history (when (file-readable-p "~/.bash_history") (f-read-text "~/.bash_history"))) (history (split-string (concat (or eshell-history "") "\n" (or bash-history "")) "\n" t)) (selection (completing-read "History: " history nil t current-input))) - (ccr/eshell-replace-current-input selection)))) + (ccr/eshell-replace-current-input selection)))) :bind (("C-c o e" . project-eshell) - (:map eshell-mode-map - ("C-r" . ccr/eshell-history) - ("C-" . corfu-send) - ))) ;; i.e. just C-r in semi-char-mode + (:map eshell-mode-map + ("C-r" . ccr/eshell-history) + ("C-" . corfu-send) + ))) ;; i.e. just C-r in semi-char-mode (use-package eshell-command-not-found :custom ((eshell-command-not-found-command "command-not-found")) @@ -757,7 +757,7 @@ (use-package eshell-prompt-extras :custom ((eshell-highlight-prompt nil) - (eshell-prompt-function 'epe-theme-lambda))) + (eshell-prompt-function 'epe-theme-lambda))) (use-package popper :custom From 1fd1c845e8514ed5f4fec2082bd1fdd874917e6c Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 May 2025 21:04:04 +0200 Subject: [PATCH 12/21] Move `arbi` configuration file to secrets --- hosts/default.nix | 1 + modules/arbi/default.nix | 8 ++------ secrets/secrets.nix | 4 ++++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/hosts/default.nix b/hosts/default.nix index 1b21982..3ac0ce9 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -119,6 +119,7 @@ group = "forgejo"; }; "matrix-registration-shared-secret".owner = "matrix-synapse"; + "arbi-config".owner = "arbi"; }; }; diff --git a/modules/arbi/default.nix b/modules/arbi/default.nix index 02ab9e5..3417b51 100644 --- a/modules/arbi/default.nix +++ b/modules/arbi/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, ... }: let rev = "d531730d9640160f0519ef4b3640f8da49dd96f8"; arbi-flake = builtins.getFlake "git+ssh://git@github.com/aciceri/arbi.git?rev=${rev}"; @@ -9,11 +9,7 @@ in services.arbi = { enable = true; log_level = "debug"; - configFile = pkgs.writeText "arbi-config.kdl" '' - endpoint "wss://eth-mainnet.g.alchemy.com/v2/" - pairs_file "pairs.json" - concurrency 4 - ''; + configFile = config.age.secrets.arbi-config.path; }; environment.persistence."/persist".directories = [ diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 7b341b1..3ab2d98 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -153,6 +153,10 @@ with keys.users; ccr-ssh sisko ]; + "arbi-config.age".publicKeys = [ + ccr-ssh + sisko + ]; # WireGuard "picard-wireguard-private-key.age".publicKeys = [ From 146eee5abea971906e7b462d077ecef3fb4cd64a Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Fri, 23 May 2025 21:08:32 +0200 Subject: [PATCH 13/21] Fix typo --- hmModules/emacs/init.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 1151520..f8453e6 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -929,7 +929,7 @@ This is meant to be an helper to be called from the window manager." :custom (org-roam-v2-ack t) (org-roam-directory (file-truename "~/roam")) - (org-roam-complete-everywhere 't) + (org-roam-completion-everywhere 't) (org-roam-dailies-capture-templates '( ("d" "Generic entry" entry From 6cd58095e48f990c0eeb47cec6f2d54bc3a1a161 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Fri, 23 May 2025 21:08:37 +0200 Subject: [PATCH 14/21] Keybinding for quick fixes --- hmModules/emacs/init.el | 1 + 1 file changed, 1 insertion(+) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index f8453e6..8bf2c20 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -28,6 +28,7 @@ (eglot-events-buffer-size 0) ; disable events logging, it should be enabled only when debuggigng LSP servers (eglot-sync-connect-nil 0) ; disable UI freeze when opening big files (eglot-connect-timeout nil) ; never timeout + :bind (("C-q" . eglot-code-action-quickfix)) ) (use-package consult-eglot From 8e28001eab06f7efa98c52a3980cf6eae7bc9422 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Fri, 23 May 2025 21:08:53 +0200 Subject: [PATCH 15/21] Org-roam changes --- hmModules/emacs/init.el | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 8bf2c20..843265a 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -945,20 +945,14 @@ This is meant to be an helper to be called from the window manager." (org-roam-capture-ref-templates '( ("r" "Web entry" entry - "* ${Title} \n:PROPERTIES:\n:URL: ${ref}\n:END:\n %i" - :target (file+head "daily/%<%Y-%m-%d>.org" "#+TITLE: %<%Y-%m-%d>") + "** %i \n:PROPERTIES:\n:URL: ${ref}\n:END:" + :target (file+olp "inbox.org" ("Web entries")) :create-id t) ) ) :config (org-roam-db-autosync-mode) - ;; In order to automatically add an org id for some capture templates (using the :create-id keyword) - (defun ccr/org-capture-maybe-create-id () - (when (org-capture-get :create-id) - (org-id-get-create))) - (add-hook 'org-capture-mode-hook #'ccr/org-capture-maybe-create-id) - ;; The following functions name are relevant because org-roam-ql columns in queries use their suffix (defun org-roam-node-spent (node) "Return the hours spent as number" @@ -989,7 +983,9 @@ This is meant to be an helper to be called from the window manager." (query (if (and date-start date-end) `(and ,query-tags (date-range ,date-start ,date-end)) query-tags))) - (apply #'+(mapcar #'org-roam-node-spent (org-roam-ql-nodes query)))))) + (apply #'+(mapcar #'org-roam-node-spent (org-roam-ql-nodes query))))) + :bind + (("C-c n i" . org-roam-node-insert))) (use-package org-roam-ql :after org-roam From c8e32b689bfaa75c47db940a3679bf1990a24be6 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Fri, 23 May 2025 21:32:11 +0200 Subject: [PATCH 16/21] Add `netrc` secret --- secrets/nix-netrc.age | Bin 0 -> 1558 bytes secrets/secrets.nix | 7 +++++++ 2 files changed, 7 insertions(+) create mode 100644 secrets/nix-netrc.age diff --git a/secrets/nix-netrc.age b/secrets/nix-netrc.age new file mode 100644 index 0000000000000000000000000000000000000000..7b0438f51792139cfc5411d21633bbda8cd428b9 GIT binary patch literal 1558 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCTS$}soNEmsI}E-rBQ z@O2KV3NOlYHS>>f4|Dd5u*`P%3kpn2$xJE@ax}KEERHJ7b>#BNDv3z6G`B2@D)!6v zaZmLKEOGX7GVqN^F3EQ+_9zcDG%~3)EqC-PO-Hv)yDTLr&ru;gI3qPT)iAT5Fu>Ks z)zs3ZxYRu?*{L+#!X(+kG0fjNtRU4btT?mEu$ZgNsUpub!X-c0-9p=}AlE3IsgObuj z3+Gh*ykbXlZG+50&&2$+NY}uEOjjY^uu#KebN;|gCjCiGON6@s*F-|Bi$TLyp3EvDoV0)%rl)L zEY0%Wsw!PdbILu+-O9N<6SeaTTr10sON&!d%FT@RQ=Ky`tIBeU91D`tj8Y0LGmT8m z{EDOU3W_motMo~64^+^0G0ID=Gzm8IN>9!TO-}T$a8C*j4@j}BNRA3i(XNd2tn?1{ zu}sNw_vOlT$u=%G^3~2twJ3EjHpntccgf2M@T|)9kI2X__bu>rElP1q@iojh%jVM6 z)m1Qy@DDN!^f&YjbT-Hf%FJ{04|Vda3@h{s4@xs|vUG9wtO!Xh()KC$H{eQ`F1a9i zq38h#hPQ#9msej*b?gC1L;4JyJ{W zZOG1<5tjO6eg2K-3>VJq)Kpumf8w$IKhHOBR!b@fAIn&n{Qu!!@7D`=HLu;+ms-15 z>EV^v`<}WoKHqMf%@(2YE6(*`Q~5*wmXk@(PBghSCGI;h+CSB6@6{jNqx}1$p3}S(-O42@ zrtEQllYH)8o@>bZZKAA+kG%b-vW`c)uj_pIdwPcMSN)|w_O!Pge&l;DXDQQCCYP=` zB5}WCbPt7A)|}n4>O=3AY2Q?Xe#9>RviV*7#`a~~%dDII{4Rz2eTgXfb$rjZhCOSZ zch6rX^5&pbz=oy2-`XTU`@j-?^w^s-OIY6&bY#qYsC1j@OuO{z*h5DqOkZ=qEOA%n zhf{DvGvO+_KDe6(`rqU@HT2mvM>&mtpGbr5V+VVx^;*N-@by2SM4bK-}P|z{iRXVdY zM0s)TwBrq0>wMKRp5&b5F5kT7(9Ca~vTs)0dK7oMZC%XYC(VV+t;P8pmR7vjyU($k z{m1sQxg5pqT`bicB^$PW4C>s;@+5?(>G|Dl%bn9K*DqpZc$MN@rN_HS#mBTqE0ZJO z>Y-q1gRHy0$0ag0@mccos8>`4?fe*Vcx6d->iVj~J~B_6&Z$?ct0|eDESp=S@?zU> z-%HkK^6DRM7no61U0;^N(Dve#+bgX*pExHzJeSm(QX0Z-o4h7W@RdRTF%?q)Z>^v% literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 3ab2d98..fd1bca9 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -157,6 +157,13 @@ with keys.users; ccr-ssh sisko ]; + "nix-netrc.age".publicKeys = [ + ccr-ssh + sisko + pike + picard + kirk + ]; # WireGuard "picard-wireguard-private-key.age".publicKeys = [ From ddfb93214f3e8b08f4ba20305b212c16f6c4fef0 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Fri, 23 May 2025 21:32:34 +0200 Subject: [PATCH 17/21] Use `netrc` provided by agenix --- modules/nix/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nix/default.nix b/modules/nix/default.nix index 000ede4..59f2692 100644 --- a/modules/nix/default.nix +++ b/modules/nix/default.nix @@ -20,7 +20,7 @@ "root" "@wheel" ]; - netrc-file = "/etc/nix/netrc"; + netrc-file = config.age.secrets.nix-netrc.path; substituters = [ # "s3://cache?profile=default®ion=eu-south-1&scheme=https&endpoint=cache.aciceri.dev" "https://cache.iog.io" From 959016455f865cef60f6c080a2b5c082a634ac76 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Fri, 23 May 2025 21:32:48 +0200 Subject: [PATCH 18/21] Remove unused caches --- modules/nix/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/nix/default.nix b/modules/nix/default.nix index 59f2692..ef46e63 100644 --- a/modules/nix/default.nix +++ b/modules/nix/default.nix @@ -22,18 +22,18 @@ ]; netrc-file = config.age.secrets.nix-netrc.path; substituters = [ - # "s3://cache?profile=default®ion=eu-south-1&scheme=https&endpoint=cache.aciceri.dev" "https://cache.iog.io" "https://cache.lix.systems" "https://nix-community.cachix.org" - "https://mlabs.cachix.org" + # "https://mlabs.cachix.org" + "http://sisko.wg.aciceri.dev:8081/nixfleet" ]; trusted-public-keys = [ - # "cache.aciceri.dev~1:nJMfcBnYieY2WMbYDG0s9S5qUhU+V4RPL+X9zcxXxZY=" "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "mlabs.cachix.org-1:gStKdEqNKcrlSQw5iMW6wFCj3+b+1ASpBVY2SYuNV2M=" + # "mlabs.cachix.org-1:gStKdEqNKcrlSQw5iMW6wFCj3+b+1ASpBVY2SYuNV2M=" + "nixfleet:Bud23440n6mMTmgq/7U+mk91zlLjnx2X3lQQrCBCCU4=" ]; deprecated-features = [ "url-literals" ]; }; From 7188dbf66579fe9c443f38157cb9ba8239afad4e Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Fri, 23 May 2025 21:34:13 +0200 Subject: [PATCH 19/21] Add `nix-netrc` secret to `picard`, `pike`, `kirk` and `sisko` --- hosts/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/default.nix b/hosts/default.nix index 3ac0ce9..efdd865 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -59,6 +59,7 @@ "git-workspace-tokens".owner = "ccr"; "autistici-password".owner = "ccr"; "restic-hetzner-password" = { }; + "nix-netrc" = { }; }; }; @@ -87,6 +88,7 @@ "restic-hetzner-password" = { }; "forgejo-runners-token".owner = "nixuser"; "forgejo-nix-access-tokens".owner = "nixuser"; + "nix-netrc" = { }; }; }; @@ -120,6 +122,7 @@ }; "matrix-registration-shared-secret".owner = "matrix-synapse"; "arbi-config".owner = "arbi"; + "nix-netrc" = { }; }; }; @@ -143,6 +146,7 @@ "cachix-personal-token".owner = "ccr"; "git-workspace-tokens".owner = "ccr"; "autistici-password".owner = "ccr"; + "nix-netrc" = { }; }; }; From 81da82c1fb5f98ef4dae65d11b635524935fd9bc Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Sat, 24 May 2025 10:12:20 +0200 Subject: [PATCH 20/21] Backup `/mnt/hd/roam` directory with restic --- modules/restic/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/restic/default.nix b/modules/restic/default.nix index 52cd712..f973ce9 100644 --- a/modules/restic/default.nix +++ b/modules/restic/default.nix @@ -42,6 +42,7 @@ in "/persist" "/mnt/hd/immich" "/mnt/hd/paperless" + "/mnt/hd/roam" ]; exclude = [ " /persist/var/lib/containers" ]; passwordFile = config.age.secrets.SISKO_RESTIC_PASSWORD.path; From 33175c575774c996ba6f5273bce9cccbbd5e4141 Mon Sep 17 00:00:00 2001 From: Seven of Nine Date: Mon, 26 May 2025 15:02:07 +0000 Subject: [PATCH 21/21] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'agenix': 'github:ryantm/agenix/96e078c646b711aee04b82ba01aefbff87004ded' (2025-04-26) → 'github:ryantm/agenix/4835b1dc898959d8547a871ef484930675cb47f1' (2025-05-18) • Updated input 'catppuccin': 'github:catppuccin/nix/a5db9e41a4dccfa5ffe38e6f1841a5f9ad5c5c04' (2025-05-02) → 'github:catppuccin/nix/0ba11b12be81f0849a89ed17ab635164ea8f0112' (2025-05-24) • Updated input 'disko': 'github:nix-community/disko/d0c543d740fad42fe2c035b43c9d41127e073c78' (2025-04-28) → 'github:nix-community/disko/a894f2811e1ee8d10c50560551e50d6ab3c392ba' (2025-05-26) • Updated input 'dream2nix': 'github:nix-community/dream2nix/8ce6284ff58208ed8961681276f82c2f8f978ef4' (2024-12-25) → 'github:nix-community/dream2nix/6fd6d9188f32efd1e1656b3c3e63a67f9df7b636' (2025-05-19) • Updated input 'emacs-overlay': 'github:nix-community/emacs-overlay/66bb2d7a4df96d0c1e63648850b7aed1b2e8d683' (2025-05-03) → 'github:nix-community/emacs-overlay/e048433838750a5fd9036e56dd8f59affa6d676b' (2025-05-26) • Updated input 'emacs-overlay/nixpkgs': 'github:NixOS/nixpkgs/f02fddb8acef29a8b32f10a335d44828d7825b78' (2025-05-01) → 'github:NixOS/nixpkgs/063f43f2dbdef86376cc29ad646c45c46e93234c' (2025-05-23) • Updated input 'emacs-overlay/nixpkgs-stable': 'github:NixOS/nixpkgs/bf3287dac860542719fe7554e21e686108716879' (2025-05-02) → 'github:NixOS/nixpkgs/f09dede81861f3a83f7f06641ead34f02f37597f' (2025-05-23) • Updated input 'git-hooks-nix': 'github:cachix/git-hooks.nix/dcf5072734cb576d2b0c59b2ac44f5050b5eac82' (2025-03-22) → 'github:cachix/git-hooks.nix/80479b6ec16fefd9c1db3ea13aeb038c60530f46' (2025-05-16) • Updated input 'homeManager': 'github:nix-community/home-manager/c0962eeeabfb8127713f859ec8a5f0e86dead0f2' (2025-05-03) → 'github:nix-community/home-manager/d23d20f55d49d8818ac1f1b2783671e8a6725022' (2025-05-26) • Updated input 'lanzaboote': 'github:nix-community/lanzaboote/995637eb3ab78eac33f8ee6b45cc2ecd5ede12ba' (2025-04-21) → 'github:nix-community/lanzaboote/2e425f3da6ce7f5b34fa6eaf7a2a7f78dbabcc85' (2025-05-12) • Updated input 'lanzaboote/crane': 'github:ipetkov/crane/bb1c9567c43e4434f54e9481eb4b8e8e0d50f0b5' (2025-03-09) → 'github:ipetkov/crane/dfd9a8dfd09db9aad544c4d3b6c47b12562544a5' (2025-05-03) • Updated input 'lanzaboote/flake-parts': 'github:hercules-ci/flake-parts/f4330d22f1c5d2ba72d3d22df5597d123fdb60a9' (2025-03-07) → 'github:hercules-ci/flake-parts/c621e8422220273271f52058f618c94e405bb0f5' (2025-04-01) • Updated input 'lanzaboote/pre-commit-hooks-nix': 'github:cachix/pre-commit-hooks.nix/b5a62751225b2f62ff3147d0a334055ebadcd5cc' (2025-03-07) → 'github:cachix/pre-commit-hooks.nix/fa466640195d38ec97cf0493d6d6882bc4d14969' (2025-05-06) • Updated input 'lanzaboote/rust-overlay': 'github:oxalica/rust-overlay/c777dc8a1e35407b0e80ec89817fe69970f4e81a' (2025-03-10) → 'github:oxalica/rust-overlay/5b07506ae89b025b14de91f697eba23b48654c52' (2025-05-12) • Updated input 'lix': 'git+https://git@git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=4e84fd9a0061a04627ec6962c0ed08c2ad0b8a7f' (2025-05-02) → 'git+https://git@git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=dbff52bfbc48ead789888bf24422d0ef6f7ba9a8' (2025-05-25) • Updated input 'lix-module': 'git+https://git.lix.systems/lix-project/nixos-module?ref=refs/heads/main&rev=fa69ae26cc32dda178117b46487c2165c0e08316' (2025-03-25) → 'git+https://git.lix.systems/lix-project/nixos-module?ref=refs/heads/main&rev=3c23c6ae2aecc1f76ae7993efe1a78b5316f0700' (2025-05-19) • Updated input 'mobile-nixos': 'github:NixOS/mobile-nixos/6679fd7a8dd4ccf4aa538b82216723861cfe61a2' (2025-04-05) → 'github:NixOS/mobile-nixos/6e249e58b5d8166738ebcfd401f05f7496049dd3' (2025-05-25) • Updated input 'nix-on-droid': 'github:nix-community/nix-on-droid/5d88ff2519e4952f8d22472b52c531bb5f1635fc' (2024-09-06) → 'github:nix-community/nix-on-droid/40b8c7465f78887279a0a3c743094fa6ea671ab1' (2025-05-16) • Updated input 'nixosHardware': 'github:NixOS/nixos-hardware/72081c9fbbef63765ae82bff9727ea79cc86bd5b' (2025-04-29) → 'github:NixOS/nixos-hardware/11f2d9ea49c3e964315215d6baa73a8d42672f06' (2025-05-22) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/f02fddb8acef29a8b32f10a335d44828d7825b78' (2025-05-01) → 'github:NixOS/nixpkgs/063f43f2dbdef86376cc29ad646c45c46e93234c' (2025-05-23) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/29ec5026372e0dec56f890e50dbe4f45930320fd' (2025-05-02) → 'github:numtide/treefmt-nix/1f3f7b784643d488ba4bf315638b2b0a4c5fb007' (2025-05-26) --- flake.lock | 130 ++++++++++++++++++++++++++--------------------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/flake.lock b/flake.lock index 474c3aa..c3bbb09 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1745630506, - "narHash": "sha256-bHCFgGeu8XjWlVuaWzi3QONjDW3coZDqSHvnd4l7xus=", + "lastModified": 1747575206, + "narHash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k=", "owner": "ryantm", "repo": "agenix", - "rev": "96e078c646b711aee04b82ba01aefbff87004ded", + "rev": "4835b1dc898959d8547a871ef484930675cb47f1", "type": "github" }, "original": { @@ -26,11 +26,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1746175539, - "narHash": "sha256-/wjcn1CDQqOhwOoYKS8Xp0KejrdXSJZQMF1CbbrVtMw=", + "lastModified": 1748080874, + "narHash": "sha256-sUebEzAkrY8Aq5G0GHFyRddmRNGP/a2iTtV7ISNvi/c=", "owner": "catppuccin", "repo": "nix", - "rev": "a5db9e41a4dccfa5ffe38e6f1841a5f9ad5c5c04", + "rev": "0ba11b12be81f0849a89ed17ab635164ea8f0112", "type": "github" }, "original": { @@ -41,11 +41,11 @@ }, "crane": { "locked": { - "lastModified": 1741481578, - "narHash": "sha256-JBTSyJFQdO3V8cgcL08VaBUByEU6P5kXbTJN6R0PFQo=", + "lastModified": 1746291859, + "narHash": "sha256-DdWJLA+D5tcmrRSg5Y7tp/qWaD05ATI4Z7h22gd1h7Q=", "owner": "ipetkov", "repo": "crane", - "rev": "bb1c9567c43e4434f54e9481eb4b8e8e0d50f0b5", + "rev": "dfd9a8dfd09db9aad544c4d3b6c47b12562544a5", "type": "github" }, "original": { @@ -83,11 +83,11 @@ ] }, "locked": { - "lastModified": 1745812220, - "narHash": "sha256-hotBG0EJ9VmAHJYF0yhWuTVZpENHvwcJ2SxvIPrXm+g=", + "lastModified": 1748225455, + "narHash": "sha256-AzlJCKaM4wbEyEpV3I/PUq5mHnib2ryEy32c+qfj6xk=", "owner": "nix-community", "repo": "disko", - "rev": "d0c543d740fad42fe2c035b43c9d41127e073c78", + "rev": "a894f2811e1ee8d10c50560551e50d6ab3c392ba", "type": "github" }, "original": { @@ -103,11 +103,11 @@ "pyproject-nix": "pyproject-nix" }, "locked": { - "lastModified": 1735160684, - "narHash": "sha256-n5CwhmqKxifuD4Sq4WuRP/h5LO6f23cGnSAuJemnd/4=", + "lastModified": 1747658429, + "narHash": "sha256-qZWuEdxmPx818qR61t3mMozJOvZSmTRUDPU4L3JeGgE=", "owner": "nix-community", "repo": "dream2nix", - "rev": "8ce6284ff58208ed8961681276f82c2f8f978ef4", + "rev": "6fd6d9188f32efd1e1656b3c3e63a67f9df7b636", "type": "github" }, "original": { @@ -122,11 +122,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1746240489, - "narHash": "sha256-DWMG7jkpxrEGzTZZerDqaxT8X983tibFGfNeoWtX1yU=", + "lastModified": 1748248657, + "narHash": "sha256-zqhc7qyoRmgZpkvjocYEui9xYlzL90nqPf40zADGruM=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "66bb2d7a4df96d0c1e63648850b7aed1b2e8d683", + "rev": "e048433838750a5fd9036e56dd8f59affa6d676b", "type": "github" }, "original": { @@ -191,11 +191,11 @@ ] }, "locked": { - "lastModified": 1741352980, - "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -282,11 +282,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -387,11 +387,11 @@ ] }, "locked": { - "lastModified": 1746243165, - "narHash": "sha256-DQycVmlyLQNLjLJ/FzpokVmbxGQ8HjQQ4zN4nyq2vII=", + "lastModified": 1748227609, + "narHash": "sha256-SaSdslyo6UGDpPUlmrPA4dWOEuxCy2ihRN9K6BnqYsA=", "owner": "nix-community", "repo": "home-manager", - "rev": "c0962eeeabfb8127713f859ec8a5f0e86dead0f2", + "rev": "d23d20f55d49d8818ac1f1b2783671e8a6725022", "type": "github" }, "original": { @@ -448,11 +448,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1745271491, - "narHash": "sha256-4GAHjus6JRpYHVROMIhFIz/sgLDF/klBM3UHulbSK9s=", + "lastModified": 1747056319, + "narHash": "sha256-qSKcBaISBozadtPq6BomnD+wIYTZIkiua3UuHLaD52c=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "995637eb3ab78eac33f8ee6b45cc2ecd5ede12ba", + "rev": "2e425f3da6ce7f5b34fa6eaf7a2a7f78dbabcc85", "type": "github" }, "original": { @@ -464,11 +464,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1746186329, - "narHash": "sha256-MLz0MjeVCaqvIvf5szUwNwYEiXC/lKWL0I2VS+6V/e0=", + "lastModified": 1748182888, + "narHash": "sha256-tm3yi3KL+KjMnLZFXKR1ioI/Rk8DIa2n1NNE6I99BpU=", "ref": "refs/heads/main", - "rev": "4e84fd9a0061a04627ec6962c0ed08c2ad0b8a7f", - "revCount": 17824, + "rev": "dbff52bfbc48ead789888bf24422d0ef6f7ba9a8", + "revCount": 17946, "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" }, @@ -489,11 +489,11 @@ ] }, "locked": { - "lastModified": 1742945498, - "narHash": "sha256-MB/b/xcDKqaVBxJIIxwb81r8ZiGLeKEcqokATRRroo8=", + "lastModified": 1747667424, + "narHash": "sha256-7EICjbmG6lApWKhFtwvZovdcdORY1CEe6/K7JwtpYfs=", "ref": "refs/heads/main", - "rev": "fa69ae26cc32dda178117b46487c2165c0e08316", - "revCount": 138, + "rev": "3c23c6ae2aecc1f76ae7993efe1a78b5316f0700", + "revCount": 144, "type": "git", "url": "https://git.lix.systems/lix-project/nixos-module" }, @@ -505,11 +505,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1743812405, - "narHash": "sha256-BedQ9Z3+nqtp9BRjHjJNPUeLIMVbTsP3Udbz0b1cUn0=", + "lastModified": 1748200777, + "narHash": "sha256-ELbQ7Apk0QzfhO8WjQIqEBuN2bEnGQHNxeiOSx/mU38=", "owner": "NixOS", "repo": "mobile-nixos", - "rev": "6679fd7a8dd4ccf4aa538b82216723861cfe61a2", + "rev": "6e249e58b5d8166738ebcfd401f05f7496049dd3", "type": "github" }, "original": { @@ -554,11 +554,11 @@ "nmd": "nmd" }, "locked": { - "lastModified": 1725658585, - "narHash": "sha256-P29z4Gt89n5ps1U7+qmIrj0BuRXGZQSIaOe2+tsPgfw=", + "lastModified": 1747382160, + "narHash": "sha256-nlHPjA5GH4wdwnAoOzCt7BVLUKtIAAW2ClNGz2OxTrs=", "owner": "nix-community", "repo": "nix-on-droid", - "rev": "5d88ff2519e4952f8d22472b52c531bb5f1635fc", + "rev": "40b8c7465f78887279a0a3c743094fa6ea671ab1", "type": "github" }, "original": { @@ -569,11 +569,11 @@ }, "nixosHardware": { "locked": { - "lastModified": 1745955289, - "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", + "lastModified": 1747900541, + "narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", + "rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06", "type": "github" }, "original": { @@ -647,11 +647,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1746183838, - "narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", + "lastModified": 1748037224, + "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bf3287dac860542719fe7554e21e686108716879", + "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", "type": "github" }, "original": { @@ -711,11 +711,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1746141548, - "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", + "lastModified": 1748026106, + "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", + "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", "type": "github" }, "original": { @@ -742,11 +742,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1746141548, - "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", + "lastModified": 1748026106, + "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", + "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", "type": "github" }, "original": { @@ -821,11 +821,11 @@ ] }, "locked": { - "lastModified": 1741379162, - "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", + "lastModified": 1746537231, + "narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", + "rev": "fa466640195d38ec97cf0493d6d6882bc4d14969", "type": "github" }, "original": { @@ -906,11 +906,11 @@ ] }, "locked": { - "lastModified": 1741573199, - "narHash": "sha256-A2sln1GdCf+uZ8yrERSCZUCqZ3JUlOv1WE2VFqqfaLQ=", + "lastModified": 1747017456, + "narHash": "sha256-C/U12fcO+HEF071b5mK65lt4XtAIZyJSSJAg9hdlvTk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "c777dc8a1e35407b0e80ec89817fe69970f4e81a", + "rev": "5b07506ae89b025b14de91f697eba23b48654c52", "type": "github" }, "original": { @@ -1009,11 +1009,11 @@ ] }, "locked": { - "lastModified": 1746216483, - "narHash": "sha256-4h3s1L/kKqt3gMDcVfN8/4v2jqHrgLIe4qok4ApH5x4=", + "lastModified": 1748243702, + "narHash": "sha256-9YzfeN8CB6SzNPyPm2XjRRqSixDopTapaRsnTpXUEY8=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "29ec5026372e0dec56f890e50dbe4f45930320fd", + "rev": "1f3f7b784643d488ba4bf315638b2b0a4c5fb007", "type": "github" }, "original": {