www/flake.nix

67 lines
1.7 KiB
Nix
Raw Normal View History

2023-09-13 15:45:47 -05:00
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
# SPDX-License-Identifier: MPL-2.0
{
inputs = {
2023-09-14 14:51:37 -05:00
devshell = {
url = "github:numtide/devshell";
inputs.nixpkgs.follows = "nixpkgs";
inputs.systems.follows = "systems";
};
flake-utils = {
url = "github:numtide/flake-utils";
inputs.systems.follows = "systems";
};
2023-09-13 15:45:47 -05:00
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
2023-09-14 14:51:37 -05:00
systems.url = "github:nix-systems/default";
zerm = {
url = "github:ejmg/zerm";
flake = false;
};
2023-09-13 15:45:47 -05:00
};
outputs = {
2023-09-14 14:51:37 -05:00
devshell,
2023-09-13 15:45:47 -05:00
flake-utils,
nixpkgs,
2023-09-14 14:51:37 -05:00
zerm,
2023-09-13 15:45:47 -05:00
...
}: (flake-utils.lib.eachDefaultSystem (system: let
2023-09-14 14:51:37 -05:00
pkgs = import nixpkgs {
inherit system;
overlays = [devshell.overlays.default];
};
2023-09-14 15:12:22 -05:00
pkg = pkgs.stdenv.mkDerivation {
pname = "averywinters.org";
version = "1.0.0";
src = ./.;
nativeBuildInputs = [pkgs.zola];
configurePhase = ''
mkdir -p themes
ln -snf "${zerm}" "themes/zerm"
'';
buildPhase = "zola build";
installPhase = "cp -r public $out";
};
2023-09-13 15:45:47 -05:00
in {
formatter = pkgs.alejandra;
2023-09-14 14:51:37 -05:00
devShells.default = let
commands = [
{package = pkgs.zola;}
];
startupScript = ''
mkdir -p themes
ln -snf "${zerm}" "themes/zerm"
'';
in
pkgs.devshell.mkShell {
inherit commands;
devshell.startup.themes.text = startupScript;
};
2023-09-14 15:12:22 -05:00
packages.default = pkg;
overlays.default = final: prev: {
www = pkg;
2023-09-14 14:51:37 -05:00
};
2023-09-13 15:45:47 -05:00
}));
}