nix machine / user configurations
at terra 1.2 kB view raw
1{ 2 inputs, 3 pkgs, 4 lib, 5 ... 6}: 7let 8 pkg = pkgs.callPackage "${inputs.limbusart}/package.nix" { }; 9 domain = "pmart.gaze.systems"; 10in 11{ 12 systemd.services.limbusart = { 13 description = "limbusart"; 14 wantedBy = [ "multi-user.target" ]; 15 after = [ "network.target" ]; 16 serviceConfig = lib.mkMerge [ 17 { 18 User = "limbusart"; 19 ExecStart = "${pkg}/bin/limbusart"; 20 Restart = "on-failure"; 21 RestartSec = 5; 22 WorkingDirectory = "/var/lib/limbusart"; 23 EnvironmentFile = pkgs.writeText "limbusart.conf" '' 24 ARTS_PATH="arts.txt" 25 SITE_TITLE="random pm art" 26 EMBED_TITLE="random pm art here!!" 27 EMBED_DESC="click NOW to see random pm art" 28 EMBED_COLOR="#bd0000" 29 ''; 30 } 31 ]; 32 }; 33 users.users.limbusart = { 34 isSystemUser = true; 35 group = "limbusart"; 36 }; 37 users.groups.limbusart = { }; 38 39 security.acme.certs."gaze.systems".extraDomainNames = [domain]; 40 services.nginx.virtualHosts.${domain} = { 41 useACMEHost = "gaze.systems"; 42 forceSSL = true; 43 quic = true; 44 kTLS = true; 45 locations."/".proxyPass = "http://localhost:3000"; 46 }; 47}