use nix-systems

This commit is contained in:
Reid 2025-12-14 13:55:51 -08:00
parent 5fe76f6f45
commit c21185aef8
Signed by: reidlab
GPG key ID: DAF5EAF6665839FD
3 changed files with 57 additions and 69 deletions

View file

@ -2,47 +2,53 @@
description = "reidlab.pink";
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
systems.url = "github:nix-systems/default-linux";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
outputs = { self, nixpkgs, systems, ... }:
let
inherit (nixpkgs) lib;
eachSystem = lib.genAttrs (import systems);
pkgsFor = eachSystem (system: import nixpkgs { inherit system; });
package = builtins.fromJSON (builtins.readFile ./package.json);
in {
packages = eachSystem (system: let
pkgs = pkgsFor.${system};
in rec {
default = reidlab-pink;
reidlab-pink = pkgs.buildNpmPackage {
pname = package.name;
inherit (package) version;
# uncomment this and let the build fail, then get the current hash
# very scuffed but endorsed!
#npmDepsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
npmDepsHash = "sha256-XCGUKgLZxW7MonHswkp7mbvgeUlRCgBE3WnRjElf44Q=";
installPhase = ''
runHook preInstall
mkdir -p $out
mv ./dist/* $out/
runHook postInstall
'';
src = ./.;
};
package = builtins.fromJSON (builtins.readFile ./package.json);
});
devShells = eachSystem (system: let
pkgs = pkgsFor.${system};
in {
packages = flake-utils.lib.flattenTree rec {
default = reidlab-pink;
reidlab-pink = pkgs.buildNpmPackage {
pname = package.name;
inherit (package) version;
# uncomment this and let the build fail, then get the current hash
# very scuffed but endorsed!
#npmDepsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
npmDepsHash = "sha256-XCGUKgLZxW7MonHswkp7mbvgeUlRCgBE3WnRjElf44Q=";
installPhase = ''
runHook preInstall
mkdir -p $out
mv ./dist/* $out/
runHook postInstall
'';
src = ./.;
};
};
devShells.default = pkgs.mkShell {
default = pkgs.mkShell {
packages = with pkgs; [
nodejs
nodePackages.npm
];
};
});
});
};
}