-with import ./libs.nix;
-with import <nixpkgs> {};
+{ sources ? import ./nix/sources.nix, pkgs ? import sources.nixpkgs {} }:
let
- mypkgs = {};
-
- mypkgs.ledger = (ledger.override { boost = boost166; }).overrideAttrs (_old:
- fetchedGithub ./fetched/ledger.json // {
- postInstall = "";
- }
- );
-
- mypkgs.taskwarrior = taskwarrior.overrideAttrs (old: rec {
- postInstall = ''${old.postInstall}
- mkdir -p "$out/share/vim/vimfiles/ftdetect"
- mkdir -p "$out/share/vim/vimfiles/syntax"
- ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/"
- ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/"
- ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/"
- ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/"
- '';
- });
-
- mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old:
- fetchedGithub ./fetched/vit.json // {
- buildInputs = old.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
- }
- );
-
- mypkgs.weboob = pythonPackages.weboob.overrideAttrs (old: rec {
- postInstall = ''${old.postInstall or ""}
- mkdir -p $out/share/bash-completion/completions/
- cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob
- '';
- });
-
- mypkgs.slrn = slrn.overrideAttrs (old: rec {
- version = "1.0.3a";
- name = "slrn-${version}";
- src = fetchurl {
- url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
- sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
- };
- configureFlags = old.configureFlags ++ [ "--with-slrnpull" ];
- });
-
- mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json);
-
- nixos = import ./nixos_tools.nix {};
-
- mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old:
- fetchedGit ./fetched/pass.json // {
- patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ];
- }
- );
-
- mypkgs.profanity = (profanity.override {
- notifySupport = true;
- inherit libnotify gpgme gdk_pixbuf;
- python = python3;
- }).overrideAttrs (old: rec {
- configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
- });
-
- mypkgs.weechat = nixpkgs_unstable.weechat.override {
- configure = { availablePlugins, ... }: {
- plugins = with availablePlugins; [
- (python.withPackages (ps: with ps; [websocket_client emoji]))
- perl
- ];
- };
- };
-
- buildPerlPackage = perlPackages.buildPerlPackage;
- mypkgs.note = buildPerlPackage rec {
- name = "note-1.3.26";
- src = fetchurl {
- url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz";
- sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq";
- };
- outputs = ["out" "man"];
- propagatedBuildInputs = [ perlPackages.YAML ];
- meta = with stdenv.lib; {
- description = "A perl script for maintaining notes";
- homepage = http://www.daemon.de/NOTE;
- license = licenses.gpl3;
- maintainers = with maintainers; [ { name = "T.v.Dein"; email = "tlinden@cpan.org"; } ];
- platforms = platforms.unix;
- };
- };
-
- mypkgs.terminal_velocity = with python2Packages; buildPythonApplication rec {
- pname = "terminal-velocity-git";
- version = "0.2.0";
-
- patches = [
- # FIXME: update this patch when version changes
- ./patches/terminal_velocity_fix_build.patch
- ./patches/terminal_velocity_sort_found_notes.patch
- ];
-
- propagatedBuildInputs = [ chardet urwid nixpkgs_unstable.python2Packages.sh pyyaml ];
- buildInputs = [ m2r restructuredtext_lint pygments ];
-
- src = fetchPypi {
- inherit pname version;
- sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9";
- };
- };
-
- mypkgs.mtop = buildPerlPackage rec {
- name = "mtop-${version}";
- version = "0.6.6";
- src = fetchurl {
- url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz";
- sha256 = "0x0x5300b1j9i0xxk8rsrki0pspyzj2vylhzv8qg3l6j26aw0zrf";
- };
- outputs = ["out"];
- buildInputs = [ perlPackages.DBI perlPackages.DBDmysql perlPackages.Curses ];
-
- postInstall = ''
- cd "$out"
- preConfigure || true
- '';
- meta = with stdenv.lib; {
- description = "MySQL top (monitor and examine slow queries)";
- homepage = http://mtop.sourceforge.net/;
- license = licenses.gpl3;
- maintainers = with maintainers; [ { name = "Marc Prewitt"; email = "mprewitt@chelsea.net"; } ];
- platforms = platforms.unix;
- };
- };
-
- mypkgs.tiv = buildPerlPackage rec {
- name = "tiv-${version}";
- version = "2015";
- src = fetchurl {
- url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz";
- sha256 = "1vq073v7z7vmcd57lhs4rf4jasji69cpjgkz4dykp94a77p1qq90";
- };
- outputs = ["out"];
- buildInputs = [ perlPackages.PerlMagick ];
- perlPreHookScript = ./hooks/tiv_builder.sh;
- perlPreHook = ''
- source ${perlPreHookScript}
- '';
- installPhase = ''
- install -Dm755 tiv "$out/bin/tiv"
- '';
- };
-
- mypkgs.cnagios = stdenv.mkDerivation (fetchedGithub ./fetched/cnagios.json // rec {
- configureFlags = [
- "--with-etc-dir=/etc/cnagios"
- "--with-var-dir=/var/lib/naemon"
- "--with-nagios-data=4"
- ];
-
- prePatch = ''
- sed -i -e "s/-lcurses/-lncurses/" Makefile.in
- '';
- installPhase = ''
- install -dm755 $out/share/doc/cnagios
- install -Dm644 cnagiosrc $out/share/doc/cnagios/
- install -Dm644 cnagios.help $out/share/doc/cnagios/
- install -Dm644 cnagios.pl $out/share/doc/cnagios/
- install -dm755 $out/bin
- install -Dm755 cnagios $out/bin/
- '';
- propagatedBuildInputs = [ perl ncurses ];
- });
-
- mypkgs.nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json);
-
- mypkgs.pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec {
- propagatedBuildInputs = [ psycopg2 psutil ];
- });
-
- mypkgs.pgloader = stdenv.mkDerivation (fetchedGithub ./fetched/pgloader.json // rec {
- buildInputs = [ sbcl cacert sqlite freetds libzip curl git openssl makeWrapper ];
- LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ];
- buildPhase = ''
- export PATH=$PATH:$out/bin
- export HOME=$TMPDIR
- make pgloader
- '';
- dontStrip = true;
- enableParallelBuilding = false;
- installPhase = ''
- install -Dm755 build/bin/pgloader "$out/bin/pgloader"
- wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
- '';
- });
-
- mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec {
- propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ];
- });
-
- mypkgs.elinks = elinks.overrideAttrs (old:
- fetchedGithub ./fetched/elinks.json // rec {
- preConfigure = ''sh autogen.sh'';
- buildInputs = old.buildInputs ++ [ gettext automake autoconf ];
- configureFlags = [
- "--disable-smb" "--without-x" "--enable-cgi"
- "--enable-leds" "--enable-256-colors"
- "--enable-html-highlight" "--with-zlib"
- ];
- patches = [];
- }
- );
-
- mypkgs.neomutt = neomutt.overrideAttrs (old:
- rec {
- buildInputs = old.buildInputs ++ [ gdbm ];
- configureFlags = old.configureFlags ++ [ "--gdbm" ];
- }
- );
-
- # mypkgs.nagnu = stdenv.mkDerivation (fetchedGithub ./fetched/nagnu.json // rec {
- # buildInputs = [ ncurses curl ];
- # installPhase = ''
- # mkdir -p $out/bin
- # cp nagnu $out/bin
- # mkdir -p $out/share/doc/nagnu
- # cp nagnu.conf.sample $out/share/doc/nagnu
- # mkdir -p $out/share/man/man8
- # cp docs/nagnu.8 $out/share/man/man8
- # '';
- # });
-
- mypkgs.goaccess = goaccess.overrideAttrs(old: rec {
- name = "goaccess-${version}";
- version = "1.3";
- src = fetchurl {
- url = "https://tar.goaccess.io/${name}.tar.gz";
- sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc";
- };
- configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ];
- buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ];
- });
-
- mypkgs.mutt-ics = with python3Packages; buildPythonApplication (fetchedGithub ./fetched/mutt-ics.json // rec {
- propagatedBuildInputs = [ icalendar ];
- });
-
- mypkgs.telegram-cli = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-cli.json // rec {
- patches = [
- ./patches/telegram-cli.patch
- ];
- buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ];
- preBuild = ''
- sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c
- '';
- installPhase = ''
- mkdir -p $out
- install -Dm755 bin/telegram-cli $out/bin/telegram-cli
- install -Dm644 tg-server.pub $out/etc/server.pub
- install -Dm644 debian/telegram-cli.8 $out/man/man8/telegram-cli.8
- '';
- });
-
- mypkgs.telegram-history-dump = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-history-dump.json // rec {
- installPhase = ''
- mkdir -p $out/lib $out/bin
- cp -a $src $out/lib/telegram-history-dump
- ln -s $out/lib/telegram-history-dump/telegram-history-dump.rb $out/bin/telegram-history-dump
- '';
- buildInputs = [ ruby ];
- });
-
- mypkgs.muttprint = stdenv.mkDerivation rec {
- name = "muttprint-${version}";
- version = "0.73";
- src = fetchurl {
- url = "http://downloads.sf.net/muttprint/${name}.tar.gz";
- sha256 = "1dny4niyibfgazwlzfcnb37jy6k140rs6baaj629z12rmahfdavw";
- };
- patches = [
- ./patches/muttprint_0.73-4.diff.gz
- ./patches/muttprint_regex.patch
- ./patches/muttprint_two_edge.patch
- ];
- preConfigure = ''
- aclocal
- automake --add-missing --copy
- autoconf
- '';
- preBuild = ''
- cd pics
- convert -flop BabyTuX.eps BabyTuX.eps
- for i in BabyTuX_color.eps BabyTuX.eps Debian_color.eps \
- Debian.eps Gentoo.eps Gentoo_color.eps ; do
- convert $i $(basename $i .eps).png
- done
- convert penguin.eps penguin.jpg
- cd ..
- '';
- postInstall = ''
- perlFlags=
- for i in $(IFS=:; echo $PERL5LIB); do
- perlFlags="$perlFlags -I$i"
- done
-
- sed -i "$out/bin/muttprint" -e "s|^#\!\(.*[ /]perl.*\)$|#\!\1$perlFlags|"
-
- wrapProgram $out/bin/muttprint \
- --prefix PATH : ${lib.makeBinPath [ psutils dialog
- (texlive.combine { inherit (texlive) scheme-basic utopia fancyvrb lastpage marvosym ucs cm-super; }) ]}
- '';
- buildInputs = [ makeWrapper automake autoconf imagemagick ghostscript perl ] ++
- (with perlPackages; [ TimeDate FileWhich TextIconv ]);
- };
-
- mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;
-# https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
-# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
+ mypkgs = pkgs.callPackage ./pkgs {};
in
- mypkgs // {
- inherit nix-prefetch-scripts;
- inherit nix-generate-from-cpan;
- inherit timewarrior;
- inherit sc-im;
- inherit pal;
- inherit pdftk;
- inherit googler;
- inherit jrnl;
- inherit apg;
- inherit newsboat;
- inherit vcsh;
- inherit xmr-stak;
- inherit urlwatch;
- inherit ranger;
- inherit irssi;
- inherit abook khard khal;
- inherit graphicsmagick;
- inherit youtube-dl;
- inherit ncmpc ncmpcpp;
- inherit cadaver;
- inherit mairix notmuch;
- inherit ctags;
- inherit s3cmd;
- inherit solc; # solidity
- inherit rtorrent;
- inherit strace;
- inherit vdirsyncer;
- inherit w3m lynx links;
- inherit gitRepo;
- inherit valgrind;
- inherit iotop iperf;
- inherit keybase;
- inherit bogofilter;
- inherit mtr;
- inherit nixops;
- inherit urlview;
- inherit rr;
- inherit nix-zsh-completions;
- inherit browsh;
- stgit = gitAndTools.stgit;
- # todo: lx* ?, unrar, unzip, zeromq?
- #inherit nextcloud-client;
- #inherit nixos;
- } // (with nixpkgs_unstable; {
- inherit googler;
- inherit khal;
- inherit newsboat;
- inherit xmr-stak;
- inherit urlwatch;
- inherit graphicsmagick;
- inherit ncmpc;
- inherit solc;
- inherit w3m lynx links;
- inherit valgrind;
- inherit ranger;
- inherit strace;
- inherit notmuch;
- stgit = gitAndTools.stgit;
- inherit bundix;
- bower2nix = nodePackages.bower2nix;
- })
+{
+ lib = pkgs.callPackage ./lib {};
+ modules = import ./modules;
+ overlays = import ./overlays;
+ pkgs = mypkgs;
+ environments = pkgs.callPackage ./environments {};
+} // mypkgs