diff --git a/flake.lock b/flake.lock index 5e8adb7..2411aaf 100644 --- a/flake.lock +++ b/flake.lock @@ -305,6 +305,24 @@ "type": "github" } }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "git-hooks": { "inputs": { "flake-compat": [ @@ -420,6 +438,32 @@ "type": "github" } }, + "ixx_2": { + "inputs": { + "flake-utils": [ + "nuschtos", + "flake-utils" + ], + "nixpkgs": [ + "nuschtos", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729544999, + "narHash": "sha256-YcyJLvTmN6uLEBGCvYoMLwsinblXMkoYkNLEO4WnKus=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "65c207c92befec93e22086da9456d3906a4e999c", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.5", + "repo": "ixx", + "type": "github" + } + }, "nether": { "inputs": { "clan-core": "clan-core", @@ -676,6 +720,28 @@ "type": "github" } }, + "nuschtos": { + "inputs": { + "flake-utils": "flake-utils_3", + "ixx": "ixx_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730044642, + "narHash": "sha256-DbyV9l3hkrSWcN34S6d9M4kAFss0gEHGtjqqMdG9eAs=", + "owner": "NuschtOS", + "repo": "search", + "rev": "e373332c1f8237fc1263901745b0fe747228c8ba", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "nuschtosSearch": { "inputs": { "flake-utils": "flake-utils_2", @@ -712,6 +778,7 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixvim": "nixvim", + "nuschtos": "nuschtos", "snm": "snm", "sops-nix": "sops-nix_2", "srvos": "srvos", @@ -840,6 +907,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index 5172f65..25dcbfc 100644 --- a/flake.nix +++ b/flake.nix @@ -44,6 +44,10 @@ inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; + nuschtos = { + url = "github:NuschtOS/search"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # Packages firefox-addons = { diff --git a/systems/hetzner/nginx.nix b/systems/hetzner/nginx.nix index 16af4b3..ddbc1ae 100644 --- a/systems/hetzner/nginx.nix +++ b/systems/hetzner/nginx.nix @@ -59,6 +59,51 @@ enableACME = true; locations."/".proxyPass = "http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}"; }; + "nix.missing.ninja" = { + forceSSL = true; + enableACME = true; + locations."/".root = self.inputs.nuschtos.packages.${pkgs.stdenv.system}.mkMultiSearch { + scopes = [ + { + modules = [ self.inputs.disko.nixosModules.default ]; + name = "disko"; + specialArgs.modulesPath = pkgs.path + "/nixos/modules"; + urlPrefix = "https://github.com/nix-community/disko/blob/master/"; + } + { + modules = lib.attrValues self.inputs.nixos-hardware.nixosModules; + name = "nixos-hardware"; + specialArgs = { + modulesPath = pkgs.path + "/nixos/modules"; + inherit pkgs; + }; + urlPrefix = "https://github.com/NixOS/nixos-hardware/blob/master/"; + } + { + modules = [ + self.inputs.snm.nixosModules.default + { + mailserver = { + fqdn = "mx.example.com"; + domains = [ "example.com" ]; + dmarcReporting = { + organizationName = "Example Corp"; + domain = "example.com"; + }; + }; + } + ]; + name = "simple-nixos-mailserver"; + urlPrefix = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/blob/master/"; + } + { + optionsJSON = (import "${self.inputs.nixos}/nixos/release.nix" { }).options + /share/doc/nixos/options.json; + name = "NixOS"; + urlPrefix = "https://github.com/NixOS/nixpkgs/tree/master/"; + } + ]; + }; + }; "hetzner" = { forceSSL = false; enableACME = false;