mirror of
https://codeberg.org/angestoepselt/homepage.git
synced 2025-05-24 14:46:16 +00:00
70 lines
2 KiB
Nix
70 lines
2 KiB
Nix
{
|
|
description = "Angestöpselt Homepage";
|
|
|
|
inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
flake-utils,
|
|
}:
|
|
flake-utils.lib.eachDefaultSystem (system: let
|
|
pkgs = import nixpkgs {inherit system;};
|
|
|
|
nodejs = pkgs.nodejs-18_x;
|
|
nodePackages = import ./nix/default.nix {inherit pkgs system nodejs;};
|
|
nodeDependencies = nodePackages.nodeDependencies.override {
|
|
src = pkgs.runCommand "angestoepselt-homepage-package-json" {} ''
|
|
mkdir -p "$out"
|
|
cp ${./package.json} "$out/package.json"
|
|
cp ${./package-lock.json} "$out/package-lock.json"
|
|
'';
|
|
nativeBuildInputs = [pkgs.pkg-config];
|
|
buildInputs = [pkgs.vips pkgs.glib];
|
|
};
|
|
|
|
python = pkgs.python310.withPackages (ps:
|
|
with ps; [
|
|
itsdangerous
|
|
requests
|
|
]);
|
|
in rec {
|
|
packages = {
|
|
devEnv = pkgs.symlinkJoin {
|
|
name = "angestoepselt-homepage-dev";
|
|
paths = [
|
|
pkgs.lighttpd
|
|
nodejs
|
|
nodeDependencies
|
|
python
|
|
];
|
|
|
|
buildInputs = [pkgs.makeWrapper];
|
|
postBuild = ''
|
|
wrapProgram "$out/bin/node" \
|
|
--prefix PATH : "$out/lib/node_modules/.bin" \
|
|
--prefix NODE_PATH : "$out/lib/node_modules"
|
|
'';
|
|
|
|
shellHook = ''
|
|
echo ""
|
|
echo " To start editing content, run:"
|
|
echo ""
|
|
echo "npm run build:styles"
|
|
echo "npm run dev:site"
|
|
echo ""
|
|
echo " The site will be available under http://localhost:8080/ for"
|
|
echo " local development and rebuilds automatically when content"
|
|
echo " changes."
|
|
echo ""
|
|
'';
|
|
};
|
|
};
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
name = "angestoepselt-homepage-shell";
|
|
packages = [packages.devEnv];
|
|
};
|
|
});
|
|
}
|