about summary refs log tree commit diff
path: root/nixpkgs
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2012-11-26 04:22:37 +0100
committeraszlig <aszlig@redmoonstudios.org>2012-11-26 04:24:45 +0100
commit11fa9effaefd9b51ecf6356670158a8a61b3731a (patch)
treea9d72737b267f42a84e340b2a0273e63f9536f5f /nixpkgs
parentf60b22191853c0076f97a000740ca3b5ac942978 (diff)
Add expressions from ~/.nixpkgs/config.nix.
Luckily, this file is already common on all my machines, so there's no need to
consolidate anything, except that it may be useful to set nixpkgs.config to
those expressions as well.

The expressions in this new file are partly unfinished and not yet cleaned up
packages I'm either working on or just needed "right now", so these will
eventually become part of upstream nixpkgs.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'nixpkgs')
-rw-r--r--nixpkgs/config.nix338
1 files changed, 338 insertions, 0 deletions
diff --git a/nixpkgs/config.nix b/nixpkgs/config.nix
new file mode 100644
index 00000000..27bab76c
--- /dev/null
+++ b/nixpkgs/config.nix
@@ -0,0 +1,338 @@
+let
+  aszligCollections = pkgs: let
+    genAszligEnv = name: paths: pkgs.buildEnv {
+      name = "aszlig-${name}-packages";
+      inherit paths;
+      ignoreCollisions = true;
+    };
+  in pkgs.lib.mapAttrsToList genAszligEnv {
+    haskell = with pkgs.haskellPackages; [
+      ghc cabalInstall hlint
+      darcs
+      diagrams
+      yesod yesodStatic yesodDefault yesodTest
+      hjsmin persistentSqlite
+    ];
+
+    python = with pkgs.pythonPackages; [
+      pkgs.python3
+      pkgs.python
+      pep8
+      polib
+    ];
+
+    shell = with pkgs; [
+      zsh dash
+      taskwarrior
+      screen
+      htop
+      bc
+      lftp
+      mmv
+      ncdu
+      surfraw
+      w3m
+      fbida
+      mutt
+      vlock
+    ];
+
+    multimedia = with pkgs; [
+      pulseaudio pvolctrl
+      MPlayer
+      vorbisTools
+      mpg321
+      mp3info
+    ];
+
+    crypto = with pkgs; [
+      gnupg1compat openssh
+      keychain
+    ];
+
+    dev = with pkgs; [
+      gitFull
+      gdb
+      gnumake
+      vim_configurable
+      ltrace strace
+    ];
+
+    net = with pkgs; [
+      netrw
+      nmap
+      socat
+    ];
+
+    x11 = with pkgs; [
+      i3 i3lock i3status dmenu conky
+      tkabber
+      tkabber_plugins
+    ];
+
+    misc = with pkgs; [
+      lastwatch
+      chromeWrapper
+      glxinfo
+      imagemagick
+      graphviz
+      youtubeDL
+      ghostscript
+      rtorrent
+    ];
+  };
+
+  tkabberRev = 2009;
+in {
+  pulseaudio = true;
+  chromium.channel = "beta";
+  chromium.enableGoogleTalkPlugin = true;
+  chromium.jre = true;
+
+  firefox.jre = true;
+
+  packageOverrides = pkgs: with pkgs; let p = {
+    aszligEnv = (buildEnv {
+      name = "aszlig-env";
+      paths = aszligCollections (pkgs // p);
+    });
+
+    pulseaudio = pulseaudio.override {
+      useSystemd = true;
+    };
+
+    #ffmpeg = pkgs.ffmpeg.override {
+    #  x11grabSupport = true;
+    #  faacSupport = true;
+    #};
+
+    /*
+    gitAndTools = recurseIntoAttrs (
+      import <nixpkgs/pkgs/applications/version-management/git-and-tools> {
+        inherit pkgs;
+      } // {
+        git = lib.overrideDerivation gitAndTools.git (ogit: {
+          patches = let
+            alwaysSignPatch = writeText "always-sign.patch" ''
+              --- a/builtin/commit.c
+              +++ b/builtin/commit.c
+              @@ -91 +91 @@ static char *untracked_files_arg, *force_date, *ignore_submodule_arg;
+              -static char *sign_commit;
+              +static char *sign_commit = (intptr_t) "";
+              @@ -1391 +1391 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
+              -${"\t\t"}  "GPG sign commit", PARSE_OPT_OPTARG, NULL, (intptr_t) "" },
+              +${"\t\t"}  "Do not GPG sign commit", PARSE_OPT_OPTARG, (intptr_t) "", NULL },
+            '';
+          in ogit.patches ++ [alwaysSignPatch];
+        });
+      }
+    );
+    */
+
+    blop = stdenv.mkDerivation rec {
+      name = "blop-${version}";
+      version = "0.2.8";
+
+      configureFlags = [
+        "--with-ladspa-prefix=${ladspaH}"
+        "--with-ladspa-plugin-dir=$(out)/lib/ladspa"
+      ];
+
+      src = fetchurl {
+        url = "mirror://sourceforge/blop/${name}.tar.gz";
+        sha256 = "02iymw84dml8glyqgx1mxq4fz2fifgi1jca28hx2r3a2mi7i71vy";
+      };
+    };
+
+    libCMT = stdenv.mkDerivation rec {
+      name = "libcmt-${version}";
+      version = "1.16";
+
+      buildInputs = [ ladspaH ];
+
+      setSourceRoot = ''
+        sourceRoot=cmt/src
+      '';
+
+      makeFlags = [
+        "INSTALL_PLUGINS_DIR=$(out)/lib/ladspa"
+      ];
+
+      preInstall = ''
+        mkdir -p "$out/lib/ladspa"
+      '';
+
+      src = fetchurl {
+        url = "http://www.ladspa.org/download/cmt_src_${version}.tgz";
+        sha256 = "0dan83pvljij3972bv214balc26p9fgw40i2d5y0x7lbd5z1saji";
+      };
+    };
+
+    tkabber = lib.overrideDerivation tkabber (o: {
+      name = "tkabber-1.0pre";
+      src = fetchsvn {
+        url = "http://svn.xmpp.ru/repos/tkabber/trunk/tkabber";
+        rev = tkabberRev;
+        sha256 = "0lfh3bapqsfw142bndp11x7cs9crrcccw242lgwlh103r9gs123s";
+      };
+    });
+
+    tkabber_plugins = lib.overrideDerivation tkabber_plugins (o: {
+      name = "tkabber-plugins-1.0pre";
+      src = fetchsvn {
+        url = "http://svn.xmpp.ru/repos/tkabber/trunk/tkabber-plugins";
+        rev = tkabberRev;
+        sha256 = "181jxd7iwpcl7wllwciqshzznahdw69fy7r604gj4m2kq6qmynqf";
+      };
+    });
+
+    w3m = w3m.override {
+      graphicsSupport = true;
+    };
+
+    netrw = netrw.override {
+      checksumType = "mhash";
+    };
+
+    kernelEnv = myEnvFun {
+      name = "kernel";
+      extraCmds = ''
+        export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
+      '';
+      buildInputs = [
+        stdenv ncurses
+      ];
+    };
+
+    testChromiumBuild = let
+      buildChannels = [ "stable" "beta" "dev" ];
+      buildChromium = chan: chromium.override {
+        config.chromium = {
+          channel = chan;
+          gnome = true;
+          gnomeKeyring = true;
+          proprietaryCodecs = true;
+          cups = true;
+          pulseaudio = true;
+        };
+      };
+    in stdenv.mkDerivation {
+      name = "test-chromium-build";
+
+      buildCommand = let
+        chanResults = lib.flip map buildChannels (chan: ''
+          echo "Build result for ${chan}: ${buildChromium chan}"
+        '');
+      in ''
+        echo "Builds finished, the following derivations have been built:"
+        ${lib.concatStrings chanResults}
+        false
+      '';
+    };
+
+    catapultEnv = myEnvFun {
+      name = "catapult";
+      buildInputs = [
+        stdenv python pil
+        pythonPackages.matplotlib
+        pythonPackages.django
+        pythonPackages.sqlite3
+        pythonPackages.markdown
+        pythonPackages.MySQL_python
+        pythonPackages.setuptools
+      ];
+    };
+
+    hetznerEnv = myEnvFun {
+      name = "hetzner";
+      buildInputs = [
+        stdenv python
+        pythonPackages.pexpect
+      ];
+    };
+
+    rdwarfEnv = myEnvFun {
+      name = "rdwarf";
+      buildInputs = [
+        stdenv python
+        pythonPackages.numpy
+        pythonPackages.pyaudio
+        pythonPackages.curses
+      ];
+    };
+
+    vbindiff = stdenv.mkDerivation rec {
+      name = "vbindiff-${version}";
+      version = "3.0_beta4";
+
+      buildInputs = [ ncurses ];
+
+      src = fetchurl {
+        url = "http://www.cjmweb.net/vbindiff/${name}.tar.gz";
+        sha256 = "0gcqy4ggp60qc6blq1q1gc90xmhip1m6yvvli4hdqlz9zn3mlpbx";
+      };
+    };
+
+    pvolctrl = stdenv.mkDerivation rec {
+      name = "pvolctrl-0.23";
+
+      unpackPhase = let
+        baseurl = "https://sites.google.com/site/guenterbartsch/blog/"
+                + "volumecontrolutilityforpulseaudio/";
+        makefile = fetchurl {
+          url = baseurl + "Makefile";
+          sha256 = "0l2ffvb617csk6h29y64v6ywhpcp7la6vvcip1w4nq0yry6jhrqz";
+        };
+        source = fetchurl {
+          url = baseurl + "pvolctrl.c";
+          sha256 = "0vcd5dlw9l47jpabwmmzdvlkn67fz55dr3sryyh56sl263mibjda";
+        };
+      in ''
+        mkdir -p "${name}"
+        sed -e 's|/usr/bin/||' "${makefile}" > "${name}/Makefile"
+        sed -e 's/PA_VOLUME_MAX/PA_VOLUME_NORM/
+        /avg_vol += (avg_vol \* vol_mod) \/ 100;/ {
+          s/(avg_vol/((int)PA_VOLUME_NORM/
+        }
+        /if (vol_mod)/i \
+          if (info->name == NULL || strncmp(info->name, "combined", 8) != 0) \
+            return;' "${source}" > "${name}/pvolctrl.c"
+        sourceRoot="${name}"
+      '';
+
+      installPhase = ''
+        install -D -T pvolctrl "$out/bin/pvolctrl"
+      '';
+
+      buildInputs = [ pkgconfig pulseaudio ];
+    };
+
+    samplicator = stdenv.mkDerivation rec {
+      name = "samplicator-${version}";
+      version = "1.3.7-beta6";
+
+      src = fetchurl {
+        url = "http://samplicator.googlecode.com/files/${name}.tar.gz";
+        sha1 = "2091af1898d6508ad9fd338a07e352e2387522d4";
+      };
+    };
+
+    axbo_research = stdenv.mkDerivation rec {
+      name = "axbo-research-${version}";
+      version = "2_0_18";
+
+      unpackPhase = ''
+        offset="$(sed -n 's/^ *tail *-c *\([0-9]\+\).*$/\1/p' "$src")"
+        tail -c "$offset" "$src" | tar xz
+        ls -la
+        #${unzip}/bin/unzip i4jruntime.jar
+        cat i4jparams.conf
+      '';
+
+      src = fetchurl {
+        url = "http://www.axbo.com/webstart/aXbo_unix_${version}.sh";
+        sha256 = "1zc3bpqfa5pdpl7masigvv98mi5phl04p80fyd2ink33xbmik70z";
+      };
+    };
+  }; in p;
+}