diff --git a/hosts/tahani/default.nix b/hosts/tahani/default.nix index fa9e67d..530c363 100644 --- a/hosts/tahani/default.nix +++ b/hosts/tahani/default.nix @@ -29,6 +29,7 @@ ../../profiles/nushell.nix ../../profiles/fzf.nix ../../profiles/git.nix + ../../profiles/himalaya.nix ../../profiles/home.nix ../../profiles/jjui.nix ../../profiles/jujutsu.nix diff --git a/hosts/tahani/secrets.nix b/hosts/tahani/secrets.nix index 1171210..de9e5b4 100644 --- a/hosts/tahani/secrets.nix +++ b/hosts/tahani/secrets.nix @@ -1,8 +1,13 @@ -{...}: { +{user, ...}: { sops.secrets = { tahani-paperless-password = { sopsFile = ../../secrets/tahani-paperless-password; format = "binary"; }; + tahani-email-password = { + sopsFile = ../../secrets/tahani-email-password; + format = "binary"; + owner = user; + }; }; } diff --git a/profiles/himalaya.nix b/profiles/himalaya.nix new file mode 100644 index 0000000..a2518eb --- /dev/null +++ b/profiles/himalaya.nix @@ -0,0 +1,33 @@ +{pkgs, ...}: { + programs.himalaya = { + enable = true; + package = pkgs.writeShellApplication { + name = "himalaya"; + runtimeInputs = [pkgs.himalaya]; + text = '' + exec env RUST_LOG="warn,imap_codec::response=error" ${pkgs.himalaya}/bin/himalaya "$@" + ''; + }; + }; + + accounts.email = { + accounts.icloud = { + primary = true; + address = "christoph@schmatzler.com"; + userName = "christoph.schmatzler@icloud.com"; + realName = "Christoph Schmatzler"; + passwordCommand = ["cat" "/run/secrets/tahani-email-password"]; + imap = { + host = "imap.mail.me.com"; + port = 993; + tls.enable = true; + }; + smtp = { + host = "smtp.mail.me.com"; + port = 587; + tls.useStartTls = true; + }; + himalaya.enable = true; + }; + }; +} diff --git a/secrets/tahani-email-password b/secrets/tahani-email-password new file mode 100644 index 0000000..d2a2264 --- /dev/null +++ b/secrets/tahani-email-password @@ -0,0 +1,26 @@ +{ + "data": "ENC[AES256_GCM,data:Eqxp0tWXwryX2UrlSLzxZ2X+mV8=,iv:qLmrKg+ITuAaF0M6/BfNLmZDt8npM1z9PmXpraqns/c=,tag:IFpCovpzxgyQOQSb52PP7Q==,type:str]", + "sops": { + "age": [ + { + "recipient": "age1njjegjjdqzfnrr54f536yl4lduqgna3wuv7ef6vtl9jw5cju0grsgy62tm", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXUG02MFBOMElPcTkvUi9G\nbWRoK3c2U3BOT0JvaWhQcFJUNWYvVEErdW40CjJPbzlFS0w1djN0MG5MUExsUHd3\nbCtOSWtrU2Q1cDMyV3FOOWFrTDJlUGcKLS0tIGJsUnFJekhNUi9rTzhFMlg4akIz\ncEs5eHpJYzByRE1LY2pJRlRCZXBzeEUKr+CbatNmFFW3GgFGxgvyAzw6Kl4x95PN\nzumt0wAA4dhBTiVdMh7jZvOi6S0qDU2BUnUIG2gEAM15OV6hLQJ3Jg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age187jl7e4k9n4guygkmpuqzeh0wenefwrfkpvuyhvwjrjwxqpzassqq3x67j", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoc2d6dEloeTBra1JMcG1r\nN3Q4MzhKM3ZuQ0o4bGVyai94d2tET3VVOHhVCm9pbjkwdEZ1eFM5b1hVdm9TR1RG\nR2RhS1FLNXVFZ0U0aUFGdllzbitMZlUKLS0tIExLcEkxYndKY01mM3FZdC9lMDJV\nY0JjNlBjRHQyLzNheG0vbEdkZWpZM0EKE3mFVNRs8Bqve5SHOyKdjs9H+YF1Gkha\nhzH+dOz+5TMmzQVYjNFg/SI9HXMVHWILtzA+HLdWq97L+SkQJTajWA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1ez6j3r5wdp0tjy7n5qzv5vfakdc2nh2zeu388zu7a80l0thv052syxq5e2", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZb2Z1U2Q0QkVSbzBoeXl3\nTm9vRzI5d1g1dnJRNEFhVHliNE1TUlBWSG5FCmNhYUNhNjNHU3MyTE96dmtwQU0y\nMDN0U1o0NHJiVS9yY1V1MXVNcnB2M28KLS0tICsrNVRpUS9rbDdGd1dxM0FnaTJP\nd2RpZ0orNnVJdVA4STNaQzBuQWNZOTQKVxOPKt7Id6a+wtKbdFiE+5bU7a0Etqdg\ngs7VhTVANXEG3KM1mql24gDm0NjDV/weXtvdGBFC4Z32n3bMd7GhGw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1tlymdmaukhwupzrhszspp26lgd8s64rw4vu9lwc7gsgrjm78095s9fe9l3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSbkNETnN5VE9OVGowSUxX\nZ25qdjFRQmVVem5NazRVS3ozaGdYczIyN0VFCmVRcEdEQk5FVmJFL2hvVUJZbWFQ\nTVBwdDdKNDE5R0VWUm1GVzRNZGlzRTAKLS0tIGFHMTlhTFFET2cxRmVQTDFwbjJJ\nVloxQm9jSE0veEplbE00Z1VZTmdHdkkKtHVQ5m6fe0Of2XLDZ3e0CMlvzuS3l4+a\ncCsa+/9cRoZybZzEZkwQkhMMELsurNltlFo56mE2X3IuzYQ7k/D69w==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-03-01T17:47:46Z", + "mac": "ENC[AES256_GCM,data:kU8LEWcIxjiz0Kl6GS1qyAeenW/g72NBZup6MsjEGhLAKzp2Dqy80WCj2eAUBO2Jqbq7WUC2RrwNuKQ9NoxceaKsjqafSNxsAV247gW1gUYRjZdioCR0J2Ug6VBnAWtN/0QhWHPdLT+q1cKj0Qvz/dkB/Lz9Rs+X/Cu5M4XIGhs=,iv:oSA1M6pRkxbO1GROQiA+xt1PWnpHvbBchJFE0yISFwI=,tag:3JetkPUZNU/ioUMH3kg++A==,type:str]", + "version": "3.12.1" + } +}