IFD-embracing Nix expression to import pnpm lock files in Nix derivations
1# SPDX-FileCopyrightText: 2026 Sefa Eyeoglu <contact@scrumplex.net>
2#
3# SPDX-License-Identifier: MIT
4
5{
6 description = "A very basic flake";
7
8 inputs = {
9 nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
10 systems.url = "github:nix-systems/default";
11 };
12
13 outputs =
14 {
15 self,
16 nixpkgs,
17 systems,
18 ...
19 }:
20 let
21 forSystems =
22 attrs:
23 nixpkgs.lib.genAttrs (import systems) (
24 system:
25 attrs {
26 inherit system;
27 pkgs = nixpkgs.legacyPackages.${system};
28 ourPackages = self.legacyPackages.${system};
29 }
30 );
31 in
32 {
33 formatter = forSystems ({ pkgs, ... }: pkgs.nixfmt-tree);
34 devShells = forSystems (
35 { pkgs, ... }:
36 {
37 default = pkgs.mkShell {
38 packages = with pkgs; [ reuse ];
39 };
40 }
41 );
42
43 overlays.default = final: _: import ./. { pkgs = final; };
44
45 legacyPackages = forSystems ({ pkgs, ... }: import ./. { inherit pkgs; });
46
47 checks = forSystems (
48 { pkgs, ourPackages, ... }:
49 {
50 vencord = pkgs.callPackage ./checks/vencord.nix {
51 inherit (ourPackages) importPnpmLock iplConfigHook;
52 };
53 }
54 );
55 };
56}