dotfiles/nix/.nixpkgs/config.nix

298 lines
8.3 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 {};
2017-02-01 14:49:55 +01:00
pyroscope = pkgs.callPackage ./pyroscope {};
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 {};
2017-01-31 21:07:42 +01:00
spotify = pkgs.spotify.overrideDerivation (attrs: rec {
2017-04-08 22:04:59 +02:00
# version = "1.0.48.103.g15edf1ec-94";
# name = "spotify-${version}";
# src = fetchurl {
# url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
# sha256 = "0rpwxgxv2ihfhlri98k4n87ynlcp569gm9q6hd8jg0vd2jgji8b3";
# };
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/
'';
};
2017-02-24 13:11:19 +01:00
libinput-gestures = pkgs.callPackage ./libinput-gestures.nix {};
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-02-01 20:17:01 +01:00
streamlink = overrideOlder pkgs.streamlink (attrs: rec {
2017-01-25 13:41:32 +01:00
version = "0.3.0";
name = "streamlink-${version}";
src = fetchFromGitHub {
owner = "streamlink";
repo = "streamlink";
rev = "${version}";
sha256 = "1bjih6y21vmjmsk3xvhgc1innymryklgylyvjrskqw610niai59j";
};
2017-02-01 20:17:01 +01:00
});
2017-02-01 20:18:04 +01:00
streamer = if (builtins.hasAttr "streamlink" pkgs) then streamlink else pythonPackages.livestreamer;
2017-01-25 13:41:32 +01:00
2017-04-08 22:04:59 +02:00
i3lock-color = overrideOlder pkgs.i3lock-color (attrs: rec {
version = "2.7-2017-04-01";
name = "i3lock-color-${version}";
2016-11-03 15:47:53 +01:00
2017-04-08 22:04:59 +02:00
src = fetchFromGitHub {
owner = "chrjguill";
repo = "i3lock-color";
rev = "61f6428aedbe4829d3e0f51d137283c8aec1e206";
sha256 = "0h4nzx46kcsp6b1i2lm9y4d1w1icrpvjl8g1h3wbpa5x4crh4703";
};
});
2017-08-15 01:29:33 +02:00
polybar = pkgs.polybar.override {i3GapsSupport = true; githubSupport = false;};
2016-04-19 00:07:28 +02:00
2017-04-08 22:04:59 +02:00
yscripts = pkgs.callPackage ../dotfiles/bin {};
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
2017-08-15 01:29:33 +02:00
# wpa_supplicant_gui
xclip siji fira-mono playerctl font-awesome-ttf
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
2017-04-08 22:04:59 +02:00
spotify
2017-03-14 14:06:37 +01:00
quasselClient
2016-01-28 03:06:14 +01:00
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-02-01 20:17:01 +01:00
streamer
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
2017-06-23 19:25:36 +02:00
abduco dvtm w3m
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-04-08 22:04:59 +02: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 {
2017-08-15 01:22:55 +02:00
myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
company
paredit
counsel
flycheck
ivy
magit
projectile
use-package
org-bullets
solarized-theme
evil
evil-magit
evil-leader
evil-tutor
evil-surround
epkgs.evil-goggles
# evil-commentary
password-store
pass
linum-relative
(epkgs.trivialBuild { pname = "emacs-nix-mode"; src = pkgs.fetchFromGitHub {
owner = "matthewbauer";
repo = "nix-mode";
rev = "v1.2.1";
sha256 = "1zpqpq6hd83prk80921nbjrvcmk0dykqrrr1mw3b29ppjma5zjiz";
};
preConfigure = ''
rm nix-company.el nix-mode-mmm.el
'';
})
nix-buffer
which-key
git-gutter-fringe
neotree
all-the-icons
epkgs.org-cliplink
pandoc-mode
markdown-mode
interleave
# all-the-icons-dired
org-ref
avy
# nixos-sandbox # https://github.com/travisbhartwell/nix-emacs
haskell-mode
]));
# todo: emacs-all-the-icons-fonts
2016-04-19 00:07:28 +02:00
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
};
}