diff --git a/flake.lock b/flake.lock index c3e63fc..2afebb7 100644 --- a/flake.lock +++ b/flake.lock @@ -253,6 +253,42 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -602,6 +638,22 @@ "type": "github" } }, + "nixpkgs_7": { + "locked": { + "lastModified": 1770019141, + "narHash": "sha256-VKS4ZLNx4PNrABoB0L8KUpc1fE7CLpQXQs985tGfaCU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cb369ef2efd432b3cdf8622b0ffc0a97a02f3137", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nuscht-search": { "inputs": { "flake-utils": "flake-utils", @@ -641,6 +693,49 @@ "type": "github" } }, + "pastel": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_7", + "pnpm2nix": "pnpm2nix" + }, + "locked": { + "lastModified": 1772103435, + "narHash": "sha256-dtsWJl+DBigaZlszH4UVI8JZltJl9O6MESDyH4RepNI=", + "owner": "cillynder", + "repo": "pastel", + "rev": "8e2b1b80d711eaf41c010949bef0a512db9e4452", + "type": "github" + }, + "original": { + "owner": "cillynder", + "repo": "pastel", + "type": "github" + } + }, + "pnpm2nix": { + "inputs": { + "flake-utils": "flake-utils_3", + "nixpkgs": [ + "pastel", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717937937, + "narHash": "sha256-bKoHjG5P15vCVpDndIXFfoJC65XhrBPQ9GWcXtXNuDA=", + "owner": "wrvsrx", + "repo": "pnpm2nix-nzbr", + "rev": "a2d285ad5718cb202f45e98a4f839a5b2608c4b1", + "type": "github" + }, + "original": { + "owner": "wrvsrx", + "ref": "adapt-to-v9", + "repo": "pnpm2nix-nzbr", + "type": "github" + } + }, "pure": { "flake": false, "locked": { @@ -674,6 +769,7 @@ "nixpkgs": "nixpkgs_6", "nixpkgs-stable": "nixpkgs-stable_2", "nvim-treesitter": "nvim-treesitter", + "pastel": "pastel", "pure": "pure", "spicetify-nix": "spicetify-nix", "spotify-adblock": "spotify-adblock", @@ -708,7 +804,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_3" + "systems": "systems_5" }, "locked": { "lastModified": 1770846656, @@ -801,6 +897,36 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tree-sitter-jsonc": { "flake": false, "locked": { @@ -822,13 +948,13 @@ "locked": { "lastModified": 1668017714, "narHash": "sha256-ywy/7xeT6FHkF7lcs+stW1WPV+piE8ztSwcQ161iico=", - "owner": "LavaDesu", + "owner": "cillynder", "repo": "lavadesu.github.io", "rev": "4e30c50be520a0a1bbecf408f056e6aaf135df67", "type": "github" }, "original": { - "owner": "LavaDesu", + "owner": "cillynder", "ref": "master", "repo": "lavadesu.github.io", "type": "github" diff --git a/flake.nix b/flake.nix index 03840e1..9719bd8 100644 --- a/flake.nix +++ b/flake.nix @@ -22,8 +22,9 @@ spicetify-nix.inputs.nixpkgs.follows = "nixpkgs"; # services + pastel.url = "github:cillynder/pastel"; stevenblack-hosts = { url = "github:StevenBlack/hosts"; flake = false; }; - website = { url = "github:LavaDesu/lavadesu.github.io/master"; flake = false; }; + website = { url = "github:cillynder/lavadesu.github.io/master"; flake = false; }; # zsh plugins zsh-abbr = { url = "git+https://github.com/olets/zsh-abbr?submodules=1"; flake = false; }; diff --git a/hosts/dandelion/default.nix b/hosts/dandelion/default.nix index b9f5e42..ee386bf 100644 --- a/hosts/dandelion/default.nix +++ b/hosts/dandelion/default.nix @@ -19,6 +19,7 @@ security wireguard + modules.services.banksia modules.services.nginx modules.services.postgres modules.services.unbound diff --git a/modules/default.nix b/modules/default.nix index 8237922..014a61a 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -16,6 +16,7 @@ let in { options = ./options.nix; services = mkAttrsFromPaths [ + ./services/banksia.nix ./services/jellyfin.nix ./services/nginx.nix ./services/postgres.nix diff --git a/modules/services/banksia.nix b/modules/services/banksia.nix new file mode 100644 index 0000000..d6532f6 --- /dev/null +++ b/modules/services/banksia.nix @@ -0,0 +1,11 @@ +# TODO ^^ +{ ... }: { + services.nginx.virtualHosts = { + "banksia.lava.moe" = { + useACMEHost = "lava.moe"; + forceSSL = true; + locations."/".return = "302 https://github.com/cillynder/Banksia"; + locations."/api".proxyPass = "http://localhost:8080/"; + }; + }; +} diff --git a/modules/services/nginx.nix b/modules/services/nginx.nix index 10a2d84..51641b4 100644 --- a/modules/services/nginx.nix +++ b/modules/services/nginx.nix @@ -2,17 +2,20 @@ networking.firewall.allowedTCPPorts = [ 80 443 ]; security.acme = { acceptTerms = true; - defaults.email = "me@lava.moe"; - certs."lava.moe" = { + defaults = { + email = "me@lava.moe"; group = "nginx"; - domain = "lava.moe"; + dnsProvider = "cloudflare"; + credentialsFile = config.age.secrets."acme_dns".path; + }; + certs."lava.moe" = { extraDomainNames = [ "*.lava.moe" "*.local.lava.moe" ]; - dnsProvider = "cloudflare"; - credentialsFile = config.age.secrets."acme_dns".path; }; + certs."cilly.moe" = {}; + certs."cilly.dev" = {}; }; services.nginx = { diff --git a/modules/services/website.nix b/modules/services/website.nix index 5e7a223..2ef679b 100644 --- a/modules/services/website.nix +++ b/modules/services/website.nix @@ -1,5 +1,17 @@ -{ inputs, ... }: { +{ inputs, pkgs, ... }: let + pastel = inputs.pastel.packages.${pkgs.system}.default; +in { services.nginx.virtualHosts = { + "cilly.moe" = { + useACMEHost = "cilly.moe"; + forceSSL = true; + root = pastel.outPath; + }; + "cilly.dev" = { + useACMEHost = "cilly.dev"; + forceSSL = true; + root = pastel.outPath; + }; "lava.moe" = { useACMEHost = "lava.moe"; forceSSL = true;