Skip to content

Instantly share code, notes, and snippets.

@codedmart
Created July 27, 2015 16:16
Show Gist options
  • Select an option

  • Save codedmart/3f1e1b1db7ebf7d62891 to your computer and use it in GitHub Desktop.

Select an option

Save codedmart/3f1e1b1db7ebf7d62891 to your computer and use it in GitHub Desktop.
{ pkgs }:
let
vimrc = import ./vim/vimrc.nix {};
vimPlugins = import ./vim/vimPlugins.nix { inherit pkgs; };
in
with pkgs; rec {
replaceStdenv = { pkgs }: pkgs.allStdenvs.stdenvDarwinPure;
allowBroken = true;
allowUnfree = true;
vim = {
gui = "macvim";
};
#haskellPackageOverrides = with pkgs.haskellPackages.lib; self: super: {
#ghc-mod = pkgs.haskellPackages.callPackage ./haskell/ghc-mod.nix {};
#};
packageOverrides = pkgs : rec {
haskell = pkgs.haskell // {
packages = pkgs.haskell.packages // {
ghc7101 = pkgs.haskell.packages.ghc7101.override {
overrides = self: pkgs: {
ghc-mod = self.callPackage ./haskell/ghc-mod.nix {};
};
};
ghc763 = pkgs.haskell.packages.ghc763.override {
overrides = self: pkgs: {
mkDerivation = args: pkgs.mkDerivation (args // { doHaddock = false; });
};
};
};
};
# Vim plugins
vimrcConfig = {
vam.knownPlugins = pkgs.vimPlugins // vimPlugins.expr;
vam.pluginDictionaries = vimPlugins.dict;
customRC = vimrc.config;
};
## YouCompleteMe for vim
#youcompleteme = pkgs.callPackage ./youcompleteme {};
#youcompleteme-vim = pkgs.callPackage ./youcompleteme/vim.nix {};
## UltiSnips for vim
#ultisnips = pkgs.callPackage ./ultisnips {};
#ultisnips-vim = pkgs.callPackage ./ultisnips/vim.nix {};
# Vim
#myVim = pkgs.stdenv.lib.overrideDerivation pkgs.vim_configurable (oldAttrs: {
#name = "vim_configurable-7.4.712";
#src = pkgs.fetchurl {
#url = "http://mirrors.kernel.org/debian/pool/main/v/vim/vim_7.4.712.orig.tar.gz";
#sha256 = "0p5mcr5402d3vxy3wv5q6qbhd23b4kzffifgkz90bil2csgvld5k";
#};
#patches = [
#./vim/python_framework_new.patch
#];
#});
# Shell Env
shellEnv = with pkgs; buildEnv {
name = "shell-env";
paths = [
pkgs.bashInteractive
pkgs.bashCompletion
pkgs.python
python27Packages.virtualenv
python27Packages.pip
pkgs.wget
pkgs.git
pkgs.silver-searcher
pkgs.gnupg
pkgs.cmake
pkgs.tmux
pkgs.tmuxinator
];
};
# Vim
vimEnv = with pkgs; buildEnv {
name = "vim-env";
paths = [
(vim_configurable.customize {
name = "vim";
vimrcConfig = vimrcConfig;
})
];
};
# Neovim
neoVimEnv = with pkgs; buildEnv {
name = "neovim-env";
paths = [
(neovim.override {
configure = vimrcConfig;
})
];
};
# GHC 7.6.3
ghc763 = pkgs.haskell.packages.ghc763.ghcWithPackages (
haskellPackages: with haskellPackages; [
haskell.packages.ghc763.cabal-install_1_18_1_0
haskell.packages.ghc763.cabal2nix
#haskell.packages.ghc763.ghc-mod
]
);
ghc784 = pkgs.haskell.packages.ghc784.ghcWithPackages (
haskellPackages: with haskellPackages; [
cabal-install
cabal2nix
#ghc-mod
]
);
# GHC 7.10.1
ghc7101 = pkgs.haskell.packages.ghc7101.ghcWithPackages (
haskellPackages: with haskellPackages; [
cabal-install
cabal2nix
#haskell.packages.ghc7101.ghc-mod
]
);
# Rethinkdb 2.0.3
rethinkDB203 = pkgs.stdenv.lib.overrideDerivation pkgs.rethinkdb (oldAttrs: {
name = "rethinkdb-2.0.3-1";
patches = if pkgs.stdenv.isDarwin then [ ./rethinkdb-2.0.0-1/sedDarwin.patch ] else null;
});
# Rethinkdb 2.0.4
rethinkDB204 = pkgs.stdenv.lib.overrideDerivation pkgs.rethinkdb (oldAttrs: {
name = "rethinkdb-2.0.4-1";
src = pkgs.fetchurl {
url = "http://download.rethinkdb.com/dist/rethinkdb-2.0.4.tgz";
sha256 = "19qhia4lfa8a0rzp2v6lnlxp2lf4z4vqhgfxnicfdnx07q4r847i";
};
patches = if pkgs.stdenv.isDarwin then [ ./rethinkdb-2.0.0-1/sedDarwin.patch ] else null;
});
# Lumi
lumiEnv = with pkgs; buildEnv {
name = "lumi-env";
paths = [
pkgs.nodejs-0_10
rethinkDB204
pkgs.imagemagick
pkgs.graphicsmagick
pkgs.inkscape
pkgs.potrace
pkgs.pngquant
pkgs.pdf2svg
];
};
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment