From f8b7b030d293c17232753103564eba7e2f417a24 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 11 Apr 2021 14:03:58 +0530 Subject: Adds collection of shell files and new-shell command --- shell/bucklescript.nix | 22 ++++++++++++++++++++++ shell/elm.nix | 15 +++++++++++++++ shell/go.nix | 9 +++++++++ shell/haskell.nix | 31 +++++++++++++++++++++++++++++++ shell/idris.nix | 14 ++++++++++++++ shell/purescript.nix | 16 ++++++++++++++++ 6 files changed, 107 insertions(+) create mode 100644 shell/bucklescript.nix create mode 100644 shell/elm.nix create mode 100644 shell/go.nix create mode 100644 shell/haskell.nix create mode 100644 shell/idris.nix create mode 100644 shell/purescript.nix (limited to 'shell') diff --git a/shell/bucklescript.nix b/shell/bucklescript.nix new file mode 100644 index 0000000..62f2db5 --- /dev/null +++ b/shell/bucklescript.nix @@ -0,0 +1,22 @@ +{ pkgs ? import {}, ... }: + +let + bsb = pkgs.stdenv.mkDerivation { + name = "rescript-compiler"; + version = "0.0.0"; + src = pkgs.fetchFromGitHub { + user = "rescript-lang"; + repo = "rescript-compiler"; + }; + }; + + packages = with pkgs; [ + bsb + nodejs-15_x + yarn + ]; +in +pkgs.stdenv.mkDerivation { + name = "elm-project"; + buildInputs = packages; +} diff --git a/shell/elm.nix b/shell/elm.nix new file mode 100644 index 0000000..b26fb1e --- /dev/null +++ b/shell/elm.nix @@ -0,0 +1,15 @@ +{ pkgs ? import {}, ... }: + +let + packages = with pkgs; [ + elmPackages.elm + elmPackages.create-elm-app + elmPackages.elm-format + elmPackages.elm-language-server + nodejs-15_x + yarn + ]; +in pkgs.stdenv.mkDerivation { + name = "elm-project"; + buildInputs = packages; +} diff --git a/shell/go.nix b/shell/go.nix new file mode 100644 index 0000000..6af8f85 --- /dev/null +++ b/shell/go.nix @@ -0,0 +1,9 @@ +{}: +with import {}; +stdenv.mkDerivation { + name = "goenv"; + buildInputs = with pkgs; [ go gopls golangci-lint ]; + shellHook = '' + export GOROOT="${pkgs.go.out}/share/go"; + ''; +} diff --git a/shell/haskell.nix b/shell/haskell.nix new file mode 100644 index 0000000..9f34468 --- /dev/null +++ b/shell/haskell.nix @@ -0,0 +1,31 @@ +{ nixpkgs ? import {}, haskellPackages ? nixpkgs.haskellPackages, compiler ? "default", doBenchmark ? false }: + +let + inherit (nixpkgs) pkgs; + systemPackages = [ + haskellPackages.haskell-language-server + haskellPackages.cabal-install + pkgs.entr # Re-run on file change + ]; + + commonHsPackages = with haskellPackages; [ + base + bytestring + containers + random + raw-strings-qq + ]; +in + with haskellPackages; mkDerivation { + pname = "hs-project"; + version = "0.1.0.0"; + src = ./.; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = commonHsPackages; + executableHaskellDepends = commonHsPackages; + executableSystemDepends = systemPackages; + testHaskellDepends = commonHsPackages ++ [ hspec ]; + license = "MIT"; + hydraPlatforms = stdenv.lib.platforms.none; + } diff --git a/shell/idris.nix b/shell/idris.nix new file mode 100644 index 0000000..4bf4315 --- /dev/null +++ b/shell/idris.nix @@ -0,0 +1,14 @@ +{}: +with import {}; +let + idrDependencies = with pkgs.idrisPackages; [ + js + ]; + dependencies = with pkgs; [ + idris2 + ]; +in +stdenv.mkDerivation { + name = "idris-pigeon"; + buildInputs = dependencies ++ idrDependencies; +} diff --git a/shell/purescript.nix b/shell/purescript.nix new file mode 100644 index 0000000..511ed46 --- /dev/null +++ b/shell/purescript.nix @@ -0,0 +1,16 @@ +{ pkgs ? import {}, ... }: + +let + packages = with pkgs; [ + purescript + spago + nodePackages.purescript-language-server + dhall-lsp-server + nodejs-15_x + yarn + ]; +in +pkgs.stdenv.mkDerivation { + name = "purescript-proj"; + buildInputs = packages; +} -- cgit v1.3.1