60 lines
1.2 KiB
Nix
60 lines
1.2 KiB
Nix
{
|
|
description = "Zola homepage for lix.systems";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
}: let
|
|
forAllSystems = function:
|
|
builtins.mapAttrs
|
|
(system: pkgs: function (pkgs.appendOverlays [self.overlays.default]))
|
|
nixpkgs.legacyPackages;
|
|
in {
|
|
devShells = forAllSystems (pkgs: {
|
|
default = pkgs.mkShell {
|
|
inputsFrom = [pkgs.lix-systems-website];
|
|
};
|
|
});
|
|
|
|
packages = forAllSystems (pkgs: {
|
|
default = pkgs.lix-systems-website;
|
|
});
|
|
|
|
overlays.default = final: prev: {
|
|
lix-systems-website = final.stdenv.mkDerivation {
|
|
name = "lix.systems";
|
|
src = self;
|
|
nativeBuildInputs = [final.zola];
|
|
buildPhase = ''
|
|
zola build
|
|
'';
|
|
installPhase = ''
|
|
cp -r public "$out"
|
|
'';
|
|
};
|
|
};
|
|
|
|
nixosModules.default = {pkgs}: let
|
|
host = "lix.systems";
|
|
in {
|
|
nixpkgs.overlays = [self.overlays.default];
|
|
|
|
services.nginx = {
|
|
enable = true;
|
|
|
|
virtualHosts = {
|
|
"${host}" = {
|
|
forceSSL = true;
|
|
enableACME = true;
|
|
root = "${pkgs.lix-systems-website}";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|