diff --git a/flake.lock b/flake.lock index f1f471d..de5914e 100644 --- a/flake.lock +++ b/flake.lock @@ -562,11 +562,11 @@ ] }, "locked": { - "lastModified": 1738878603, - "narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=", + "lastModified": 1739002622, + "narHash": "sha256-PtJV5OYQF7XO6XkDYypsYJS3+OsgYaYSmkO3I/A7lZo=", "owner": "nix-community", "repo": "home-manager", - "rev": "433799271274c9f2ab520a49527ebfe2992dcfbd", + "rev": "947eef9e99c42346cf0aac2bebe1cd94924c173b", "type": "github" }, "original": { @@ -683,11 +683,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1738941053, - "narHash": "sha256-9xhDUs6BKrVAgR0FZtoOQRLW6rJI2djoCKODO8lvJ+M=", + "lastModified": 1739016888, + "narHash": "sha256-JUOvTAYx+/bAec9H7C/nnpT1NRm/6tdy5EZ/XuUGHlA=", "ref": "refs/heads/main", - "rev": "00a1afe022a0e4eee38759ccfba945c3eb74472e", - "revCount": 17368, + "rev": "72326c404487bbf8dc6ee069930c6c2a0319857e", + "revCount": 17371, "type": "git", "url": "https://git.lix.systems/lix-project/lix" }, @@ -737,11 +737,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1738958180, - "narHash": "sha256-I1BUQ6qbXg0vZMffrdD/dV/1R+YMBVySgSk3fA9snf8=", + "lastModified": 1738999284, + "narHash": "sha256-6xp1jVRoj3bRS6ULQgrjSdts6s0JC9bBq0PAhjdMrPM=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "eaf57f2dbdd448d541bda6049ce99aab070f0db1", + "rev": "712618918a8c0ef7997f45e135b0544021a3a6be", "type": "github" }, "original": { @@ -1065,11 +1065,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1738923654, - "narHash": "sha256-ozZdT3iS0GKhvwJtoPxvCKmMHKFkAf7clkGlDn9WbQ0=", + "lastModified": 1739011474, + "narHash": "sha256-Kw8za62P1hazJCErDrGdhDMcg+Vr9UPS3YdzswcSBsk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f59e5367f7449f906bdd01b3286750ce00fef306", + "rev": "477ea709554fe06543c1c7f4efac469ede9bc5fc", "type": "github" }, "original": { @@ -1285,11 +1285,11 @@ ] }, "locked": { - "lastModified": 1738895285, - "narHash": "sha256-4Ukr4reJfQ67c6QqIxbX47wnPIGxE8BXCAEPu1C3MFM=", + "lastModified": 1738981474, + "narHash": "sha256-YIELTXxfATG0g1wXjyaOWA4qrlubds3MG4FvMPCxSGg=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "85f3aed5f4b8eb312c6e8fe8c476bac248aed75f", + "rev": "5c571e5ff246d8fc5f76ba6e38dc8edb6e4002fe", "type": "github" }, "original": { diff --git a/home/yt/ytnix.nix b/home/yt/ytnix.nix index f925b36..9dccbd4 100644 --- a/home/yt/ytnix.nix +++ b/home/yt/ytnix.nix @@ -111,7 +111,7 @@ nixpkgs-review just hugo - ghidra-bin + ghidra sequoia sccache awscli2 diff --git a/hosts/chunk/default.nix b/hosts/chunk/default.nix index 100486b..9577771 100644 --- a/hosts/chunk/default.nix +++ b/hosts/chunk/default.nix @@ -205,4 +205,6 @@ }; virtualisation.oci-containers.backend = "podman"; environment.enableAllTerminfo = true; + + my.roundcube.enable = true; } diff --git a/hosts/ytnix/default.nix b/hosts/ytnix/default.nix index 80768b4..270654d 100644 --- a/hosts/ytnix/default.nix +++ b/hosts/ytnix/default.nix @@ -177,6 +177,7 @@ sbctl # secure boot wine-wayland wine64 + solaar ]; environment.sessionVariables = { diff --git a/modules/default.nix b/modules/default.nix index 070a96e..810c2f4 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,5 +3,6 @@ imports = [ ./backup.nix ./caddy.nix + ./roundcube.nix ]; } diff --git a/modules/roundcube.nix b/modules/roundcube.nix new file mode 100644 index 0000000..3f2d8cc --- /dev/null +++ b/modules/roundcube.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.my.roundcube; + fpm = config.services.phpfpm.pools.roundcube; + roundcube = config.services.roundcube; +in +{ + options.my.roundcube = { + enable = lib.mkEnableOption "roundcube webmail"; + }; + + config = lib.mkIf cfg.enable { + services.roundcube = { + enable = true; + configureNginx = false; + package = pkgs.roundcube.withPlugins (p: with p; [ + persistent_login + contextmenu + custom_from + thunderbird_labels + ]); + plugins = [ + "persistent_login" + "contextmenu" + "custom_from" + "thunderbird_labels" + ]; + dicts = with pkgs.aspellDicts; [ en ]; + extraConfig = '' + $config['imap_host'] = "ssl://imap.migadu.com:993"; + $config['smtp_host'] = "ssl://smtp.migadu.com:465"; + $config['smtp_user'] = "%u"; + $config['smtp_pass'] = "%p"; + ''; + }; + + services.phpfpm.pools.roundcube.settings = lib.mapAttrs (name: lib.mkForce) { + "listen.owner" = "caddy"; + "listen.group" = "caddy"; + }; + + services.caddy.virtualHosts."mail.cy7.sh".extraConfig = '' + import common + root ${roundcube.package} + php_fastcgi unix/${fpm.socket} + file_server + ''; + }; +}