···4444 # List packages installed in system profile. To search, run:
4545 # $ nix search wget
4646 environment.systemPackages = with pkgs; [
4747+ (pkgs.callPackage <agenix/pkgs/agenix.nix> { })
4748 neovim
4849 appimage-run
4950 wget
···8586 zlib
8687 ];
8788 };
8989+9090+ programs.fuse.userAllowOther = true;
889189929093 # Logseq uses an ancient version of Electron, so we enable that
+35-3
services.nix
···55 "plexmediaserver"
66 ];
77 };
88+ _age = import <agenix/modules/age.nix> { };
89in
910{
1011···240241 certs."plex.packetlost.dev" = {
241242 group = "httpd";
242243 };
243243- #certs."ngp.computer" = {
244244- # group = "httpd";
245245- #};
244244+ certs."img.ngp.computer" = {
245245+ group = "httpd";
246246+ };
247247+ };
248248+249249+ # A test email server that only works on LAN
250250+ services.maddy = {
251251+ enable = true;
252252+ openFirewall = true;
253253+ primaryDomain = "misaki.local";
254254+ ensureAccounts = [
255255+ "noah@misaki.local"
256256+ "postmaster@misaki.local"
257257+ "test@misaki.local"
258258+ ];
259259+ ensureCredentials = {
260260+ "noah@misaki.local".passwordFile = "${pkgs.writeText "noah" "Password123"}";
261261+ "postmaster@misaki.local".passwordFile = "${pkgs.writeText "noah" "Password123"}";
262262+ "test@misaki.local".passwordFile = "${pkgs.writeText "test" "Password123"}";
263263+ };
246264 };
247265248266 services.plex = {
···292310 # proxyWebsockets = true;
293311 # };
294312 #};
313313+314314+ virtualHosts."img.ngp.computer" = {
315315+ forceSSL = true;
316316+ enableACME = true;
317317+ # Don't use this unless you want the contents of this folder to be in the Nix
318318+ # Store and only updated when switching
319319+ #root = "/srv/shokuhou/pictures/public";
320320+ extraConfig = ''
321321+ sendfile on;
322322+ sendfile_max_chunk 1m;
323323+ tcp_nopush on;
324324+ root /srv/shokuhou/pictures/public;
325325+ '';
326326+ };
295327296328 # give a name to the virtual host. It also becomes the server name.
297329 virtualHosts."plex.packetlost.dev" = {