X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=default.nix;h=aeb851d8610c60a6091afc6827630c94bfaceb12;hb=b236d74d47ba3db9f7dbe1bdcd4dd8ef8c264fc1;hp=49013b9f1de35373ddce3c0b943f85d84669f24c;hpb=d7ad284e912c00bbeda2c1905884d4d6780baa2a;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/default.nix b/default.nix index 49013b9..aeb851d 100644 --- a/default.nix +++ b/default.nix @@ -1,5 +1,5 @@ -with import ./libs.nix; -with import {}; +with import {}; +with import ./libs.nix { nixpkgs = import {}; }; let mypkgs = {}; @@ -26,11 +26,13 @@ let } ); - 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 { + 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 { @@ -61,11 +63,22 @@ let configureFlags = old.configureFlags ++ [ "--enable-plugins" ]; }); - mypkgs.weechat = nixpkgs_unstable.weechat.override { + mypkgs.weechat = (wrapWeechat ( + weechat-unwrapped.overrideAttrs (old: rec { + version = "2.3"; + name = "weechat-${version}"; + src = fetchurl { + url = "https://weechat.org/files/src/weechat-${version}.tar.bz2"; + sha256 = "0mi4pfnyny0vqc35r0scn6yy21y790a5iwq8ms7kch7b7z11jn9w"; + }; + patches = []; + }) + ) {}).override { configure = { availablePlugins, ... }: { plugins = with availablePlugins; [ (python.withPackages (ps: with ps; [websocket_client emoji])) perl + ruby ]; }; }; @@ -88,18 +101,19 @@ let }; }; - mypkgs.terminal-velocity = with python2Packages; buildPythonApplication rec { + mypkgs.terminal-velocity = with python3Packages; 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 @@ -316,6 +330,135 @@ let 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 @@ -326,9 +469,9 @@ let mypkgs.notmuch-vim = stdenv.mkDerivation rec { name = "notmuch-vim-${version}"; - version = nixpkgs_unstable.notmuch.version; + version = notmuch.version; outputs = [ "out" ]; - src = nixpkgs_unstable.notmuch.src; + src = notmuch.src; phases = [ "unpackPhase" "installPhase" ]; installPhase = '' make -C vim DESTDIR=$out prefix="/share/vim/vimfiles" install @@ -337,10 +480,10 @@ let mypkgs.notmuch-python2 = stdenv.mkDerivation rec { name = "notmuch-python2-${version}"; - version = nixpkgs_unstable.notmuch.version; + version = notmuch.version; outputs = [ "out" ]; buildInputs = [ python2Packages.sphinx python2Packages.python ]; - src = nixpkgs_unstable.notmuch.src; + src = notmuch.src; phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; buildPhase = '' cd bindings/python @@ -353,10 +496,10 @@ let mypkgs.notmuch-python3 = stdenv.mkDerivation rec { name = "notmuch-python3-${version}"; - version = nixpkgs_unstable.notmuch.version; + version = notmuch.version; outputs = [ "out" ]; - buildInputs = [ nixpkgs_unstable.python3Packages.sphinx nixpkgs_unstable.python3Packages.python ]; - src = nixpkgs_unstable.notmuch.src; + buildInputs = [ python3Packages.sphinx python3Packages.python ]; + src = notmuch.src; phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; buildPhase = '' cd bindings/python @@ -367,6 +510,43 @@ let ''; }; + 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/" + ''; + }; # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks in @@ -378,7 +558,7 @@ in inherit pdftk; inherit googler; inherit jrnl; - inherit apg; + inherit apg pwgen; inherit newsboat; inherit vcsh; inherit xmr-stak; @@ -409,25 +589,14 @@ in 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 notmuch-mutt; + inherit monero; + inherit nextcloud-client; + inherit feh imagemagick; + inherit lftp; stgit = gitAndTools.stgit; inherit bundix; bower2nix = nodePackages.bower2nix; - }) + inherit firefox; + # todo: unrar, unzip + #inherit nixos; + }