generated from nix-community/nur-packages-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdefault.nix
45 lines (39 loc) · 1.29 KB
/
default.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
# This file describes your repository contents.
# It should return a set of nix derivations
# and optionally the special attributes `lib`, `modules` and `overlays`.
# It should NOT import <nixpkgs>. Instead, you should take pkgs as an argument.
# Having pkgs default to <nixpkgs> is fine though, and it lets you use short
# commands such as:
# nix-build -A mypackage
{ pkgs ? import <nixpkgs> { } }:
let
dc-lib = import ./lib { inherit (pkgs) lib; }; # functions
in {
# The `lib`, `modules`, and `overlay` names are special
lib = dc-lib;
modules = builtins.listToAttrs (
map (m: {
name = m;
value = import (./modules + "/${m}");
}) (dc-lib.listSubdirNames ./modules)
);
overlays = import ./overlays; # nixpkgs overlays
emacsPackages = builtins.listToAttrs (
map (p: {
name = p;
value = pkgs.callPackage (./pkgs/emacs + "/${p}") { };
}) (dc-lib.listSubdirNames ./pkgs/emacs)
);
cspellDicts = builtins.listToAttrs (
map (p: {
name = p;
value = pkgs.callPackage (./pkgs/cspell-dicts + "/${p}") { };
}) (dc-lib.listSubdirNames ./pkgs/cspell-dicts)
);
} // (builtins.listToAttrs (
# top-level
map (p: {
name = p;
value = pkgs.callPackage (./pkgs/top-level + "/${p}") { };
}) (dc-lib.listSubdirNames ./pkgs/top-level)
))