diff --git a/flake.lock b/flake.lock index 270899c..1de93e7 100644 --- a/flake.lock +++ b/flake.lock @@ -642,6 +642,22 @@ } }, "nixpkgs_12": { + "locked": { + "lastModified": 1750386251, + "narHash": "sha256-1ovgdmuDYVo5OUC5NzdF+V4zx2uT8RtsgZahxidBTyw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "076e8c6678d8c54204abcb4b1b14c366835a58bb", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { "locked": { "lastModified": 1743568003, "narHash": "sha256-ZID5T65E8ruHqWRcdvZLsczWDOAWIE7om+vQOREwiX0=", @@ -848,6 +864,7 @@ "stylix": "stylix", "syd-fcitx5-tables": "syd-fcitx5-tables", "sydnix-cli": "sydnix-cli", + "sydpkgs": "sydpkgs", "tf2-nix": "tf2-nix", "vpn-confinement": "vpn-confinement" } @@ -938,6 +955,24 @@ "type": "path" } }, + "sydpkgs": { + "inputs": { + "nixpkgs": "nixpkgs_12" + }, + "locked": { + "lastModified": 1758168482, + "narHash": "sha256-4vyBtLPIXbFJWg2saKM+J54/7VOBEn/2wzKavj6ac6I=", + "owner": "msyds", + "repo": "sydpkgs", + "rev": "5802980437ba595967c52cb70e53178718456bf9", + "type": "github" + }, + "original": { + "owner": "msyds", + "repo": "sydpkgs", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -1001,7 +1036,7 @@ "tf2-nix": { "inputs": { "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1744886451, diff --git a/flake.nix b/flake.nix index 3767954..b6c072e 100644 --- a/flake.nix +++ b/flake.nix @@ -29,6 +29,7 @@ }; tf2-nix.url = "gitlab:msyds/tf2-nix"; syd-fcitx5-tables.url = "gitlab:msyds/syd-fcitx5-tables"; + sydpkgs.url = "github:msyds/sydpkgs"; }; outputs = { self, nixpkgs, ... }@inputs: diff --git a/hosts/deertopia/configuration.nix b/hosts/deertopia/configuration.nix index 66243bf..ec92198 100644 --- a/hosts/deertopia/configuration.nix +++ b/hosts/deertopia/configuration.nix @@ -46,6 +46,7 @@ deertopia = { authelia.enable = true; + quiver.enable = true; www.enable = true; bepasty.enable = true; jellyfin.enable = false; diff --git a/modules/nixos/deertopia/quiver.nix b/modules/nixos/deertopia/quiver.nix new file mode 100644 index 0000000..31a926d --- /dev/null +++ b/modules/nixos/deertopia/quiver.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, sydpkgs, system, ... }: + +let cfg = config.sydnix.deertopia.quiver; +in { + options.sydnix.deertopia.quiver = { + enable = lib.mkEnableOption "Quiver, a commutative diagram editor"; + }; + + config = lib.mkIf cfg.enable { + sydnix.deertopia.nginx.vhosts."q".vhost = + let + package = sydpkgs.packages.${system}.quiver; + in { + forceSSL = true; + enableACME = true; + locations."/" = { + extraConfig = '' + root ${package}/opt/quiver; + ''; + }; + }; + }; +}