dotfiles/nix/.nixpkgs/config.nix

228 lines
6.2 KiB
Nix
Raw Normal View History

2016-01-28 03:06:14 +01:00
{
allowUnfree = true;
firefox = {
enableGoogleTalkPlugin = true;
enableAdobeFlash = true;
};
2016-08-26 18:12:45 +02:00
# chromium = {
# enablePepperFlash = true;
# enablePepperPDF = true;
# };
2016-01-28 03:06:14 +01:00
packageOverrides = pkgs: with pkgs;
let
mkEnv = name: paths: pkgs.buildEnv { inherit name paths; };
2016-01-31 22:11:15 +01:00
py3 = python35Packages; hs = haskellPackages; js = nodePackages; ml = ocamlPackages;
2017-01-25 13:41:32 +01:00
py2 = python27Packages; elm = elmPackages;
overrideOlder = original: override: let
newpkgver = lib.getVersion (override original);
oldpkgver = lib.getVersion original;
in if (lib.versionOlder oldpkgver newpkgver) then original.overrideDerivation override else original;
2016-01-28 03:06:14 +01:00
in rec {
2016-04-19 00:07:28 +02:00
2016-09-17 15:09:53 +02:00
#wine = pkgs.wine.override { wineRelease = "staging"; wineBuild = "wineWow"; };
2016-04-19 00:07:28 +02:00
ftb = pkgs.callPackage ./ftb.nix {};
pyroscope = pkgs.callPackage ./pyroscope.nix {};
2016-09-06 18:42:32 +02:00
peageprint = pkgs.callPackage ./peageprint.nix {};
2017-01-25 17:55:53 +01:00
nottetris2 = pkgs.callPackage ./nottetris2.nix {};
spotify = pkgs.spotify.overrideDerivation (attrs: {
installPhase = builtins.replaceStrings
["wrapProgram $out/share/spotify/spotify"]
["wrapProgram $out/share/spotify/spotify --add-flags --force-device-scale-factor=\\$SPOTIFY_DEVICE_SCALE_FACTOR"]
attrs.installPhase;
});
2016-08-30 16:19:29 +02:00
python35Packages = py3 // {
# pycrypto runs slow tests by default
pycrypto = py3.pycrypto.overrideDerivation (attrs: {
installCheckPhase = ''
${py3.python.interpreter} nix_run_setup.py test --skip-slow-tests
'';
});
};
2016-04-19 00:07:28 +02:00
2017-01-29 18:08:13 +01:00
gitFire = stdenv.mkDerivation {
src = fetchFromGitHub {
owner = "qw3rtman"; repo = "git-fire"; rev = "f485fffedbc4f719c55547be22ccd0080e592c9a";
sha256 = "1f7m1rypir85p33bgaggw5kgxjv7qy69zn1ci3b26rxr2a06fqwy";
};
name = "git-fire";
installPhase = ''
mkdir -p $out/bin/
install git-fire $out/bin/
'';
};
2016-09-17 15:09:53 +02:00
weiightminder = pkgs.callPackage (fetchgit {
url = https://gist.github.com/yorickvP/229d21a7da13c9c514dbd26147822641;
2016-09-21 22:17:40 +02:00
rev = "9749ef4d83c0078bc0248215ee882d7124827cf3";
sha256 = "0kxi20ss2k22sv3ndplnklc6r7ja0lcgklw6mz43qcj7vmgxxllf";
2016-09-17 15:09:53 +02:00
}) {};
2017-01-25 13:41:32 +01:00
node2nix_git = (pkgs.callPackage (fetchFromGitHub {
owner = "svanderburg";
repo = "node2nix";
rev = "b6545937592e7e54a14a2df315598570480fee9f";
sha256 = "1y50gs5mk2sdzqx68lr3qb71lh7jp4c38ynybf8ikx7kfkzxvasb";
}) {}).package;
2017-01-29 18:48:39 +01:00
asterisk = overrideOlder pkgs.asterisk (attrs: rec {
2016-11-03 15:47:53 +01:00
version = "13.11.2";
src = fetchurl {
url = "http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-${version}.tar.gz";
sha256 = "0fjski1cpbxap1kcjg6sgd6c8qpxn8lb1sszpg6iz88vn4dh19vf";
};
});
2017-01-02 19:15:32 +01:00
mpv = pkgs.mpv.override { vaapiSupport = true; };
# this can be dropped once i3status-2.11 is in unstable
i3status = overrideOlder pkgs.i3status (attrs: rec {
name = "i3status-2.11";
src = fetchurl {
url = "http://i3wm.org/i3status/${name}.tar.bz2";
sha256 = "0pwcy599fw8by1a1sf91crkqba7679qhvhbacpmhis8c1xrpxnwq";
};
});
2016-11-03 15:47:53 +01:00
2017-01-25 13:41:32 +01:00
streamlink = overrideOlder pkgs.streamlink (attrs: rec {
version = "0.3.0";
name = "streamlink-${version}";
src = fetchFromGitHub {
owner = "streamlink";
repo = "streamlink";
rev = "${version}";
sha256 = "1bjih6y21vmjmsk3xvhgc1innymryklgylyvjrskqw610niai59j";
};
});
2016-11-03 15:47:53 +01:00
2016-12-08 02:34:20 +01:00
yscripts = pkgs.callPackage ../dotfiles/bin {};
2016-09-17 15:09:53 +02:00
2016-04-19 00:07:28 +02:00
2016-01-28 03:06:14 +01:00
envs = recurseIntoAttrs {
de = mkEnv "y-de-deps" [
gtk-engine-murrine
2016-08-26 18:12:45 +02:00
hicolor_icon_theme
2017-01-02 19:15:32 +01:00
vanilla-dmz
# arc-theme
2016-08-26 18:12:45 +02:00
libnotify
2017-01-02 19:15:32 +01:00
rxvt_unicode-with-plugins
2016-01-28 03:06:14 +01:00
arandr
xorg.xrandr
2016-01-31 22:11:15 +01:00
pavucontrol
2017-01-02 19:15:32 +01:00
light nitrogen
2016-01-28 03:06:14 +01:00
];
scripts = mkEnv "y-scripts" [
2016-09-17 15:09:53 +02:00
peageprint
weiightminder
];
2016-09-17 15:09:53 +02:00
2016-01-28 03:06:14 +01:00
apps = mkEnv "y-apps" [
2016-04-30 21:21:06 +02:00
gajim
2016-09-21 20:31:05 +02:00
neomutt
2016-04-30 21:21:06 +02:00
torbrowser
2016-08-26 18:12:45 +02:00
chromium
2017-01-31 18:35:39 +01:00
#firefox-bin
2016-01-28 03:06:14 +01:00
gimp
2016-09-17 15:09:53 +02:00
tdesktop
2016-08-26 18:12:45 +02:00
#hexchat
2016-01-28 03:06:14 +01:00
#inkscape
keepassx
# libreoffice
2016-08-26 18:12:45 +02:00
skype
2016-12-08 02:34:20 +01:00
spotify
2016-01-28 03:06:14 +01:00
kde4.quasselClientWithoutKDE
sublime3
leafpad
calibre
2016-08-26 18:12:45 +02:00
#py2.plover
2016-01-31 22:11:15 +01:00
wireshark meld
2016-01-28 03:06:14 +01:00
];
media = mkEnv "y-media" [
2017-01-25 13:41:32 +01:00
streamlink
2016-04-19 00:07:28 +02:00
py3.youtube-dl
2016-01-28 03:06:14 +01:00
mpv
aria2
];
coins = mkEnv "y-coins" [
2016-08-26 18:12:45 +02:00
# altcoins.namecoin
2016-01-28 03:06:14 +01:00
# altcoins.dogecoin
electrum
];
nix = mkEnv "y-nix" [
2017-01-31 16:59:41 +01:00
patchelf nix nix-prefetch-git nix-repl nixopsUnstable nox
2016-01-28 03:06:14 +01:00
];
c = mkEnv "y-cdev" [
2016-01-31 22:11:15 +01:00
valgrind cdecl gdb ltrace cmake # gcc
2016-01-28 03:06:14 +01:00
];
misc = mkEnv "y-misc" [
2016-08-26 18:12:45 +02:00
#gitAndTools.git-annex # doesn't build
gnupg1 man-pages bup # catdoc
2016-01-28 03:06:14 +01:00
imagemagick
2016-01-31 22:11:15 +01:00
openssl
2016-01-28 03:06:14 +01:00
sshfsFuse
2016-01-31 22:11:15 +01:00
sshuttle iodine stow
2016-08-26 18:12:45 +02:00
expect duplicity
2017-01-25 13:41:32 +01:00
wakelan x2x pass
2016-01-28 03:06:14 +01:00
];
code = mkEnv "y-code" [
2017-01-29 18:08:13 +01:00
python gitAndTools.hub gnumake cloc silver-searcher gitFire
2016-01-28 03:06:14 +01:00
];
2016-08-26 18:12:45 +02:00
java = openjdk;
2016-01-28 03:06:14 +01:00
games = mkEnv "y-games" [
2016-04-30 21:21:06 +02:00
# steam openttd wine winetricks minecraft
2017-01-25 17:55:53 +01:00
steam nottetris2
2016-01-28 03:06:14 +01:00
];
js = mkEnv "y-jsdev" [
2017-01-25 13:41:32 +01:00
js.jshint nodejs-6_x electron node2nix_git
2016-01-28 03:06:14 +01:00
];
pdf = mkEnv "y-pdf" [
ml.cpdf zathura pandoc poppler_utils
];
2016-08-26 18:12:45 +02:00
};
2017-01-25 13:41:32 +01:00
# install with nix-env -iAr nixos.hosts.$(hostname -s)
# will remove all your previously installed nix-env stuff
# so check with nix-env -q first
2016-08-26 18:12:45 +02:00
hosts = {
2017-01-25 13:41:32 +01:00
ascanius = with envs; [apps code de games envs.js pdf nix media gcc misc scripts coins];
jarvis = with envs; [apps code de games envs.js pdf nix media gcc misc scripts];
2016-08-26 18:12:45 +02:00
woodhouse = with envs; [de media misc kodi chromium spotify];
pennyworth = [];
2017-01-31 18:35:39 +01:00
frumar = with envs; [bup gitAndTools.git-annex rtorrent pyroscope];
2016-01-28 03:06:14 +01:00
};
2016-04-19 00:07:28 +02:00
pandocdeps = (pkgs.texlive.combine {
inherit (pkgs.texlive)
scheme-basic
# explicit list pandoc tex dependencies
amsfonts amsmath lm ec ifxetex ifluatex eurosym listings fancyvrb
# longtable
booktabs
hyperref ulem geometry setspace
# linestretch
babel
# some optional dependencies of pandoc
upquote microtype csquotes
2016-09-17 15:09:53 +02:00
mathtools
2016-04-19 00:07:28 +02:00
;
});
2016-01-28 03:06:14 +01:00
};
}