diff --git a/flake.lock b/flake.lock index d768841..dd65459 100644 --- a/flake.lock +++ b/flake.lock @@ -148,27 +148,6 @@ } }, "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "stylix", @@ -189,24 +168,6 @@ "type": "github" } }, - "flake-utils": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "fromYaml": { "flake": false, "locked": { @@ -640,34 +601,6 @@ "type": "github" } }, - "ixx": { - "inputs": { - "flake-utils": [ - "nixvim", - "nuschtosSearch", - "flake-utils" - ], - "nixpkgs": [ - "nixvim", - "nuschtosSearch", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1748294338, - "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", - "owner": "NuschtOS", - "repo": "ixx", - "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "ref": "v0.0.8", - "repo": "ixx", - "type": "github" - } - }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -850,29 +783,6 @@ "type": "github" } }, - "nixvim": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], - "nuschtosSearch": "nuschtosSearch", - "systems": "systems_3" - }, - "locked": { - "lastModified": 1750855714, - "narHash": "sha256-vgvO/5WL6n1kIVucgyiMcQfsI+WKt1/YoZDEonZw9fo=", - "owner": "nix-community", - "repo": "nixvim", - "rev": "e7e6cfd32b09b7218f8759e349824b7aecd7dec5", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixvim", - "type": "github" - } - }, "nmd": { "flake": false, "locked": { @@ -953,29 +863,6 @@ "type": "github" } }, - "nuschtosSearch": { - "inputs": { - "flake-utils": "flake-utils", - "ixx": "ixx", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1749730855, - "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", - "owner": "NuschtOS", - "repo": "search", - "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "repo": "search", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -1009,7 +896,6 @@ "nixCats": "nixCats", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", - "nixvim": "nixvim", "stylix": "stylix" } }, @@ -1037,13 +923,13 @@ "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", "flake-compat": "flake-compat_2", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts", "git-hooks": "git-hooks", "gnome-shell": "gnome-shell", "home-manager": "home-manager_2", "nixpkgs": "nixpkgs_3", "nur": "nur", - "systems": "systems_4", + "systems": "systems_2", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -1094,36 +980,6 @@ "type": "github" } }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_4": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "tinted-foot": { "flake": false, "locked": { diff --git a/modules/home-manager/emacs/emacs/init.el b/modules/home-manager/emacs/emacs/init.el index 6860d4b..af6b6ea 100644 --- a/modules/home-manager/emacs/emacs/init.el +++ b/modules/home-manager/emacs/emacs/init.el @@ -116,11 +116,15 @@ :custom (org-return-follows-link t) (org-hide-emphasis-markers t) - (org-capturen-templates + (org-log-into-drawer t) + (org-log-done 'time) + (org-todo-keywords + '((sequence "TODO(t)" "NEXT(n)" "HOLD(h@)" "|" "DONE(d)" "CANCELLED(c@/!)"))) + (org-capture-templates `(("i" "Inbox" entry (file "inbox.org") ,(concat "* TODO %?\n" "/Entered on/ %U")) - ("@" "Inbox [mu4e]" entry (file "inbox.org") + ("@" "Inbox [email]" entry (file "inbox.org") ,(concat "* TODO Process \"%a\" %?\n" "/Entered on/ %U")))) (org-refile-use-outline-path 'file) @@ -663,6 +667,39 @@ (mu4e-sent-folder . "/personal/Sent") (mu4e-trash-folder . "/personal/Trash")))))) +(use-package notmuch + :ensure t + :straight t + :bind (("C-c m" . notmuch-hello)) + :custom + (notmuch-saved-searches + '((:name "inbox (personal)" :query "tag:inbox AND tag:personal") + (:name "unread (personal)" :query "tag:unread AND tag:personal") + (:name "sent (personal)" :query "tag:sent AND tag:personal") + (:name "all mail (personal)" :query "tag:personal") + (:name "inbox (work)" :query "tag:inbox AND tag:work") + (:name "unread (work)" :query "tag:unread AND tag:work") + (:name "sent (work)" :query "tag:sent AND tag:work") + (:name "all mail (work)" :query "tag:work") + (:name "drafts" :query "tag:draft"))) + :init + (add-hook 'message-send-hook (lambda () + (let ((from (message-fetch-field "From"))) + (if (string-match-p (regexp-quote "michael@michaelthomson.dev") from) + (progn + (setq sendmail-program "msmtp") + (setq message-sendmail-extra-arguments nil)) + (progn + (setq sendmail-program "gmi") + (setq message-sendmail-extra-arguments '("send" "--quiet" "-t" "-C" "~/Maildir/work"))))))) + :config + (setq notmuch-fcc-dirs nil)) + +(use-package ol-notmuch + :ensure t + :straight t + :bind + ("C-c l" . org-store-link)) ;; epubs (use-package nov diff --git a/modules/home-manager/email.nix b/modules/home-manager/email.nix index 7f9dd86..5847531 100644 --- a/modules/home-manager/email.nix +++ b/modules/home-manager/email.nix @@ -67,6 +67,22 @@ }; notmuch = { enable = true; + new.tags = [ "new" ]; + hooks = { + postNew = '' + notmuch tag +personal "path:personal/**" + notmuch tag +work "path:work/**" + + notmuch tag +sent -new tag:new from:michael@michaelthomson.dev + notmuch tag +sent -new tag:new from:mthomson@konradgroup.com + + notmuch tag +inbox +unread -new "tag:new" + ''; + preNew = '' + mbsync -a + (cd ~/Maildir/work/ && gmi sync) + ''; + }; }; lieer = { enable = true; @@ -125,6 +141,25 @@ enable = true; }; }; + accounts.work = { + primary = false; + flavor = "gmail.com"; + address = "mthomson@konradgroup.com"; + realName = "Michael Thomson"; + aerc = { + enable = true; + }; + notmuch = { + enable = true; + }; + lieer = { + enable = true; + settings = { + replace_slash_with_dot = true; + ignore_tags = [ "new" "personal" "work" ]; + }; + }; + }; }; calendar = { basePath = ".calendar"; diff --git a/modules/home-manager/stylix.nix b/modules/home-manager/stylix.nix index 86804ac..15c4b64 100644 --- a/modules/home-manager/stylix.nix +++ b/modules/home-manager/stylix.nix @@ -6,7 +6,7 @@ lib, ... }: { imports = [ - inputs.stylix.homeManagerModules.stylix + inputs.stylix.homeModules.stylix ]; stylix = {