HOME TOC REPO
1  ---------------------------------------------------------------------------------------
2  nixCats.flake.nixperts.overlays
3  
4  # The following is the overlays/default.nix file.
5  # you may copy paste it into a file then include it in your flake.nix
6  # to add new overlays you should follow 
7  # the example inside the comment block.
8  # it is done this way for convenience but you could do it another way.
9  
10 # When importing these overlays from one nixCats into another using its otherOverlays,
11 # you should use the utils.mergeOverlays function to combine them.
12 # This will allow you not to worry about other nixCats overlay
13 # imports from having import naming conflicts with your own. 
14 
15   /*
16   This file imports overlays defined in the following format.
17   Plugins will still only be downloaded if included in a category.
18   You may copy paste this example into a new file and then import that file here.
19   */
20   # Example overlay:
21   /*
22   importName: inputs: let
23     overlay = self: super: { 
24       ${importName} = {
25         # define your overlay derivations here
26       };
27     };
28   in
29   overlay
30   */
31   inputs: let 
32     overlaySet = {
33 
34       # this is how you would add another overlay file
35       # for if your customBuildsOverlay gets too long
36       # the name here will be the name used when importing items from it in your flake.
37       # i.e. these items will be accessed as pkgs.nixCatsBuilds.thenameofthepackage
38       nixCatsBuilds = import ./customBuildsOverlay.nix;
39 
40     };
41   in
42   # calls the functions from the overlay files to create the overlays,
43   # then puts them in a list.
44   builtins.attrValues (builtins.mapAttrs (name: value: (value name inputs)) overlaySet)
45 
46 ---------------------------------------------------------------------------------------
47 Example overlays without the comments:
48 The value in importName is the name in the set from overlaySet
49 You dont need to use it, but it helps in avoiding naming conflicts.
50 
51   */
52   # Example overlay:
53   /*
54   importName: inputs: let
55     overlay = self: super: { 
56       ${importName} = {
57         # define your overlay derivations here
58       };
59     };
60   in
61   overlay
62 
63   # Example overlay 2:
64   importName: inputs: let
65     overlay = self: super: { 
66       ${importName} = some.derivation.here;
67     };
68   in
69   overlay
70 
71 ---------------------------------------------------------------------------------------
72 vim:tw=78:ts=8:ft=help:norl: