X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=default.nix;h=9dd553c1daeff173caec40288e0876149a1ffa63;hb=9106eaf4633b3500cac2d83df47363e3e894b404;hp=1b9b4b08d4211543d24b33a8d02dbe1b44cac32d;hpb=177da38b243b59d273c0400b04a79e2b05af6bc3;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/default.nix b/default.nix index 1b9b4b0..9dd553c 100644 --- a/default.nix +++ b/default.nix @@ -1,6 +1,21 @@ with import {}; let nixpkgs = import {}; + 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; @@ -10,6 +25,15 @@ let 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; + }; + ledger = (nixpkgs.ledger.override { boost = boost166; }).overrideAttrs (oldAttrs: fetchedGithub ./fetched/ledger.json // { postInstall = ""; @@ -33,9 +57,183 @@ let } ); - #weechat = callPackage nixpkgs.weechat { guileSupport = false; luaSupport = false; rubySupport = false; tclSupport = false; }; + weboob = pythonPackages.weboob.overrideAttrs (oldAttrs: rec { + postInstall = ''${oldAttrs.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 { + 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" ]; + }); + + ldapvi = nixpkgs.ldapvi.overrideAttrs (oldAttrs: fetchedGit ./fetched/ldapvi.json); + + nixos = import ./nixos_tools.nix {}; + + pass = nixpkgs.pass.overrideAttrs (oldAttrs: + fetchedGit ./fetched/pass.json // { + patches = oldAttrs.patches ++ [ ./patches/pass-fix-pass-init.patch ]; + } + ); + + profanity = (nixpkgs.profanity.override { + notifySupport = true; + inherit libnotify gpgme gdk_pixbuf; + python = python3; + }).overrideAttrs (oldAttrs: rec { + configureFlags = oldAttrs.configureFlags ++ [ "--enable-plugins" ]; + }); + + weechat = nixpkgs.weechat.override { + configure = { availablePlugins, ... }: { + plugins = with availablePlugins; [ + (python.withPackages (ps: with ps; [websocket_client emoji])) + perl + ]; + }; + }; + + buildPerlPackage = callPackage { }; + 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 ]; + 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; + }; + }; + + 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 sh pyyaml ]; + buildInputs = [ m2r restructuredtext_lint pygments ]; + + src = fetchPypi { + inherit pname version; + sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9"; + }; + }; + + 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; + }; + }; + + 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" + ''; + }; + + 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 ]; + }); + + nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json); + +# 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 ledger; - inherit taskwarrior vit; + inherit taskwarrior vit timewarrior; + inherit weboob; + inherit slrn; + inherit sc-im; + inherit ldapvi; + inherit pal; + inherit duplicity duply; + inherit pdftk; + inherit googler; + inherit jrnl; + inherit apg; + inherit newsboat; + 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 abook khard khal; + inherit graphicsmagick; + inherit youtube-dl; + #inherit nixos; }