X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=default.nix;h=75e1e0a391035babda8137151457dff11b317da2;hp=b46403165988089d05ccdd8092c220ad7724bf6b;hb=9a35b8f94cc55ee429b36be1a5e7eb1f52934a34;hpb=45cb532fb674aa09c4f3df228ace8b47268284e9 diff --git a/default.nix b/default.nix index b464031..75e1e0a 100644 --- a/default.nix +++ b/default.nix @@ -1,32 +1,30 @@ +with import ./libs.nix; with import {}; let - nixpkgs = import {}; - fetchedGithub = path: - let - json = lib.importJSON path; - in rec { - version = json.tag; - name = "${json.meta.name}-${version}"; - src = fetchFromGitHub json.github; - }; + mypkgs = {}; + postHook = '' + header() { + echo -ne "\033[1;36m" + echo -n "$1" + echo -e "\033[0m" + } - fetchedGit = path: - let - json = lib.importJSON path; - in rec { - version = json.tag; - name = "${json.meta.name}-${version}"; - src = fetchgit json.git; - }; + echoCmd() { + printf "\033[1;34m%s:\033[0m" "$1" + shift + printf ' %q' "$@" + echo + } + ''; - 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/" @@ -36,48 +34,48 @@ let ''; }); - 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.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])) @@ -86,15 +84,15 @@ let }; }; - buildPerlPackage = callPackage { }; - 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"]; - buildInputs = [ perlPackages.YAML ]; + propagatedBuildInputs = [ perlPackages.YAML ]; meta = with stdenv.lib; { description = "A perl script for maintaining notes"; homepage = http://www.daemon.de/NOTE; @@ -104,7 +102,7 @@ let }; }; - terminal_velocity = with python2Packages; buildPythonApplication rec { + mypkgs.terminal_velocity = with python2Packages; buildPythonApplication rec { pname = "terminal-velocity-git"; version = "0.2.0"; @@ -114,7 +112,7 @@ let ./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 { @@ -123,7 +121,7 @@ let }; }; - mtop = buildPerlPackage rec { + mypkgs.mtop = buildPerlPackage rec { name = "mtop-${version}"; version = "0.6.6"; src = fetchurl { @@ -146,19 +144,123 @@ let }; }; + 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 ]; + }); + # 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 ledger; - inherit taskwarrior vit timewarrior; - inherit weboob; - inherit slrn; + inherit nix-generate-from-cpan; + inherit timewarrior; inherit sc-im; - inherit ldapvi; inherit pal; - inherit duplicity duply; inherit pdftk; inherit googler; inherit jrnl; @@ -167,11 +269,48 @@ in inherit vcsh; inherit xmr-stak; inherit urlwatch; - inherit pass; inherit ranger; - inherit profanity; - inherit weechat; - inherit note terminal_velocity; - inherit mtop; + inherit irssi; + inherit abook khard khal; + inherit graphicsmagick; + inherit youtube-dl; + inherit ncmpc; + 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; + 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; + inherit yarn2nix; + bower2nix = nodePackages.bower2nix; + })