-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathflake.nix
52 lines (41 loc) · 1.7 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
description = "A kick ass library to extend your DevOS experience";
inputs =
{
nixpkgs.url = "github:nixos/nixpkgs/release-21.11";
};
outputs =
{ self
, nixpkgs
, ...
}@inputs:
let
# Unofficial Flakes Roadmap - Polyfills
# .. see: https://demo.hedgedoc.org/s/_W6Ve03GK#
# .. also: <repo-root>/ufr-polyfills
# Super Stupid Flakes (ssf) / System As an Input - Style:
supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
ufrContract = import ./ufr-polyfills/ufrContract.nix;
# Dependency Groups - Style
# .. we hope you like this style.
# .. it's adopted by a growing number of projects.
# Please consider adopting it if you want to help to improve flakes.
makeExtLib = pkgSet: path: { pkgSetUtils ? "${pkgSet}-utils" }@attrs: [
(import ./src/overlay.nix pkgSet path attrs)
] ++ nixpkgs.lib.optionals
(builtins.pathExists "${path}/overlay.nix")
[ "${path}/overlay.nix" ];
in
{
lib.makeExtLib = makeExtLib;
# what you came for ...
packages = ufrContract supportedSystems ./. inputs self;
overlays = {
minecraft-mods = makeExtLib "minecraft-mods" ./src/pkgs/misc/minecraft-mods { };
papermc = makeExtLib "papermc-pkgs" ./src/pkgs/games/papermc { pkgSetUtils = "papermc-utils"; };
python3Packages = makeExtLib "python3Packages" ./src/pkgs/development/python-modules { };
vimPlugins = makeExtLib "vimPlugins" ./src/pkgs/misc/vim-plugins { pkgSetUtils = "vimUtils"; };
vscode-extensions = makeExtLib "vscode-extensions" ./src/pkgs/misc/vscode-extensions { pkgSetUtils = "vscode-utils"; };
};
};
}