From 30bd041431a50f80d9acef02d71bf389704e64ca Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Sat, 23 Oct 2021 00:27:43 -0700 Subject: [PATCH] Try rewrite code to improve service configuration --- flake.nix | 22 +++++---------------- default.nix => lib.nix | 43 ++++++++++++++++++++---------------------- 2 files changed, 25 insertions(+), 40 deletions(-) rename default.nix => lib.nix (62%) diff --git a/flake.nix b/flake.nix index 3c5c3cb..4d950f5 100644 --- a/flake.nix +++ b/flake.nix @@ -18,23 +18,11 @@ }; outputs = { self, blog-source, blog-source-localized, nixpkgs, flake-utils }: - flake-utils.lib.eachDefaultSystem ( - system: - let - pkgs = import nixpkgs { inherit system; }; - blog = import ./default.nix { - inherit blog-source blog-source-localized pkgs; - }; - in - { - packages = { - english = blog.english; - "drafts/russian" = blog.drafts.russian; - "drafts/english" = blog.drafts.english; - }; - defaultPackage = blog.english; - } - ) // { + { + buildersFor = system: import ./lib.nix { + inherit blog-source blog-source-localized; + pkgs = import nixpkgs { inherit system; }; + }; nixosModule = (import ./module.nix); }; } diff --git a/default.nix b/lib.nix similarity index 62% rename from default.nix rename to lib.nix index fd98784..e93325e 100644 --- a/default.nix +++ b/lib.nix @@ -8,6 +8,7 @@ let name = "blog-static"; version = settings.source.rev; src = settings.source; + ssl = settings.ssl; urlSub = let regexEscape = lib.escape [ "/" "(" ")" "[" "]" "+" "*" "\\" ]; @@ -28,31 +29,27 @@ let (ruby.withPackages (ps: [ ps.nokogiri ])) ]; }; + wrapHost = ssl: host: (if ssl then "https" else "http") + "//${host}"; in - { - english = website { + lib = { + english = settings: website { + inherit (settings) drafts; + ssl = settings.ssl or false; source = blog-source; path = "."; - drafts = false; - }; - drafts = { - english = website { - source = blog-source; - path = "."; - drafts = true; - replaceUrl = { - from = "https://danilafe.com"; - to = "http://drafts.danilafe.com"; - }; - }; - russian = website { - source = blog-source-localized; - path = "ru"; - drafts = true; - replaceUrl = { - from = "https://ru.danilafe.com"; - to = "http://drafts.ru.danilafe.com"; - }; + replaceUrl = { + from = "https://danilafe.com"; + to = wrapHost settings.ssl settings.host; }; }; - } + russian = settings: website { + inherit (settings) drafts; + ssl = settings.ssl or false; + source = blog-source-localized; + path = "ru"; + replaceUrl = { + from = "https://ru.danilafe.com"; + to = wrapHost settings.ssl settings.host; + }; + }; + };