with import <nixpkgs> {};
let
nixpkgs = import <nixpkgs> {};
+ 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;
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 = "";
configureFlags = oldAttrs.configureFlags ++ [ "--with-slrnpull" ];
});
- ldapvi = nixpkgs.ldapvi.overrideAttrs (oldAttrs: rec {
- name = "ldapvi-${version}";
- version = "f1d42ba-master";
- src = fetchgit (lib.importJSON ./ldapvi.json);
+ ldapvi = nixpkgs.ldapvi.overrideAttrs (oldAttrs: fetchedGit ./fetched/ldapvi.json);
+
+ nixos = import ./nixos_tools.nix {};
+
+ pass = (nixpkgs.pass.withExtensions (exts: [ exts.pass-otp ])).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 <nixpkgs/pkgs/development/perl-modules/generic> { };
+ 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"];
+ propragatedBuildInputs = [ 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);
+
+ pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec {
+ propagatedBuildInputs = [ psycopg2 psutil ];
+ });
+
+ 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}"
+ '';
});
- #weechat = callPackage nixpkgs.weechat { guileSupport = false; luaSupport = false; rubySupport = false; tclSupport = false; };
+# 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;
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 pg_activity pgloader;
+ 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 nixos;
}