Select Git revision
flake.nix 5.54 KiB
{
description = "Monster is a javascript and component library for building fantastic web applications.";
inputs = {
nixpkgs = {url = "github:nixos/nixpkgs/nixos-24.11";};
flake-utils = {url = "github:numtide/flake-utils";};
commonFlake = {
url = "git+https://gitlab.schukai.com/schukai/entwicklung/nix-flakes.git?dir=common";
flake = true;
inputs.nixpkgs.follows = "nixpkgs";
};
versionFlake = {
url = "git+https://gitlab.schukai.com/oss/utilities/version.git";
flake = true;
inputs.nixpkgs.follows = "nixpkgs";
};
certificatesFlake = {
url = "git+https://gitlab.schukai.com/alvine/certificates.git";
flake = true;
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
flake-utils,
versionFlake,
commonFlake,
certificatesFlake,
} @ inputs:
flake-utils.lib.eachDefaultSystem (system: let
inherit (nixpkgs.lib) optional;
commonPck = commonFlake.packages.${system}.common;
versionPck = versionFlake.packages.${system}.version;
pkgs' = import nixpkgs {
inherit system;
overlays = [
(final: prev: {
common = commonPck;
})
(final: prev: {
alvineDevCerts = certificatesFlake;
})
(final: prev: {
version = versionPck;
})
(final: prev: {
projectNodeJS = prev.nodejs_22;
})
];
};
in {
packages = rec {
monster = pkgs'.callPackage ./nix/packages/monster.nix {inherit self pkgs';};
default = monster;
};
devShells = {
default = let
commonPck = commonFlake.packages.${system}.common;
commonScript = commonPck + "/bin/common";