diff --git a/flake.lock b/flake.lock index 991ccaa..5b54bca 100644 --- a/flake.lock +++ b/flake.lock @@ -180,11 +180,11 @@ ] }, "locked": { - "lastModified": 1706306660, - "narHash": "sha256-lZvgkHtVeduGByPb0Tz9LpAi4olfkEm8XPgv0o7GRsk=", + "lastModified": 1706134977, + "narHash": "sha256-KwNb1Li3K6vuVwZ77tFjZ89AWBo7AiCs9t0Cens4BsM=", "owner": "nix-community", "repo": "home-manager", - "rev": "b2f56952074cb46e93902ecaabfb04dd93733434", + "rev": "6359d40f6ec0b72a38e02b333f343c3d4929ec10", "type": "github" }, "original": { @@ -296,11 +296,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1706191920, - "narHash": "sha256-eLihrZAPZX0R6RyM5fYAWeKVNuQPYjAkCUBr+JNvtdE=", + "lastModified": 1705856552, + "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ae5c332cbb5827f6b1f02572496b141021de335f", + "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", "type": "github" }, "original": { diff --git a/hosts/nuc/modules/matrix/default.nix b/hosts/nuc/modules/matrix/default.nix index 895fc8b..86f4ff2 100644 --- a/hosts/nuc/modules/matrix/default.nix +++ b/hosts/nuc/modules/matrix/default.nix @@ -1,12 +1,6 @@ { config, pkgs, ... }: let domain = "matrix.${config.networking.domain}"; - domainClient = "chat.${config.networking.domain}"; - clientConfig = { - "m.homeserver" = { - base_url = "https://${domain}:443"; - }; - }; in { @@ -79,23 +73,6 @@ in locations."~ ^/(client/|_matrix/client/unstable/org.matrix.msc3575/sync)".proxyPass = "http://localhost:8009"; # locations."/_synapse/client".proxyPass = "http://[::1]:8008"; }; - - - # element - "${domainClient}" = { - enableACME = true; - forceSSL = true; - - root = pkgs.element-web.override { - conf = { - default_server_config = { - inherit (clientConfig) "m.homeserver"; - "m.identity_server".base_url = ""; - }; - disable_3pid_login = true; - }; - }; - }; }; }; }; diff --git a/hosts/thinkpad/default.nix b/hosts/thinkpad/default.nix index 23134f1..c014fb7 100755 --- a/hosts/thinkpad/default.nix +++ b/hosts/thinkpad/default.nix @@ -93,9 +93,6 @@ }; }; - documentation = { - dev.enable = true; - man.generateCaches = true; - }; + documentation.dev.enable = true; system.stateVersion = "22.11"; } diff --git a/secrets.nix b/secrets.nix index 430d4c8..12bac9e 100644 --- a/secrets.nix +++ b/secrets.nix @@ -32,5 +32,10 @@ in "secrets/falkenstein/borg/key.age".publicKeys = [ rouven falkenstein ]; # rouven (home manager) + "secrets/rouven/mail/rfive.age".publicKeys = [ rouven ]; + "secrets/rouven/mail/ifsr.age".publicKeys = [ rouven ]; + "secrets/rouven/mail/tu-dresden.age".publicKeys = [ rouven ]; + "secrets/rouven/mail/agdsn.age".publicKeys = [ rouven ]; + "secrets/rouven/mail/google.age".publicKeys = [ rouven ]; "secrets/rouven/spotify.age".publicKeys = [ rouven ]; } diff --git a/secrets/rouven/mail/agdsn.age b/secrets/rouven/mail/agdsn.age new file mode 100644 index 0000000..f49bfcc Binary files /dev/null and b/secrets/rouven/mail/agdsn.age differ diff --git a/secrets/rouven/mail/google.age b/secrets/rouven/mail/google.age new file mode 100644 index 0000000..d61d380 --- /dev/null +++ b/secrets/rouven/mail/google.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 uWbAHQ NCh3pLPZc0yFNmZD2BNjwTaMWm6pKX0JZcQmARfDzwo +tLw4JjYImQ7Sx5zC5A+MtdifsyZ4gfKtnEE37oPtO00 +-> 9)3p3u-grease +=v = @x Mbn`+p +9oxiykzLx/ZhSKwEnFynCUgPDq1AXJAGsT5Qa2g7+1FQoWwJMB7oMECKt5vF2a/h +1GFeeRfFUWw4FCu8iE77OsLWIyQcOX20xcdhdqxA+A +--- wjfDMipqiLXDA6u8T1UH1w8Tm+Xj2PFp8szWSsHnDYA +IhI>E2b1y 04% (\/dۯY: \ No newline at end of file diff --git a/secrets/rouven/mail/ifsr.age b/secrets/rouven/mail/ifsr.age new file mode 100644 index 0000000..1fb131d --- /dev/null +++ b/secrets/rouven/mail/ifsr.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 uWbAHQ 0Uy/VY+06acvXjAKFy5jcN8q692+8sZH9E3ZUHSaUUo +6T56w2tmJAvaeGb5oHPyU1t8mexFnV+foVoJl98G6rQ +-> fE4oms$-grease - !fp3#J th +OA +--- IIBHPUhMYp1bS9Yig7YAyi+abT66ZRd2PyZdPk+k1dg +,h-Lf^Oǘjuٝx`Q;\cTK\ + r~?trX \ No newline at end of file diff --git a/secrets/rouven/mail/rfive.age b/secrets/rouven/mail/rfive.age new file mode 100644 index 0000000..b95c142 --- /dev/null +++ b/secrets/rouven/mail/rfive.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 uWbAHQ oELRB+KJpT8EfcqyNEdtfaJgiN9aX/1mgKHxqKCPyF8 +ZxVFzwByLOSbSIsX3QtHmEDb5a5Xo/bkHNIgJQqB2cU +-> m-grease (HaFdz_< +nhPnLs6P+M/Yw9TxmTZ6gKXmQusgFz46+/Ad8QA9YlcjkM9hhEsJkTBoLp6uv++8 +Gjfle0y4R/p7xIOyLKGat5wPXCzk4XxTz8o7c9IXshRR+unkRthsEG6qebNR +--- CFBseeDK5oKdeH1yLe1tVWPkmcWtSPrwtbxrAqJsydc +iNZ(zW7~"rM[.-dQRlClDI-:5t?(X" \ No newline at end of file diff --git a/secrets/rouven/mail/tu-dresden.age b/secrets/rouven/mail/tu-dresden.age new file mode 100644 index 0000000..b887c87 Binary files /dev/null and b/secrets/rouven/mail/tu-dresden.age differ diff --git a/users/rouven/modules/accounts/default.nix b/users/rouven/modules/accounts/default.nix new file mode 100644 index 0000000..802002c --- /dev/null +++ b/users/rouven/modules/accounts/default.nix @@ -0,0 +1,291 @@ +{ config, pkgs, ... }: +let + gpg-default-key = "116987A8DD3F78FF8601BF4DB95E8FE6B11C4D09"; +in +{ + age.secrets = { + "mail/rfive".file = ../../../../secrets/rouven/mail/rfive.age; + "mail/tu-dresden".file = ../../../../secrets/rouven/mail/tu-dresden.age; + "mail/ifsr".file = ../../../../secrets/rouven/mail/ifsr.age; + "mail/agdsn".file = ../../../../secrets/rouven/mail/agdsn.age; + "mail/google".file = ../../../../secrets/rouven/mail/google.age; + }; + programs = { + aerc = { + enable = true; + extraConfig = { + general = { + unsafe-accounts-conf = true; + }; + ui = { + sort = "date"; + dirlist-tree = true; + fuzzy-complete = true; + styleset-name = "dracula"; + threading-enabled = true; + icon-encrypted = "󰯄"; + icon-signed = ""; + icon-unknown = ""; + icon-attachment = ""; + icon-new = ""; + icon-old = ""; + icon-replied = ""; + icon-marked = ""; + icon-deleted = ""; + }; + filters = { + "text/plain" = "colorize"; + "text/html" = "html | colorize"; + "message/delivery-status" = "colorize"; + "message/rfc822" = "colorize"; + "text/calendar" = "calendar"; + }; + }; + + }; + thunderbird = { + enable = true; + profiles = { + default = { + withExternalGnupg = true; + isDefault = true; + settings = { + "intl.date_time.pattern_override.connector_short" = "{1} {0}"; + "intl.date_time.pattern_override.date_short" = "yyyy-MM-dd"; + "intl.date_time.pattern_override.time_short" = "HH:mm"; + }; + }; + }; + }; + mbsync.enable = true; + }; + accounts.email.accounts = { + "rouven@rfive.de" = rec { + address = "rouven@rfive.de"; + gpg.key = gpg-default-key; + realName = "Rouven Seifert"; + userName = address; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/rfive".path}"; + imap = { + host = "mail.rfive.de"; + port = 993; + }; + smtp = { + host = "mail.rfive.de"; + port = 465; + }; + thunderbird.enable = true; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + extraConfig = { + account = { + AuthMechs = "Login"; + }; + }; + }; + aerc.enable = true; + }; + "TU-Dresden" = rec { + address = "rouven.seifert@mailbox.tu-dresden.de"; + gpg.key = gpg-default-key; + realName = "Rouven Seifert"; + userName = "rose159e"; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/tu-dresden".path}"; + imap = { + host = "msx.tu-dresden.de"; + port = 993; + }; + smtp = { + host = "msx.tu-dresden.de"; + port = 587; + tls.useStartTls = true; + }; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + groups.tud = { + channels.inbox = { + nearPattern = "INBOX"; + farPattern = "INBOX"; + extraConfig.Create = "near"; + }; + channels.opal = { + nearPattern = "Opal"; + farPattern = "Opal"; + extraConfig.Create = "near"; + }; + channels.unispam = { + nearPattern = "Uni Spam"; + farPattern = "Uni Spam"; + extraConfig.Create = "near"; + }; + # channels.modules = { + # nearPattern = "Module"; + # farPattern = "Module"; + # extraConfig.Create = "near"; + # }; + channels.trash = { + nearPattern = "Trash"; + farPattern = "Gel&APY-schte Elemente"; + extraConfig.Create = "near"; + }; + channels.sent = { + nearPattern = "Sent"; + farPattern = "Gesendete Elemente"; + extraConfig.Create = "near"; + }; + channels.junk = { + nearPattern = "Junk"; + farPattern = "Junk-E-Mail"; + extraConfig.Create = "near"; + }; + channels.drafts = { + nearPattern = "Drafts"; + farPattern = "Entw&APw-rfe"; + extraConfig.Create = "near"; + }; + }; + extraConfig = { + account = { + AuthMechs = "Login"; + }; + }; + }; + thunderbird.enable = true; + aerc.enable = true; + }; + "iFSR" = rec { + address = "rouven.seifert@ifsr.de"; + signature = { + showSignature = "append"; + text = '' + Rouven Seifert + + Co-Admin im Fachschaftsrat Informatik TU Dresden + Fakultät Informatik + Nöthnitzer Str. 46, 01187 Dresden + ''; + }; + primary = true; + gpg.key = gpg-default-key; + realName = "Rouven Seifert"; + userName = "rouven.seifert"; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/ifsr".path}"; + imap = { + host = "mail.ifsr.de"; + port = 993; + }; + smtp = { + host = "mail.ifsr.de"; + port = 465; + }; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + extraConfig = { + account = { + AuthMechs = "Login"; + }; + }; + }; + thunderbird.enable = true; + aerc.enable = true; + }; + "agdsn" = rec { + address = "r5@agdsn.me"; + # gpg.key = gpg-default-key; + realName = "Rouven Seifert"; + userName = "r5@agdsn.me"; + aliases = [ + "r5@agdsn.de" + "rouven.seifert@agdsn.de" + ]; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/agdsn".path}"; + imap = { + host = "imap.agdsn.de"; + port = 993; + }; + smtp = { + host = "smtp.agdsn.de"; + port = 465; + }; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + extraConfig = { + account = { + AuthMechs = "Login"; + }; + }; + }; + thunderbird.enable = true; + aerc.enable = true; + }; + "gmail" = rec { + address = "seifertrouven@gmail.com"; + realName = "Rouven Seifert"; + userName = address; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/google".path}"; + imap = { + host = "imap.gmail.com"; + port = 993; + }; + smtp = { + host = "smtp.gmail.com"; + port = 465; + }; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + groups.gmail = { + channels.inbox = { + nearPattern = "INBOX"; + farPattern = "INBOX"; + extraConfig.Create = "near"; + }; + channels.trash = { + nearPattern = "Trash"; + farPattern = "[Gmail]/Papierkorb"; + extraConfig.Create = "near"; + }; + channels.junk = { + nearPattern = "Junk"; + farPattern = "[Gmail]/Spam"; + extraConfig.Create = "near"; + }; + channels.drafts = { + nearPattern = "Drafts"; + farPattern = "[Gmail]/Entw&APw-rfe"; + extraConfig.Create = "near"; + }; + channels.hetzner = { + nearPattern = "Hetzner"; + farPattern = "Hetzner"; + extraConfig.Create = "near"; + }; + channels.studentenwerk = { + nearPattern = "Studentenwerk"; + farPattern = "Studentenwerk"; + extraConfig.Create = "near"; + }; + }; + extraConfig = { + account = { + AuthMechs = "Login"; + }; + }; + }; + thunderbird.enable = true; + aerc.enable = true; + }; + }; + home.file.".gnupg/dirmngr_ldapservers.conf".text = '' + ldap.pca.dfn.de::::o=DFN-Verein,c=DE + ''; +} diff --git a/users/rouven/modules/default.nix b/users/rouven/modules/default.nix index 6896c64..10a654f 100644 --- a/users/rouven/modules/default.nix +++ b/users/rouven/modules/default.nix @@ -1,6 +1,7 @@ { ... }: { imports = [ + ./accounts ./foot ./git ./gpg diff --git a/users/rouven/modules/packages.nix b/users/rouven/modules/packages.nix index 372622b..b20a00e 100644 --- a/users/rouven/modules/packages.nix +++ b/users/rouven/modules/packages.nix @@ -64,43 +64,13 @@ nodejs_20 gnumake go - - # fancy tools just - himalaya - zellij - nushell - # strace but with colors - (strace.overrideAttrs (_: { - patches = [ - (fetchpatch { - url = "https://raw.githubusercontent.com/xfgusta/strace-with-colors/main/strace-with-colors.patch"; - hash = "sha256-gcQldGsRgvGnrDX0zqcLTpEpchNEbCUFdKyii0wetEI="; - }) - ]; - })) ]; programs.obs-studio.enable = true; programs.firefox.enable = true; - programs = { - thunderbird = { - enable = true; - profiles = { - default = { - withExternalGnupg = true; - isDefault = true; - settings = { - "intl.date_time.pattern_override.connector_short" = "{1} {0}"; - "intl.date_time.pattern_override.date_short" = "yyyy-MM-dd"; - "intl.date_time.pattern_override.time_short" = "HH:mm"; - }; - }; - }; - }; - }; services.gnome-keyring.enable = true; xdg.mimeApps = { diff --git a/users/rouven/modules/spotify/default.nix b/users/rouven/modules/spotify/default.nix index 84c0ea5..148d69f 100644 --- a/users/rouven/modules/spotify/default.nix +++ b/users/rouven/modules/spotify/default.nix @@ -8,7 +8,7 @@ enable = true; settings = { global = { - username = "seifertrouven@gmail.com"; + username = config.accounts.email.accounts."gmail".address; password_cmd = "${pkgs.coreutils}/bin/cat ${config.age.secrets.spotify.path}"; }; backend = "pulseaudio"; diff --git a/users/rouven/modules/ssh/default.nix b/users/rouven/modules/ssh/default.nix index fb95c2e..fc1758c 100644 --- a/users/rouven/modules/ssh/default.nix +++ b/users/rouven/modules/ssh/default.nix @@ -53,27 +53,20 @@ in RequestTTY = "yes"; RemoteCommand = "zsh -i"; }; + }; "quitte-notty" = { hostname = "quitte.ifsr.de"; user = "root"; }; - "tomate" = { - hostname = "tomate.ifsr.de"; - user = "root"; - extraOptions = { - RequestTTY = "yes"; - RemoteCommand = "zsh -i"; - }; - }; - "tomate-notty" = { - hostname = "tomate.ifsr.de"; - user = "root"; - }; "durian" = { hostname = "durian.ifsr.de"; user = "root"; }; + "tomate" = { + hostname = "tomate.ifsr.de"; + user = "root"; + }; "git@ifsr.de" = { match = "Host ifsr.de User git"; identityFile = git;