blob: d7b0ac3587cdb90a573f09544b201bd12ca80ed2 (
plain) (
blame)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
{ pkgs, lib, profpatsch }:
let
inherit (pkgs)
callPackage
dontRecurseIntoAttrs
fetchurl
fetchFromGitHub
ocamlPackages
python3Packages
writers
haskell
;
inherit (profpatsch)
getBins
;
bins = getBins pkgs.bemenu [ "bemenu" ];
haskellPackages = pkgs.haskellPackages.override {
overrides = self: super: {
emoji-generic = haskell.lib.overrideSrc
(self.callPackage ./emoji-generic { }) {
src = fetchFromGitHub {
owner = "sternenseemann";
repo = "emoji-generic";
rev = "936167ca50bc22718b66b74db06da17b1197b21e";
sha256 = "0gj58nh5agjqxim64pb2s32rd9s3hy02p4x5klfshgf25qpcwmvs";
};
version = "unstable-2022-04-09";
};
};
};
rust = callPackage ./rust {
inherit (profpatsch)
writeRustSimpleBin
writeRustSimpleLib
;
};
in
lib.fix (self: {
# nix utilities
lib = callPackage ./lib { };
# packaged sterniware
inherit (haskellPackages) emoji-generic;
logbook = ocamlPackages.callPackage ./logbook { };
inherit (rust)
nix-env-diff
temp
;
scripts = dontRecurseIntoAttrs (callPackage ./scripts {
inherit (writers) writeBashBin;
inherit getBins;
});
tep = callPackage ./tep {
inherit (haskellPackages)
emoji-generic text utf8-light
attoparsec bytestring;
inherit (writers) writeBashBin writeHaskell;
emojiTestTxt = fetchurl {
url = "https://www.unicode.org/Public/emoji/15.0/emoji-test.txt";
sha256 = "1nskm3qqb568dlsz54r0ympqbzyf9zhn40lxw5mhk3iqr0xg4ic4";
};
};
vuizvui-update-programs-sqlite = python3Packages.callPackage ./vuizvui-update-programs-sqlite {
inherit (pkgs.writers) writePython3;
inherit (profpatsch) getBins;
};
# customized third party software
acme = callPackage ./acme {
inherit (self) plan9port;
};
pass = (pkgs.pass.override {
waylandSupport = true;
x11Support = false;
dmenuSupport = true;
}).overrideAttrs (old: {
postPatch = old.postPatch + ''
substituteInPlace "contrib/dmenu/passmenu" \
--replace "dmenu-wl" "${bins.bemenu}"
'';
});
plan9port = pkgs.plan9port.overrideAttrs (old: {
patches = old.patches or [] ++ [
./acme/neo-modifier-fix.patch
];
});
texlive = pkgs.texlive.combine {
inherit (pkgs.texlive)
scheme-medium minted titlesec units collection-bibtexextra wrapfig
libertine enumitem dashrule ifmtarg xstring xgreek adjustbox
collectbox csquotes biblatex-philosophy quoting breakurl
capt-of hyphen-greek chemfig chemformula;
};
# packaged 3rd party software
saneterm = pkgs.python39Packages.callPackage ./saneterm { };
})
|