-with import ./libs.nix;
with import <nixpkgs> {};
+with import ./libs.nix { nixpkgs = import <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"
}
);
- 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.weboob = (pythonPackages.weboob.overridePythonAttrs {
+ setupPyBuildFlags = [ "--no-qt" "--xdg" ];
+ }).overrideAttrs (old: rec {
+ version = "1.5";
+ src = fetchurl {
+ url = "https://git.weboob.org/weboob/weboob/-/archive/${version}/${old.pname}-${version}.tar.gz";
+ sha256 = "0l6q5nm5g0zn6gmf809059kddrbds27wgygxsfkqja9blks5vq7z";
+ };
+ 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 {
configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
});
- mypkgs.weechat = nixpkgs_unstable.weechat.override {
+ mypkgs.weechat = weechat.override {
configure = { availablePlugins, ... }: {
plugins = with availablePlugins; [
+ # Make sure websocket_client is not 0.55.0, it provokes
+ # regular crashes
(python.withPackages (ps: with ps; [websocket_client emoji]))
perl
+ ruby
];
};
};
};
};
- mypkgs.terminal_velocity = with python2Packages; buildPythonApplication rec {
+ mypkgs.terminal-velocity = with python36Packages; buildPythonApplication rec {
pname = "terminal-velocity-git";
version = "0.2.0";
patches = [
+ ./patches/terminal_velocity_sort_found_notes.patch
+ ./patches/terminal_velocity_python3_support.patch
# 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 ];
+ propagatedBuildInputs = [ chardet urwid (sh.overridePythonAttrs { doCheck = false; }) pyyaml ];
+ buildInputs = [ m2r (restructuredtext_lint.overridePythonAttrs { doCheck = false; }) pygments ];
+ postInstall = ''
+ rm $out/bin/terminal_velocity
+ '';
src = fetchPypi {
inherit pname version;
sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9";
configureFlags = [
"--with-etc-dir=/etc/cnagios"
"--with-var-dir=/var/lib/naemon"
+ "--with-status-file=/var/lib/naemon/status.dat"
"--with-nagios-data=4"
];
done
sed -i "$out/bin/muttprint" -e "s|^#\!\(.*[ /]perl.*\)$|#\!\1$perlFlags|"
+ sed -i "$out/bin/muttprint" -e "s|ENV{HOME}/.muttprintrc|ENV{XDG_CONFIG_HOME}/muttprint/muttprintrc|"
wrapProgram $out/bin/muttprint \
--prefix PATH : ${lib.makeBinPath [ psutils dialog
};
mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;
+
+ mypkgs.cardano = let
+ daedalusOrig = (import (fetchedGithub ./fetched/daedalus.json).src {}).daedalus;
+ cfg = stdenv.mkDerivation rec {
+ name = "launcher-config-custom";
+ src = daedalusOrig.cfg;
+ installPhase = ''
+ cp -a $src $out
+ chmod -R u+w $out
+ cd $out/etc
+ sed -e "/^walletPath/d" -e "/^walletArgs/d" launcher-config.yaml > launcher-config-server-only.yaml
+ '';
+ };
+ daedalus = stdenv.mkDerivation rec {
+ name = "daedalus-custom";
+ src = daedalusOrig;
+ installPhase = ''
+ cp -a $src $out
+ chmod -R u+w $out
+ cd $out/bin
+ sed -i -e "s@${builtins.storeDir}/[0-9a-z]*-daedalus-config@${cfg}/etc@" daedalus
+ sed -e "s@${cfg}/etc/launcher-config.yaml@${cfg}/etc/launcher-config-server-only.yaml@" daedalus > daedalus-server-only
+ chmod a+x daedalus-server-only
+ '';
+ };
+ in
+ daedalus;
+
+ mypkgs.sia = stdenv.mkDerivation rec {
+ version = "v1.3.7";
+ name = "Sia-${version}";
+ src = fetchzip {
+ url = "https://sia.tech/static/releases/${name}-linux-amd64.zip";
+ sha256 = "1ljzwrlkx4hc16r8siiyakn039afipp95dyr83c8yfq3r3bfasqd";
+ };
+ phases = "installPhase";
+ installPhase = ''
+ mkdir -p $out/share/doc
+ mkdir -p $out/bin
+ mkdir -p $out/share/sia
+ cp -a $src/doc $out/share/doc/sia
+ cp -a $src/LICENSE $src/README.md $out/share/sia
+ cp -a $src/{siac,siad} $out/bin
+ cp -a $src/{siac,siad}.sig $out/share/sia/
+ '';
+ };
+
+ mypkgs.iota-cli-app = let
+ nodeEnv = pkgs.callPackage "${nodePackages.node2nix}/lib/node_modules/node2nix/nix/node-env.nix" {
+ nodejs = nodejs-8_x;
+ };
+ # built using node2nix -8 -l package-lock.json
+ # and changing "./." to "src"
+ packageEnv = import ./fetched/iota-cli-app-node-packages.nix {
+ src = stdenv.mkDerivation (fetchedGithub ./fetched/iota-cli-app.json // {
+ phases = "installPhase";
+ installPhase = ''
+ cp -a $src $out
+ chmod u+w -R $out
+ cd $out
+ sed -i -e "s@host: 'http://localhost',@host: 'https://iri.trytes.eu',@" index.js
+ sed -i -e "s@port: 14265@port: 443@" index.js
+ '';
+ });
+ inherit (pkgs) fetchurl fetchgit;
+ inherit nodeEnv;
+ };
+ in
+ packageEnv.package;
+
+ mypkgs.duply = stdenv.mkDerivation rec {
+ name = "duply-${version}";
+ version = "2.1";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.1.x/duply_${version}.tgz";
+ sha256 = "0i5j7h7h6ssrwhll0sfhymisshg54kx7j45zcqffzjxa0ylvzlm8";
+ };
+
+ buildInputs = [ txt2man makeWrapper ];
+
+ postPatch = "patchShebangs .";
+
+ installPhase = ''
+ mkdir -p "$out/bin"
+ mkdir -p "$out/share/man/man1"
+ install -vD duply "$out/bin"
+ sed -i $out/bin/duply -e "1a \
+ export PATH='${stdenv.lib.makeBinPath [ coreutils python2 duplicity gawk gnupg1 bash gnugrep txt2man which ]}'
+ " -e "1a \
+ export DUPL_PYTHON_BIN=$(basename ${duplicity}/lib/python*)
+ "
+ "$out/bin/duply" txt2man > "$out/share/man/man1/duply.1"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Shell front end for the duplicity backup tool";
+ longDescription = ''
+ Duply is a shell front end for the duplicity backup tool
+ http://duplicity.nongnu.org/. It greatly simplifies it's usage by
+ implementing backup job profiles, batch commands and more. Who says
+ secure backups on non-trusted spaces are no child's play?
+ '';
+ homepage = http://duply.net/;
+ license = licenses.gpl2;
+ maintainers = [ maintainers.bjornfor ];
+ platforms = stdenv.lib.platforms.unix;
+ };
+ };
+
+ mypkgs.boinctui = stdenv.mkDerivation rec {
+ name = "boinctui-${version}";
+ version = "2.5.0";
+ src = fetchurl {
+ url = "http://sourceforge.net/projects/boinctui/files/boinctui_${version}.tar.gz";
+ sha256 = "16zxp8r4z6pllacdacg681y56cg2phnn3pm5gwszbsi93cix2g8p";
+ };
+
+ configureFlags = [ "--without-gnutls" ];
+ preConfigure = ''
+ autoconf
+ '';
+
+ preBuild = ''
+ sed -i -e 's/"HOME"/"XDG_CONFIG_HOME"/' src/cfg.cpp
+ sed -i -e 's@\.boinctui\.cfg@boinctui/boinctui.cfg@' src/mainprog.cpp
+ '';
+ buildInputs = [ expat openssl autoconf ncurses ];
+ };
+
+ mypkgs.sc-im = sc-im.overrideAttrs (old: {
+ buildPhase = ''
+ cd src
+ sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@'
+ cd ..
+ '' + old.buildPhase;
+ });
+
+ mypkgs.notmuch-vim = stdenv.mkDerivation rec {
+ name = "notmuch-vim-${version}";
+ version = notmuch.version;
+ outputs = [ "out" ];
+ src = notmuch.src;
+ phases = [ "unpackPhase" "installPhase" ];
+ installPhase = ''
+ make -C vim DESTDIR=$out prefix="/share/vim/vimfiles" install
+ '';
+ };
+
+ mypkgs.notmuch-python2 = stdenv.mkDerivation rec {
+ name = "notmuch-python2-${version}";
+ version = notmuch.version;
+ outputs = [ "out" ];
+ buildInputs = [ python2Packages.sphinx python2Packages.python ];
+ src = notmuch.src;
+ phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
+ buildPhase = ''
+ cd bindings/python
+ python setup.py build
+ '';
+ installPhase = ''
+ python setup.py install --prefix=$out --optimize=1
+ '';
+ };
+
+ mypkgs.notmuch-python3 = stdenv.mkDerivation rec {
+ name = "notmuch-python3-${version}";
+ version = notmuch.version;
+ outputs = [ "out" ];
+ buildInputs = [ python3Packages.sphinx python3Packages.python ];
+ src = notmuch.src;
+ phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
+ buildPhase = ''
+ cd bindings/python
+ python setup.py build
+ '';
+ installPhase = ''
+ python setup.py install --prefix=$out --optimize=1
+ '';
+ };
+
+ mypkgs.telegramircd = with python3Packages; let
+ telethon = buildPythonPackage rec {
+ pname = "Telethon-sync";
+ version = "1.1.1";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 =
+ "01z8fzqn0qs5pxhvzq891r3mwffq1ga3f8xvm7qdn6kvmxjni9fy";
+ };
+
+ propagatedBuildInputs = with self; [
+ rsa pyaes async_generator
+ ];
+ doCheck = false;
+
+ meta = with lib; {
+ homepage = https://github.com/LonamiWebs/Telethon;
+ description = "Full-featured Telegram client library for Python 3";
+ license = licenses.mit;
+ };
+ };
+ in
+ buildPythonApplication rec {
+ format = "other";
+ pname = "telegramircd";
+ version = "master";
+ propagatedBuildInputs = [ telethon aiohttp ConfigArgParse openssl ];
+ src = (fetchedGithub ./fetched/telegramircd.json).src;
+ LD_LIBRARY_PATH = "${openssl.out}/lib";
+ installPhase = ''
+ install -D $src/telegramircd.py $out/bin/telegramircd
+ wrapProgram "$out/bin/telegramircd" \
+ --prefix LD_LIBRARY_PATH : "${openssl.out}/lib"
+ install -Dm644 "$src/config" -t "$out/etc/telegramircd/"
+ '';
+ };
+
+ mypkgs.lesspipe = lesspipe.overrideAttrs(old: {
+ configureFlags = (old.configureFlags or []) ++ [ "--yes" ];
+ });
+
+ mypkgs.genius = stdenv.mkDerivation rec {
+ name = "genius-${version}";
+ version = "1.0.24";
+ src = fetchurl {
+ url = "https://download.gnome.org/sources/genius/1.0/${name}.tar.xz";
+ sha256 = "772f95f6ae4716d39bb180cd50e8b6b9b074107bee0cd083b825e1e6e55916b6";
+ };
+ buildInputs = [
+ mpfr glib hicolor-icon-theme gtk2 intltool gnome-doc-utils python3 gnome2.gtksourceview
+ autoconf automake libtool ncurses readline pkg-config
+ ];
+ preConfigure = ''
+ autoreconf -fi
+ '';
+ preBuild = ''
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ '';
+ };
+
+ mypkgs.unicode = let
+ version = "12.0";
+ version-full = "${version}.0";
+ files = {
+ emoji-data = fetchurl {
+ url = "http://www.unicode.org/Public/emoji/${version}/emoji-data.txt";
+ sha256 = "03sf7h1d6kb9m5s02lif88jsi5kjszpkfvcymaqxj8ds70ar9pgv";
+ };
+ emoji-sequences = fetchurl {
+ url = "http://www.unicode.org/Public/emoji/${version}/emoji-sequences.txt";
+ sha256 = "1hghki2rn3n7m4lwpwi2a5wrsf2nij4bxga9ldabx4g0g2k23svs";
+ };
+ emoji-test = fetchurl {
+ url = "http://www.unicode.org/Public/emoji/${version}/emoji-test.txt";
+ sha256 = "1dqd0fh999mh6naj816ni113m9dimfy3ih9nffjq2lrv9mmlgdck";
+ };
+ emoji-variation-sequences = fetchurl {
+ url = "http://www.unicode.org/Public/emoji/${version}/emoji-variation-sequences.txt";
+ sha256 = "1cccwx5bl79w4c19vi5dhjqxrph92s8hihp9y8s2cqvdzmgbln7a";
+ };
+ emoji-zwj-sequences = fetchurl {
+ url = "http://www.unicode.org/Public/emoji/${version}/emoji-zwj-sequences.txt";
+ sha256 = "1l791nbijmmhwa7kmvfn8gp26ban512l6mgqpz1mnbq3xm19181n";
+ };
+ };
+ zippedFiles = {
+ UCD = fetchurl {
+ url = "http://www.unicode.org/Public/zipped/${version-full}/UCD.zip";
+ sha256 = "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh";
+ };
+ Unihan = fetchurl {
+ url = "http://www.unicode.org/Public/zipped/${version-full}/Unihan.zip";
+ sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
+ };
+ };
+ in
+ pkgs.runCommand "unicode" {
+ buildInputs = [ libarchive ];
+ } ''
+ mkdir -p $out/share/unicode
+ ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: u: "install -Dm644 ${u} $out/share/unicode/emoji/${n}.txt") files)}
+ ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: u: ''
+ install -Dm644 ${u} $out/share/unicode/${n}.zip
+ bsdtar -C "$out/share/unicode" -x -f "$out/share/unicode/${n}.zip"
+ '') zippedFiles)}
+ '';
+
+ mypkgs.dwm = dwm.overrideAttrs(old: rec {
+ postPatch = ''
+ cp ${./patches/dwm_config.h} ./config.h
+ '';
+ });
+
+ mypkgs.flrn = let
+ slang = stdenv.mkDerivation rec {
+ name = "slang-debian-patched-${version}";
+ version = "1.4.9";
+ src = fetchurl {
+ url = "ftp://space.mit.edu/pub/davis/slang/v1.4/slang-1.4.9.tar.gz";
+ sha256 = "1y2mg0whqh4b3acd0k17i4biz55bimxg8aaxhmwd165cvspxns9r";
+ };
+ debianPatches = fetchurl {
+ url = "http://archive.debian.org/debian-archive/debian-amd64/pool/main/s/slang/slang_1.4.9dbs-8.diff.gz";
+ sha256 = "0xdq14k5ynqfwpmis1rcggs7m4n921i3bs27icbmbhfg5gb2hap2";
+ };
+ preConfigure = ''
+ cp $debianPatches ./slang.diff.gz
+ gunzip slang.diff.gz
+ patch -p1 < slang.diff
+ for i in debian/patches/*; do
+ patch -p1 < $i
+ done
+ makeFlagsArray=(CFLAGS=" -g -O2 -fno-strength-reduce -DUTF8 -D_REENTRANT -D_XOPEN_SOURCE=500")
+ '';
+ postBuild = ''
+ sed -i "1i#ifndef UTF8\n#define UTF8\n#endif" src/slang.h
+ '';
+ };
+ in
+ stdenv.mkDerivation (fetchedGithub ./fetched/flrn.json // rec {
+ buildInputs = [ libetpan openssl autoconf groff slang yacc ];
+ preConfigure = ''
+ sed -i -e "s/test -e configure/false/" configure.in
+ autoconf
+ sed -i -e '/define CHECK_MAIL/d' src/flrn_config.h
+ sed -i -e '/DEFAULT_DIR_FILE/s@".flrn"@".config/flrn"@' src/flrn_config.h
+ sed -i -e '/DEFAULT_CONFIG_FILE/s@".flrnrc"@"flrnrc"@' src/flrn_config.h
+ sed -i -e '/DEFAULT_FLNEWS_FILE/s@".flnewsrc"@"flnewsrc"@' src/flrn_config.h
+ sed -i -e '/flrn_char chaine/s@18@20@' src/flrn_command.c
+ '';
+ });
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
in
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 apg pwgen;
inherit newsboat;
inherit vcsh;
inherit xmr-stak;
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;
+ inherit monero;
+ inherit nextcloud-client;
+ inherit feh imagemagick;
+ inherit lftp;
stgit = gitAndTools.stgit;
inherit bundix;
bower2nix = nodePackages.bower2nix;
- })
+ inherit firefox;
+ inherit jq;
+ inherit lzo unzip bzip2 p7zip xz;
+ # unrar is unfree
+ inherit tig;
+ #inherit nixos;
+ inherit emacs26-nox;
+ inherit highlight sourceHighlight;
+ pygmentize = python3Packages.pygments;
+ inherit iftop htop;
+ inherit fetchmail;
+ inherit bc;
+ inherit cpulimit;
+ inherit dmenu st;
+ inherit poppler_utils;
+ inherit tmux;
+ inherit netcat-gnu;
+ inherit ledger;
+ inherit ffmpeg libxslt;
+ }