{
description = "tlater.net web server contents";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-22.05";
nix-filter.url = "github:numtide/nix-filter";
npmlock2nix = {
url = "github:nix-community/npmlock2nix";
flake = false;
};
outputs = {
self,
nixpkgs,
nix-filter,
npmlock2nix,
}: let
# At the moment, we only deploy to x86_64-linux. Update when we
# care about another platform.
system = "x86_64-linux";
overlays = [
(final: prev: {
npmlock2nix = import npmlock2nix {pkgs = prev;};
})
];
pkgs = import nixpkgs {inherit system overlays;};
in {
packages.${system} = rec {
tlaternet-templates = pkgs.npmlock2nix.build {
src = pkgs.lib.cleanSource self;
buildInputs = with pkgs; [
util-linux
installPhase = ''
cp -r dist $out/
'';
node_modules_attrs = {
pkg-config
python3
vips
glib
default = tlaternet-templates;
devShells.${system} = {
default = pkgs.npmlock2nix.shell {
src = nix-filter.lib {
root = self;
include = [
"package.json"
"package-lock.json"
buildInputs = with pkgs.nodePackages; [
npm-check-updates
prettier
}