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