X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=default.nix;h=9dd553c1daeff173caec40288e0876149a1ffa63;hb=9106eaf4633b3500cac2d83df47363e3e894b404;hp=5227b47df06d030de89ab71808b9a2a08f56c6f7;hpb=6b53d1164c3b51999ffef9e11587285c1ac9c7c9;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/default.nix b/default.nix index 5227b47..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; @@ -69,10 +84,130 @@ let } ); - #weechat = callPackage nixpkgs.weechat { guileSupport = false; luaSupport = false; rubySupport = false; tclSupport = false; }; + 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 timewarrior; inherit weboob; @@ -90,5 +225,15 @@ in 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; }