+with import ./libs.nix;
with import <nixpkgs> {};
let
- nixpkgs = import <nixpkgs> {};
- postHook = ''
- header() {
- echo -ne "\033[1;36m"
- echo -n "$1"
- echo -e "\033[0m"
- }
-
- echoCmd() {
- printf "\033[1;34m%s:\033[0m" "$1"
- shift
- printf ' %q' "$@"
- echo
- }
- '';
-
- fetchedGithub = path:
- let
- json = lib.importJSON path;
- in rec {
- version = json.tag;
- name = "${json.meta.name}-${version}";
- src = fetchFromGitHub json.github;
- };
-
- fetchedGit = path:
- let
- json = lib.importJSON path;
- in rec {
- version = json.tag;
- name = "${json.meta.name}-${version}";
- src = fetchgit json.git;
- };
+ mypkgs = {};
- ledger = (nixpkgs.ledger.override { boost = boost166; }).overrideAttrs (oldAttrs:
+ mypkgs.ledger = (ledger.override { boost = boost166; }).overrideAttrs (_old:
fetchedGithub ./fetched/ledger.json // {
postInstall = "";
}
);
- taskwarrior = nixpkgs.taskwarrior.overrideAttrs (oldAttrs: rec {
- postInstall = ''${oldAttrs.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/"
'';
});
- vit = (nixpkgs.vit.override { inherit taskwarrior; }).overrideAttrs (oldAttrs:
+ mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old:
fetchedGithub ./fetched/vit.json // {
- buildInputs = oldAttrs.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
+ buildInputs = old.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
}
);
- weboob = pythonPackages.weboob.overrideAttrs (oldAttrs: rec {
- postInstall = ''${oldAttrs.postInstall or ""}
+ 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
'';
});
- slrn = nixpkgs.slrn.overrideAttrs (oldAttrs: rec {
+ 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 = oldAttrs.configureFlags ++ [ "--with-slrnpull" ];
+ configureFlags = old.configureFlags ++ [ "--with-slrnpull" ];
});
- ldapvi = nixpkgs.ldapvi.overrideAttrs (oldAttrs: fetchedGit ./fetched/ldapvi.json);
+ mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json);
nixos = import ./nixos_tools.nix {};
- pass = (nixpkgs.pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (oldAttrs:
+ mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old:
fetchedGit ./fetched/pass.json // {
- patches = oldAttrs.patches ++ [ ./patches/pass-fix-pass-init.patch ];
+ patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ];
}
);
- profanity = (nixpkgs.profanity.override {
+ mypkgs.profanity = (profanity.override {
notifySupport = true;
inherit libnotify gpgme gdk_pixbuf;
python = python3;
- }).overrideAttrs (oldAttrs: rec {
- configureFlags = oldAttrs.configureFlags ++ [ "--enable-plugins" ];
+ }).overrideAttrs (old: rec {
+ configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
});
- weechat = nixpkgs.weechat.override {
+ mypkgs.weechat = nixpkgs_unstable.weechat.override {
configure = { availablePlugins, ... }: {
plugins = with availablePlugins; [
(python.withPackages (ps: with ps; [websocket_client emoji]))
};
};
- buildPerlPackage = callPackage <nixpkgs/pkgs/development/perl-modules/generic> { };
- note = buildPerlPackage rec {
+ 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"];
- propragatedBuildInputs = [ perlPackages.YAML ];
+ propagatedBuildInputs = [ perlPackages.YAML ];
meta = with stdenv.lib; {
description = "A perl script for maintaining notes";
homepage = http://www.daemon.de/NOTE;
};
};
- terminal_velocity = with python2Packages; buildPythonApplication rec {
+ mypkgs.terminal_velocity = with python2Packages; buildPythonApplication rec {
pname = "terminal-velocity-git";
version = "0.2.0";
./patches/terminal_velocity_sort_found_notes.patch
];
- propagatedBuildInputs = [ chardet urwid sh pyyaml ];
+ propagatedBuildInputs = [ chardet urwid nixpkgs_unstable.python2Packages.sh pyyaml ];
buildInputs = [ m2r restructuredtext_lint pygments ];
src = fetchPypi {
};
};
- mtop = buildPerlPackage rec {
+ mypkgs.mtop = buildPerlPackage rec {
name = "mtop-${version}";
version = "0.6.6";
src = fetchurl {
};
};
- tiv = buildPerlPackage rec {
+ mypkgs.tiv = buildPerlPackage rec {
name = "tiv-${version}";
version = "2015";
src = fetchurl {
'';
};
- cnagios = stdenv.mkDerivation (fetchedGithub ./fetched/cnagios.json // rec {
+ mypkgs.cnagios = stdenv.mkDerivation (fetchedGithub ./fetched/cnagios.json // rec {
configureFlags = [
"--with-etc-dir=/etc/cnagios"
"--with-var-dir=/var/lib/naemon"
propagatedBuildInputs = [ perl ncurses ];
});
- nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json);
+ mypkgs.nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json);
- pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec {
+ mypkgs.pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec {
propagatedBuildInputs = [ psycopg2 psutil ];
});
- pgloader = stdenv.mkDerivation (fetchedGithub ./fetched/pgloader.json // rec {
+ 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 = ''
'';
});
+ 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
in
- {
+ mypkgs // {
inherit nix-prefetch-scripts;
inherit nix-generate-from-cpan;
- inherit ledger;
- inherit taskwarrior vit timewarrior;
- inherit weboob;
- inherit slrn;
+ inherit timewarrior;
inherit sc-im;
- inherit ldapvi;
inherit pal;
- inherit duplicity duply;
inherit pdftk;
inherit googler;
inherit jrnl;
inherit vcsh;
inherit xmr-stak;
inherit urlwatch;
- inherit pass;
inherit ranger;
- inherit profanity;
- inherit weechat irssi;
- inherit note terminal_velocity;
- inherit mtop;
- inherit tiv;
- inherit cnagios nagios-cli;
+ inherit irssi;
inherit abook khard khal;
inherit graphicsmagick;
inherit youtube-dl;
- inherit pg_activity pgloader;
- inherit ncmpc;
+ inherit ncmpc ncmpcpp;
inherit cadaver;
inherit mairix notmuch;
inherit ctags;
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;
+ 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;
+ })