lix.systems/flake.nix
2024-03-12 17:04:24 -07:00

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}";
};
};
};
};
};
}