{ config, lib, pkgs, ... }: let globox-id = "b446944a47d39ae969ebe27f81cf2d8963df7a04dd40e31e61c7c2ecc1ac7437"; in { home-manager.users.mysaa.accounts.email.accounts = { "hadoly".thunderbird.enable = true; "personal".thunderbird.enable = true; "ens".thunderbird.enable = true; "junk".thunderbird.enable = true; "google".thunderbird.enable = true; "bernard".thunderbird.enable = true; "dmesures".thunderbird.enable = true; "ecloud".thunderbird.enable = true; }; home-manager.users.mysaa.programs.thunderbird = { enable = true; package = pkgs.thunderbird.override { extraPolicies.ExtensionSettings = { "localfolder@philoux.eu" = { install_url = "https://addons.thunderbird.net/user-media/addons/_attachments/90003/localfolders-4.2.2-tb.xpi?filehash=sha256%3A71d499b55b360769447e9f08536ee557b0419e84d5914e79c18558d86a21fbd9"; installation_mode = "force_installed"; }; }; }; profiles.default = { isDefault = true; accountsOrder = [ "hadoly" "dmesures" "bernard" "ens" "account_${globox-id}" "personal" "junk" "ecloud" "google" ]; settings = { "mail.account.account_${globox-id}.server" = "server_${globox-id}"; "mail.server.server_${globox-id}.directory" = "/home/mysaa/Globox"; #user_pref("mail.server.server1.directory-rel", "[ProfD]../../../Globox"); "mail.server.server_${globox-id}.hostname" = "globox"; "mail.server.server_${globox-id}.name" = "globox"; "mail.server.server_${globox-id}.storeContractID" = "@mozilla.org/msgstore/maildirstore;1"; "mail.server.server_${globox-id}.type" = "none"; "mail.server.server_${globox-id}.userName" = "nobody"; } // lib.attrsets.concatMapAttrs ( _: account: lib.optionalAttrs (account.passwordCommand != null) ( let id = builtins.hashString "sha256" account.name; command = lib.concatStringsSep " " account.passwordCommand; passwordScript = pkgs.writeShellScript "get-password.sh" '' echo "Got command $1" >> /tmp/thunderpasswordget ${command} | ${pkgs.netcat}/bin/nc -w 0 -U $1 ''; in lib.optionalAttrs (account.smtp != null) { "mail.smtpserver.smtp_${id}.passwordCommand" = toString passwordScript; } // lib.optionalAttrs (account.imap != null) { "mail.server.server_${id}.passwordCommand" = toString passwordScript; } ) ) config.home-manager.users.mysaa.accounts.email.accounts; }; }; # home-manager.users.mysaa.nixpkgs.overlays = [ # (final: prev: { # thunderbird-unwrapped = prev.thunderbird-unwrapped.overrideAttrs { # patches = (prev.thunderbird-unwrapped.patches or [ ]) ++ [ # ../../packages/add_passwordcommand_smtp.patch # ../../packages/add_passwordcommand_imap.patch # ]; # }; # }) # ]; /*security.pam.services.dovecot2 = {}; services.dovecot2 = { enable = true; enablePAM = false; extraConfig = '' protocols = imap auth_mechanisms = plain login service imap-login { inet_listener imap { port = 10143 address = 127.0.0.1 } inet_listener imaps { port = 10993 address = 127.0.0.1 } } log_path = /home/mysaa/.local/dovecot.log passdb { driver = passwd-file args = /etc/dovecot-passwd } userdb { driver = passwd } mail_location = maildir:/home/mysaa/Globox/:LAYOUT=fs ''; }; environment.etc.dovecot-passwd.text = '' mysaa:{plain}aaaaa */ }