my over complex system configurations dotfiles.isabelroses.com/
nixos nix flake dotfiles linux
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: update website

isabel 55f6ed34 f8c38fba

+6 -51
+3 -3
flake.lock
··· 591 591 ] 592 592 }, 593 593 "locked": { 594 - "lastModified": 1745110227, 595 - "narHash": "sha256-xcpJKakZkfykkBCP2P6DHRbO5WUippNPEs2Nrd/3yww=", 594 + "lastModified": 1745141853, 595 + "narHash": "sha256-9cUQ4cYJ6ZXacd3j+Vg4erDOItnhcNT9xVA+5kTKJEw=", 596 596 "owner": "tgirlcloud", 597 597 "repo": "pkgs", 598 - "rev": "963aed8a244679237e0257dfc094dc712b206dea", 598 + "rev": "060d368fe7b1762e973b1d0f54c4f01a74e87571", 599 599 "type": "github" 600 600 }, 601 601 "original": {
+3 -48
modules/nixos/services/selfhosted/website.nix
··· 7 7 }: 8 8 let 9 9 inherit (self.lib) template; 10 - inherit (lib.meta) getExe; 11 10 inherit (lib.modules) mkIf; 12 11 inherit (self.lib.services) mkServiceOption; 13 - inherit (self.lib.secrets) mkSecret; 14 12 15 13 inherit (config.networking) domain; 16 - 17 14 cfg = config.garden.services.isabelroses-website; 18 - 19 - serve = "/srv/storage/isabelroses.com"; 20 - 21 - link = "http://${cfg.host}:${toString cfg.port}"; 22 15 in 23 16 { 24 17 options.garden.services.isabelroses-website = mkServiceOption "isabelroses-website" { 25 - port = 3000; 26 - domain = "isabelroses.com"; 18 + inherit domain; 27 19 }; 28 20 29 21 config = mkIf cfg.enable { 30 - systemd.services."isabelroses-website" = { 31 - description = "isabelroses.com"; 32 - after = [ "network.target" ]; 33 - wantedBy = [ "multi-user.target" ]; 34 - 35 - environment = { 36 - DONOS_FILE = "${serve}/donos.json"; 37 - PORT = toString cfg.port; 38 - }; 39 - 40 - serviceConfig = { 41 - Type = "simple"; 42 - ReadWritePaths = [ serve ]; 43 - DynamicUser = true; 44 - ExecStart = getExe inputs'.tgirlpkgs.packages.isabelroses-website; 45 - Restart = "always"; 46 - } // template.systemd; 47 - }; 48 - 49 - age.secrets.anubis-isabelroses-website = mkSecret { 50 - file = "anubis/isabelroses-website"; 51 - owner = "anubis"; 52 - group = "anubis"; 53 - }; 54 - 55 22 services = { 56 - anubis = mkIf config.garden.services.anubis.enable { 57 - instances.isabelroses-website.settings = { 58 - TARGET = link; 59 - OG_PASSTHROUGH = true; 60 - ED25519_PRIVATE_KEY_HEX_FILE = config.age.secrets.anubis-isabelroses-website.path; 61 - }; 62 - }; 63 - 64 - nginx.virtualHosts.${domain} = { 65 - locations."/".proxyPass = 66 - if config.garden.services.anubis.enable then 67 - "http://unix:${config.services.anubis.instances.isabelroses-website.settings.BIND}" 68 - else 69 - link; 23 + nginx.virtualHosts.${cfg.domain} = { 24 + root = inputs'.tgirlcloud.packages.isabelroses-website; 70 25 } // template.ssl domain; 71 26 }; 72 27 };