pkgs: with pkgs.lib; let allPackages = (import ../pkgs { pkgs = everything; }).aszlig // misc; everything = pkgs // allPackages // drvOverrides // argOverrides; mapOverride = overrideFun: includePackages: let packages = pkgs // allPackages // includePackages; overrideName = name: overrideFun (getAttr name packages); in mapAttrs overrideName; # input attrset overrides using pkg.override argOverrides = mapOverride (getAttr "override") drvOverrides { netrw.checksumType = "mhash"; pulseaudio.useSystemd = true; w3m.graphicsSupport = true; uqm.use3DOVideos = true; uqm.useRemixPacks = true; }; gajimGtkTheme = everything.writeText "gajim.gtkrc" '' style "default" { fg[NORMAL] = "#d5faff" fg[ACTIVE] = "#fffeff" fg[SELECTED] = "#fffeff" fg[INSENSITIVE] = "#85aaaf" fg[PRELIGHT] = "#d7f2ff" text[NORMAL] = "#fffefe" text[ACTIVE] = "#fffeff" text[SELECTED] = "#fffeff" text[INSENSITIVE] = "#85aaaf" text[PRELIGHT] = "#d7f2ff" bg[NORMAL] = "#0f4866" bg[ACTIVE] = "#0c232e" bg[SELECTED] = "#005a56" bg[INSENSITIVE] = "#103040" bg[PRELIGHT] = "#1d5875" base[NORMAL] = "#0c232e" base[ACTIVE] = "#0f4864" base[SELECTED] = "#005a56" base[INSENSITIVE] = "#103040" base[PRELIGHT] = "#1d5875" } class "GtkWidget" style "default" gtk-enable-animations = 0 ''; gajimPatch = everything.substituteAll { src = ../pkgs/gajim/config.patch; nix_config = everything.writeText "gajim.config" (import ../cfgfiles/gajim.nix); }; # derivation overrides drvOverrides = mapOverride overrideDerivation argOverrides { gajim = o: { patches = (o.patches or []) ++ singleton gajimPatch; postPatch = (o.postPatch or "") + '' sed -i -e '/^export/i export GTK2_RC_FILES="${gajimGtkTheme}"' \ scripts/gajim.in ''; }; erlang = o: let manpages = pkgs.fetchurl { url = "http://www.erlang.org/download/otp_doc_man_${o.version}.tar.gz"; sha256 = "16dkz3w1q4ahy37c8a8r2h8zjcr7cxz7pd9z38chbxf6frc2pxxc"; }; in { postInstall = (o.postInstall or "") + '' ensureDir "$out/lib/erlang" tar xf "${manpages}" -C "$out/lib/erlang" ''; }; }; # misc misc = { kernelSourceAszlig = { version = "3.16.0-rc5"; src = everything.fetchgit { url = git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git; rev = "1795cd9b3a91d4b5473c97f491d63892442212ab"; sha256 = "10yy7l8immaaqylvj214mcx1h7yw773gzsk0kq929p5zkprfnihi"; }; }; testChromiumBuild = let buildChannels = [ "stable" "beta" "dev" ]; buildChromium = chan: everything.chromium.override { channel = chan; gnomeSupport = true; gnomeKeyringSupport = true; proprietaryCodecs = true; cupsSupport = true; pulseSupport = true; }; mkTest = chan: everything.writeScript "test-chromium-${chan}.sh" '' #!${everything.stdenv.shell} if datadir="$(${everything.coreutils}/bin/mktemp -d)"; then ${buildChromium chan}/bin/chromium --user-data-dir="$datadir" rm -rf "$datadir" fi ''; in everything.stdenv.mkDerivation { name = "test-chromium-build"; buildCommand = let chanResults = flip map buildChannels (chan: '' echo "Test script for ${chan}: ${mkTest chan}" ''); in '' echo "Builds finished, the following derivations have been built:" ${concatStrings chanResults} false ''; }; }; in allPackages // drvOverrides // argOverrides