Skip to content
Snippets Groups Projects
Select Git revision
  • c238082af3afdc3e4186d6a2bb83a18d4385c8de
  • master default protected
  • 1.31
  • 4.38.8
  • 4.38.7
  • 4.38.6
  • 4.38.5
  • 4.38.4
  • 4.38.3
  • 4.38.2
  • 4.38.1
  • 4.38.0
  • 4.37.2
  • 4.37.1
  • 4.37.0
  • 4.36.0
  • 4.35.0
  • 4.34.1
  • 4.34.0
  • 4.33.1
  • 4.33.0
  • 4.32.2
  • 4.32.1
23 results

flake.nix

Blame
  • Volker Schukai's avatar
    aaf32bbc
    History
    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";