From e2109bb604bcf3589c60e15b6427375fa930a557 Mon Sep 17 00:00:00 2001 From: Taylor Bockman Date: Wed, 8 Jun 2016 14:07:53 -0700 Subject: [PATCH] Add improvements to nix development environment for python --- dotfiles/nixpkgs/.nixpkgs | 1 + nix/development/default.nix | 26 ++++++++++++++---------- nix/development/env/python/default.nix | 37 ++++++++++++++++++++++++++++++++++ nix/display/default.nix | 1 + 4 files changed, 54 insertions(+), 11 deletions(-) create mode 120000 dotfiles/nixpkgs/.nixpkgs create mode 100644 nix/development/env/python/default.nix diff --git a/dotfiles/nixpkgs/.nixpkgs b/dotfiles/nixpkgs/.nixpkgs new file mode 120000 index 0000000..3d878fe --- /dev/null +++ b/dotfiles/nixpkgs/.nixpkgs @@ -0,0 +1 @@ +/home/taylor/.nixpkgs \ No newline at end of file diff --git a/nix/development/default.nix b/nix/development/default.nix index 4ee6051..4dbbe44 100644 --- a/nix/development/default.nix +++ b/nix/development/default.nix @@ -1,21 +1,25 @@ { config, pkgs, ... }: { - environment = { + environment = { variables = { EDITOR = "nvim"; }; systemPackages = with pkgs; [ - bar-xft # Lightweight xcb based bar - cabal-install # Haskell package installer - curl # Tool for general HTTP, FTP, etc work - ghc # Haskell Compiler - git # Source control - neovim # Better vim - python3 # Python 3 - silver-searcher # Better than grep - vim # Regular ole' vim - wget # Standard GNU package for HTTP, FTP, etc file retrieval + bar-xft # Lightweight xcb based bar + cabal-install # Haskell package installer + curl # Tool for general HTTP, FTP, etc work + freetype # Library to render fonts required by some packages + gcc # GNU Compiler Collection + ghc # Haskell compiler + git # Source control + libpng # PNG library + neovim # Better vim + python3 # Python 3 + python34Packages.setuptools # Python setuptools + silver-searcher # Better than grep + vim # Regular ole' vim + wget # Standard GNU package for HTTP, FTP, etc file retrieval ]; }; } diff --git a/nix/development/env/python/default.nix b/nix/development/env/python/default.nix new file mode 100644 index 0000000..09156b6 --- /dev/null +++ b/nix/development/env/python/default.nix @@ -0,0 +1,37 @@ +#A quick-and-dirty environment for nix-shell that gets you started with python34, pip, and virtualenv. +# Simply run nix-shell with the directory that has this file in it to drop into a shell with everything +# you need. + +with import {}; +with pkgs.python3Packages; + +buildPythonPackage { + name = "pythonEnv"; + buildInputs = [ + freetype + git # Source control + atlas # ATLAS + blas # BLAS + libxml2 # XML2 library + libxslt # XLST library + libzip # Zip library + liblapack # Linear Algebra pack library + libpng # PNG library + pkgconfig + python3 + python3Packages.virtualenv + python3Packages.setuptools + stdenv + zlib ]; + src = null; + # When used as `nix-shell --pure` + shellHook = '' + unset http_proxy + export GIT_SSL_CAINFO=/etc/ssl/certs/ca-bundle.crt + ''; + # used when building environments + extraCmds = '' + unset http_proxy # otherwise downloads will fail ("nodtd.invalid") + export GIT_SSL_CAINFO=/etc/ssl/certs/ca-bundle.crt + ''; +} diff --git a/nix/display/default.nix b/nix/display/default.nix index 51fe8b1..29c45b2 100644 --- a/nix/display/default.nix +++ b/nix/display/default.nix @@ -24,6 +24,7 @@ enableGhostscriptFonts = true; fonts = with pkgs; [ corefonts # Microsoft free fonts + freetype # Freetype fonts inconsolata # Great monospaced font ubuntu_font_family # Another great font family unifont # International language support