]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - default.nix
Make the use of nixpkgs more homogeneous for env
[perso/Immae/Config/Nix.git] / default.nix
1 with import <nixpkgs> {};
2 with import ./libs.nix { nixpkgs = import <nixpkgs> {}; };
3 let
4 mypkgs = {};
5
6 mypkgs.ledger = (ledger.override { boost = boost166; }).overrideAttrs (_old:
7 fetchedGithub ./fetched/ledger.json // {
8 postInstall = "";
9 }
10 );
11
12 mypkgs.taskwarrior = taskwarrior.overrideAttrs (old: rec {
13 postInstall = ''${old.postInstall}
14 mkdir -p "$out/share/vim/vimfiles/ftdetect"
15 mkdir -p "$out/share/vim/vimfiles/syntax"
16 ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/"
17 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/"
18 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/"
19 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/"
20 '';
21 });
22
23 mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old:
24 fetchedGithub ./fetched/vit.json // {
25 buildInputs = old.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
26 }
27 );
28
29 mypkgs.weboob = (pythonPackages.weboob.overridePythonAttrs {
30 setupPyBuildFlags = [ "--no-qt" "--xdg" ];
31 }).overrideAttrs (old: rec {
32 postInstall = ''${old.postInstall or ""}
33 mkdir -p $out/share/bash-completion/completions/
34 cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob
35 '';
36 });
37
38 mypkgs.slrn = slrn.overrideAttrs (old: rec {
39 version = "1.0.3a";
40 name = "slrn-${version}";
41 src = fetchurl {
42 url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
43 sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
44 };
45 configureFlags = old.configureFlags ++ [ "--with-slrnpull" ];
46 });
47
48 mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json);
49
50 nixos = import ./nixos_tools.nix {};
51
52 mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old:
53 fetchedGit ./fetched/pass.json // {
54 patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ];
55 }
56 );
57
58 mypkgs.profanity = (profanity.override {
59 notifySupport = true;
60 inherit libnotify gpgme gdk_pixbuf;
61 python = python3;
62 }).overrideAttrs (old: rec {
63 configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
64 });
65
66 mypkgs.weechat = weechat.override {
67 configure = { availablePlugins, ... }: {
68 plugins = with availablePlugins; [
69 # Make sure websocket_client is not 0.55.0, it provokes
70 # regular crashes
71 (python.withPackages (ps: with ps; [websocket_client emoji]))
72 perl
73 ruby
74 ];
75 };
76 };
77
78 buildPerlPackage = perlPackages.buildPerlPackage;
79 mypkgs.note = buildPerlPackage rec {
80 name = "note-1.3.26";
81 src = fetchurl {
82 url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz";
83 sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq";
84 };
85 outputs = ["out" "man"];
86 propagatedBuildInputs = [ perlPackages.YAML ];
87 meta = with stdenv.lib; {
88 description = "A perl script for maintaining notes";
89 homepage = http://www.daemon.de/NOTE;
90 license = licenses.gpl3;
91 maintainers = with maintainers; [ { name = "T.v.Dein"; email = "tlinden@cpan.org"; } ];
92 platforms = platforms.unix;
93 };
94 };
95
96 mypkgs.terminal-velocity = with python36Packages; buildPythonApplication rec {
97 pname = "terminal-velocity-git";
98 version = "0.2.0";
99
100 patches = [
101 ./patches/terminal_velocity_sort_found_notes.patch
102 ./patches/terminal_velocity_python3_support.patch
103 # FIXME: update this patch when version changes
104 ./patches/terminal_velocity_fix_build.patch
105 ];
106
107 propagatedBuildInputs = [ chardet urwid (sh.overridePythonAttrs { doCheck = false; }) pyyaml ];
108 buildInputs = [ m2r (restructuredtext_lint.overridePythonAttrs { doCheck = false; }) pygments ];
109
110 postInstall = ''
111 rm $out/bin/terminal_velocity
112 '';
113 src = fetchPypi {
114 inherit pname version;
115 sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9";
116 };
117 };
118
119 mypkgs.mtop = buildPerlPackage rec {
120 name = "mtop-${version}";
121 version = "0.6.6";
122 src = fetchurl {
123 url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz";
124 sha256 = "0x0x5300b1j9i0xxk8rsrki0pspyzj2vylhzv8qg3l6j26aw0zrf";
125 };
126 outputs = ["out"];
127 buildInputs = [ perlPackages.DBI perlPackages.DBDmysql perlPackages.Curses ];
128
129 postInstall = ''
130 cd "$out"
131 preConfigure || true
132 '';
133 meta = with stdenv.lib; {
134 description = "MySQL top (monitor and examine slow queries)";
135 homepage = http://mtop.sourceforge.net/;
136 license = licenses.gpl3;
137 maintainers = with maintainers; [ { name = "Marc Prewitt"; email = "mprewitt@chelsea.net"; } ];
138 platforms = platforms.unix;
139 };
140 };
141
142 mypkgs.tiv = buildPerlPackage rec {
143 name = "tiv-${version}";
144 version = "2015";
145 src = fetchurl {
146 url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz";
147 sha256 = "1vq073v7z7vmcd57lhs4rf4jasji69cpjgkz4dykp94a77p1qq90";
148 };
149 outputs = ["out"];
150 buildInputs = [ perlPackages.PerlMagick ];
151 perlPreHookScript = ./hooks/tiv_builder.sh;
152 perlPreHook = ''
153 source ${perlPreHookScript}
154 '';
155 installPhase = ''
156 install -Dm755 tiv "$out/bin/tiv"
157 '';
158 };
159
160 mypkgs.cnagios = stdenv.mkDerivation (fetchedGithub ./fetched/cnagios.json // rec {
161 configureFlags = [
162 "--with-etc-dir=/etc/cnagios"
163 "--with-var-dir=/var/lib/naemon"
164 "--with-status-file=/var/lib/naemon/status.dat"
165 "--with-nagios-data=4"
166 ];
167
168 prePatch = ''
169 sed -i -e "s/-lcurses/-lncurses/" Makefile.in
170 '';
171 installPhase = ''
172 install -dm755 $out/share/doc/cnagios
173 install -Dm644 cnagiosrc $out/share/doc/cnagios/
174 install -Dm644 cnagios.help $out/share/doc/cnagios/
175 install -Dm644 cnagios.pl $out/share/doc/cnagios/
176 install -dm755 $out/bin
177 install -Dm755 cnagios $out/bin/
178 '';
179 propagatedBuildInputs = [ perl ncurses ];
180 });
181
182 mypkgs.nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json);
183
184 mypkgs.pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec {
185 propagatedBuildInputs = [ psycopg2 psutil ];
186 });
187
188 mypkgs.pgloader = stdenv.mkDerivation (fetchedGithub ./fetched/pgloader.json // rec {
189 buildInputs = [ sbcl cacert sqlite freetds libzip curl git openssl makeWrapper ];
190 LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ];
191 buildPhase = ''
192 export PATH=$PATH:$out/bin
193 export HOME=$TMPDIR
194 make pgloader
195 '';
196 dontStrip = true;
197 enableParallelBuilding = false;
198 installPhase = ''
199 install -Dm755 build/bin/pgloader "$out/bin/pgloader"
200 wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
201 '';
202 });
203
204 mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec {
205 propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ];
206 });
207
208 mypkgs.elinks = elinks.overrideAttrs (old:
209 fetchedGithub ./fetched/elinks.json // rec {
210 preConfigure = ''sh autogen.sh'';
211 buildInputs = old.buildInputs ++ [ gettext automake autoconf ];
212 configureFlags = [
213 "--disable-smb" "--without-x" "--enable-cgi"
214 "--enable-leds" "--enable-256-colors"
215 "--enable-html-highlight" "--with-zlib"
216 ];
217 patches = [];
218 }
219 );
220
221 mypkgs.neomutt = neomutt.overrideAttrs (old:
222 rec {
223 buildInputs = old.buildInputs ++ [ gdbm ];
224 configureFlags = old.configureFlags ++ [ "--gdbm" ];
225 }
226 );
227
228 # mypkgs.nagnu = stdenv.mkDerivation (fetchedGithub ./fetched/nagnu.json // rec {
229 # buildInputs = [ ncurses curl ];
230 # installPhase = ''
231 # mkdir -p $out/bin
232 # cp nagnu $out/bin
233 # mkdir -p $out/share/doc/nagnu
234 # cp nagnu.conf.sample $out/share/doc/nagnu
235 # mkdir -p $out/share/man/man8
236 # cp docs/nagnu.8 $out/share/man/man8
237 # '';
238 # });
239
240 mypkgs.goaccess = goaccess.overrideAttrs(old: rec {
241 name = "goaccess-${version}";
242 version = "1.3";
243 src = fetchurl {
244 url = "https://tar.goaccess.io/${name}.tar.gz";
245 sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc";
246 };
247 configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ];
248 buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ];
249 });
250
251 mypkgs.mutt-ics = with python3Packages; buildPythonApplication (fetchedGithub ./fetched/mutt-ics.json // rec {
252 propagatedBuildInputs = [ icalendar ];
253 });
254
255 mypkgs.telegram-cli = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-cli.json // rec {
256 patches = [
257 ./patches/telegram-cli.patch
258 ];
259 buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ];
260 preBuild = ''
261 sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c
262 '';
263 installPhase = ''
264 mkdir -p $out
265 install -Dm755 bin/telegram-cli $out/bin/telegram-cli
266 install -Dm644 tg-server.pub $out/etc/server.pub
267 install -Dm644 debian/telegram-cli.8 $out/man/man8/telegram-cli.8
268 '';
269 });
270
271 mypkgs.telegram-history-dump = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-history-dump.json // rec {
272 installPhase = ''
273 mkdir -p $out/lib $out/bin
274 cp -a $src $out/lib/telegram-history-dump
275 ln -s $out/lib/telegram-history-dump/telegram-history-dump.rb $out/bin/telegram-history-dump
276 '';
277 buildInputs = [ ruby ];
278 });
279
280 mypkgs.muttprint = stdenv.mkDerivation rec {
281 name = "muttprint-${version}";
282 version = "0.73";
283 src = fetchurl {
284 url = "http://downloads.sf.net/muttprint/${name}.tar.gz";
285 sha256 = "1dny4niyibfgazwlzfcnb37jy6k140rs6baaj629z12rmahfdavw";
286 };
287 patches = [
288 ./patches/muttprint_0.73-4.diff.gz
289 ./patches/muttprint_regex.patch
290 ./patches/muttprint_two_edge.patch
291 ];
292 preConfigure = ''
293 aclocal
294 automake --add-missing --copy
295 autoconf
296 '';
297 preBuild = ''
298 cd pics
299 convert -flop BabyTuX.eps BabyTuX.eps
300 for i in BabyTuX_color.eps BabyTuX.eps Debian_color.eps \
301 Debian.eps Gentoo.eps Gentoo_color.eps ; do
302 convert $i $(basename $i .eps).png
303 done
304 convert penguin.eps penguin.jpg
305 cd ..
306 '';
307 postInstall = ''
308 perlFlags=
309 for i in $(IFS=:; echo $PERL5LIB); do
310 perlFlags="$perlFlags -I$i"
311 done
312
313 sed -i "$out/bin/muttprint" -e "s|^#\!\(.*[ /]perl.*\)$|#\!\1$perlFlags|"
314 sed -i "$out/bin/muttprint" -e "s|ENV{HOME}/.muttprintrc|ENV{XDG_CONFIG_HOME}/muttprint/muttprintrc|"
315
316 wrapProgram $out/bin/muttprint \
317 --prefix PATH : ${lib.makeBinPath [ psutils dialog
318 (texlive.combine { inherit (texlive) scheme-basic utopia fancyvrb lastpage marvosym ucs cm-super; }) ]}
319 '';
320 buildInputs = [ makeWrapper automake autoconf imagemagick ghostscript perl ] ++
321 (with perlPackages; [ TimeDate FileWhich TextIconv ]);
322 };
323
324 mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;
325
326 mypkgs.cardano = let
327 daedalusOrig = (import (fetchedGithub ./fetched/daedalus.json).src {}).daedalus;
328 cfg = stdenv.mkDerivation rec {
329 name = "launcher-config-custom";
330 src = daedalusOrig.cfg;
331 installPhase = ''
332 cp -a $src $out
333 chmod -R u+w $out
334 cd $out/etc
335 sed -e "/^walletPath/d" -e "/^walletArgs/d" launcher-config.yaml > launcher-config-server-only.yaml
336 '';
337 };
338 daedalus = stdenv.mkDerivation rec {
339 name = "daedalus-custom";
340 src = daedalusOrig;
341 installPhase = ''
342 cp -a $src $out
343 chmod -R u+w $out
344 cd $out/bin
345 sed -i -e "s@${builtins.storeDir}/[0-9a-z]*-daedalus-config@${cfg}/etc@" daedalus
346 sed -e "s@${cfg}/etc/launcher-config.yaml@${cfg}/etc/launcher-config-server-only.yaml@" daedalus > daedalus-server-only
347 chmod a+x daedalus-server-only
348 '';
349 };
350 in
351 daedalus;
352
353 mypkgs.sia = stdenv.mkDerivation rec {
354 version = "v1.3.7";
355 name = "Sia-${version}";
356 src = fetchzip {
357 url = "https://sia.tech/static/releases/${name}-linux-amd64.zip";
358 sha256 = "1ljzwrlkx4hc16r8siiyakn039afipp95dyr83c8yfq3r3bfasqd";
359 };
360 phases = "installPhase";
361 installPhase = ''
362 mkdir -p $out/share/doc
363 mkdir -p $out/bin
364 mkdir -p $out/share/sia
365 cp -a $src/doc $out/share/doc/sia
366 cp -a $src/LICENSE $src/README.md $out/share/sia
367 cp -a $src/{siac,siad} $out/bin
368 cp -a $src/{siac,siad}.sig $out/share/sia/
369 '';
370 };
371
372 mypkgs.iota-cli-app = let
373 nodeEnv = pkgs.callPackage "${nodePackages.node2nix}/lib/node_modules/node2nix/nix/node-env.nix" {
374 nodejs = nodejs-8_x;
375 };
376 # built using node2nix -8 -l package-lock.json
377 # and changing "./." to "src"
378 packageEnv = import ./fetched/iota-cli-app-node-packages.nix {
379 src = stdenv.mkDerivation (fetchedGithub ./fetched/iota-cli-app.json // {
380 phases = "installPhase";
381 installPhase = ''
382 cp -a $src $out
383 chmod u+w -R $out
384 cd $out
385 sed -i -e "s@host: 'http://localhost',@host: 'https://iri.trytes.eu',@" index.js
386 sed -i -e "s@port: 14265@port: 443@" index.js
387 '';
388 });
389 inherit (pkgs) fetchurl fetchgit;
390 inherit nodeEnv;
391 };
392 in
393 packageEnv.package;
394
395 mypkgs.duply = stdenv.mkDerivation rec {
396 name = "duply-${version}";
397 version = "2.1";
398
399 src = fetchurl {
400 url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.1.x/duply_${version}.tgz";
401 sha256 = "0i5j7h7h6ssrwhll0sfhymisshg54kx7j45zcqffzjxa0ylvzlm8";
402 };
403
404 buildInputs = [ txt2man makeWrapper ];
405
406 postPatch = "patchShebangs .";
407
408 installPhase = ''
409 mkdir -p "$out/bin"
410 mkdir -p "$out/share/man/man1"
411 install -vD duply "$out/bin"
412 sed -i $out/bin/duply -e "1a \
413 export PATH='${stdenv.lib.makeBinPath [ coreutils python2 duplicity gawk gnupg1 bash gnugrep txt2man which ]}'
414 " -e "1a \
415 export DUPL_PYTHON_BIN=$(basename ${duplicity}/lib/python*)
416 "
417 "$out/bin/duply" txt2man > "$out/share/man/man1/duply.1"
418 '';
419
420 meta = with stdenv.lib; {
421 description = "Shell front end for the duplicity backup tool";
422 longDescription = ''
423 Duply is a shell front end for the duplicity backup tool
424 http://duplicity.nongnu.org/. It greatly simplifies it's usage by
425 implementing backup job profiles, batch commands and more. Who says
426 secure backups on non-trusted spaces are no child's play?
427 '';
428 homepage = http://duply.net/;
429 license = licenses.gpl2;
430 maintainers = [ maintainers.bjornfor ];
431 platforms = stdenv.lib.platforms.unix;
432 };
433 };
434
435 mypkgs.boinctui = stdenv.mkDerivation rec {
436 name = "boinctui-${version}";
437 version = "2.5.0";
438 src = fetchurl {
439 url = "http://sourceforge.net/projects/boinctui/files/boinctui_${version}.tar.gz";
440 sha256 = "16zxp8r4z6pllacdacg681y56cg2phnn3pm5gwszbsi93cix2g8p";
441 };
442
443 configureFlags = [ "--without-gnutls" ];
444 preConfigure = ''
445 autoconf
446 '';
447
448 preBuild = ''
449 sed -i -e 's/"HOME"/"XDG_CONFIG_HOME"/' src/cfg.cpp
450 sed -i -e 's@\.boinctui\.cfg@boinctui/boinctui.cfg@' src/mainprog.cpp
451 '';
452 buildInputs = [ expat openssl autoconf ncurses ];
453 };
454
455 mypkgs.sc-im = sc-im.overrideAttrs (old: {
456 buildPhase = ''
457 cd src
458 sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@'
459 cd ..
460 '' + old.buildPhase;
461 });
462
463 mypkgs.notmuch-vim = stdenv.mkDerivation rec {
464 name = "notmuch-vim-${version}";
465 version = notmuch.version;
466 outputs = [ "out" ];
467 src = notmuch.src;
468 phases = [ "unpackPhase" "installPhase" ];
469 installPhase = ''
470 make -C vim DESTDIR=$out prefix="/share/vim/vimfiles" install
471 '';
472 };
473
474 mypkgs.notmuch-python2 = stdenv.mkDerivation rec {
475 name = "notmuch-python2-${version}";
476 version = notmuch.version;
477 outputs = [ "out" ];
478 buildInputs = [ python2Packages.sphinx python2Packages.python ];
479 src = notmuch.src;
480 phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
481 buildPhase = ''
482 cd bindings/python
483 python setup.py build
484 '';
485 installPhase = ''
486 python setup.py install --prefix=$out --optimize=1
487 '';
488 };
489
490 mypkgs.notmuch-python3 = stdenv.mkDerivation rec {
491 name = "notmuch-python3-${version}";
492 version = notmuch.version;
493 outputs = [ "out" ];
494 buildInputs = [ python3Packages.sphinx python3Packages.python ];
495 src = notmuch.src;
496 phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
497 buildPhase = ''
498 cd bindings/python
499 python setup.py build
500 '';
501 installPhase = ''
502 python setup.py install --prefix=$out --optimize=1
503 '';
504 };
505
506 mypkgs.telegramircd = with python3Packages; let
507 telethon = buildPythonPackage rec {
508 pname = "Telethon-sync";
509 version = "1.1.1";
510
511 src = fetchPypi {
512 inherit pname version;
513 sha256 =
514 "01z8fzqn0qs5pxhvzq891r3mwffq1ga3f8xvm7qdn6kvmxjni9fy";
515 };
516
517 propagatedBuildInputs = with self; [
518 rsa pyaes async_generator
519 ];
520 doCheck = false;
521
522 meta = with lib; {
523 homepage = https://github.com/LonamiWebs/Telethon;
524 description = "Full-featured Telegram client library for Python 3";
525 license = licenses.mit;
526 };
527 };
528 in
529 buildPythonApplication rec {
530 format = "other";
531 pname = "telegramircd";
532 version = "master";
533 propagatedBuildInputs = [ telethon aiohttp ConfigArgParse openssl ];
534 src = (fetchedGithub ./fetched/telegramircd.json).src;
535 LD_LIBRARY_PATH = "${openssl.out}/lib";
536 installPhase = ''
537 install -D $src/telegramircd.py $out/bin/telegramircd
538 wrapProgram "$out/bin/telegramircd" \
539 --prefix LD_LIBRARY_PATH : "${openssl.out}/lib"
540 install -Dm644 "$src/config" -t "$out/etc/telegramircd/"
541 '';
542 };
543
544 mypkgs.lesspipe = lesspipe.overrideAttrs(old: {
545 configureFlags = (old.configureFlags or []) ++ [ "--yes" ];
546 });
547
548 mypkgs.genius = stdenv.mkDerivation rec {
549 name = "genius-${version}";
550 version = "1.0.24";
551 src = fetchurl {
552 url = "https://download.gnome.org/sources/genius/1.0/${name}.tar.xz";
553 sha256 = "772f95f6ae4716d39bb180cd50e8b6b9b074107bee0cd083b825e1e6e55916b6";
554 };
555 buildInputs = [
556 mpfr glib hicolor-icon-theme gtk2 intltool gnome-doc-utils python3 gnome2.gtksourceview
557 autoconf automake libtool ncurses readline pkg-config
558 ];
559 preConfigure = ''
560 autoreconf -fi
561 '';
562 preBuild = ''
563 sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
564 '';
565 };
566
567 mypkgs.unicode = let
568 version = "12.0";
569 version-full = "${version}.0";
570 files = {
571 emoji-data = fetchurl {
572 url = "http://www.unicode.org/Public/emoji/${version}/emoji-data.txt";
573 sha256 = "03sf7h1d6kb9m5s02lif88jsi5kjszpkfvcymaqxj8ds70ar9pgv";
574 };
575 emoji-sequences = fetchurl {
576 url = "http://www.unicode.org/Public/emoji/${version}/emoji-sequences.txt";
577 sha256 = "1hghki2rn3n7m4lwpwi2a5wrsf2nij4bxga9ldabx4g0g2k23svs";
578 };
579 emoji-test = fetchurl {
580 url = "http://www.unicode.org/Public/emoji/${version}/emoji-test.txt";
581 sha256 = "1dqd0fh999mh6naj816ni113m9dimfy3ih9nffjq2lrv9mmlgdck";
582 };
583 emoji-variation-sequences = fetchurl {
584 url = "http://www.unicode.org/Public/emoji/${version}/emoji-variation-sequences.txt";
585 sha256 = "1cccwx5bl79w4c19vi5dhjqxrph92s8hihp9y8s2cqvdzmgbln7a";
586 };
587 emoji-zwj-sequences = fetchurl {
588 url = "http://www.unicode.org/Public/emoji/${version}/emoji-zwj-sequences.txt";
589 sha256 = "1l791nbijmmhwa7kmvfn8gp26ban512l6mgqpz1mnbq3xm19181n";
590 };
591 };
592 zippedFiles = {
593 UCD = fetchurl {
594 url = "http://www.unicode.org/Public/zipped/${version-full}/UCD.zip";
595 sha256 = "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh";
596 };
597 Unihan = fetchurl {
598 url = "http://www.unicode.org/Public/zipped/${version-full}/Unihan.zip";
599 sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
600 };
601 };
602 in
603 pkgs.runCommand "unicode" {
604 buildInputs = [ libarchive ];
605 } ''
606 mkdir -p $out/share/unicode
607 ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: u: "install -Dm644 ${u} $out/share/unicode/emoji/${n}.txt") files)}
608 ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: u: ''
609 install -Dm644 ${u} $out/share/unicode/${n}.zip
610 bsdtar -C "$out/share/unicode" -x -f "$out/share/unicode/${n}.zip"
611 '') zippedFiles)}
612 '';
613
614 mypkgs.dwm = dwm.overrideAttrs(old: rec {
615 postPatch = ''
616 cp ${./patches/dwm_config.h} ./config.h
617 '';
618 });
619
620 # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
621 # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
622 in
623 mypkgs // {
624 inherit nix-prefetch-scripts;
625 inherit nix-generate-from-cpan;
626 inherit timewarrior;
627 inherit pal;
628 inherit pdftk;
629 inherit googler;
630 inherit jrnl;
631 inherit apg pwgen;
632 inherit newsboat;
633 inherit vcsh;
634 inherit xmr-stak;
635 inherit urlwatch;
636 inherit ranger;
637 inherit irssi;
638 inherit abook khard khal;
639 inherit graphicsmagick;
640 inherit youtube-dl;
641 inherit ncmpc ncmpcpp;
642 inherit cadaver;
643 inherit mairix notmuch;
644 inherit ctags;
645 inherit s3cmd;
646 inherit solc; # solidity
647 inherit rtorrent;
648 inherit strace;
649 inherit vdirsyncer;
650 inherit w3m lynx links;
651 inherit gitRepo;
652 inherit valgrind;
653 inherit iotop iperf;
654 inherit keybase;
655 inherit bogofilter;
656 inherit mtr;
657 inherit nixops;
658 inherit urlview;
659 inherit rr;
660 inherit nix-zsh-completions;
661 inherit browsh;
662 inherit monero;
663 inherit nextcloud-client;
664 inherit feh imagemagick;
665 inherit lftp;
666 stgit = gitAndTools.stgit;
667 inherit bundix;
668 bower2nix = nodePackages.bower2nix;
669 inherit firefox;
670 inherit jq;
671 inherit lzo unzip bzip2 p7zip xz;
672 # unrar is unfree
673 inherit tig;
674 #inherit nixos;
675 inherit emacs26-nox;
676 inherit highlight sourceHighlight;
677 pygmentize = python3Packages.pygments;
678 inherit iftop htop;
679 inherit fetchmail;
680 inherit bc;
681 inherit cpulimit;
682 inherit dmenu st;
683 inherit poppler_utils;
684 inherit tmux;
685 inherit netcat-gnu;
686 }