All Projects → justinwoo → easy-purescript-nix

justinwoo / easy-purescript-nix

Licence: MIT license
Easy PureScript (and other tools) with Nix

Programming Languages

Nix
1067 projects
shell
77523 projects

Labels

Projects that are alternatives of or similar to easy-purescript-nix

presentations
Presentations at the Tokyo Nixos Meetup
Stars: ✭ 57 (-66.27%)
Mutual labels:  nix
nixkell
A simple Nix-Haskell skeleton
Stars: ✭ 63 (-62.72%)
Mutual labels:  nix
dotfiles
Dotfiles
Stars: ✭ 25 (-85.21%)
Mutual labels:  nix
gitignore.nix
Nix functions for filtering local git sources
Stars: ✭ 175 (+3.55%)
Mutual labels:  nix
elemental
Elemental, the component parts of a Nix/OS development system.
Stars: ✭ 44 (-73.96%)
Mutual labels:  nix
nix-home
A Nix Home Manager setup. I've now moved to a new configuration system at hugoreeves/elemental
Stars: ✭ 60 (-64.5%)
Mutual labels:  nix
nix-articles
Some articles about getting started with Nix programming & configuration
Stars: ✭ 134 (-20.71%)
Mutual labels:  nix
nix2container
An archive-less dockerTools.buildImage implementation
Stars: ✭ 133 (-21.3%)
Mutual labels:  nix
emergency-kexec
Kexec into an in-memory emergency system
Stars: ✭ 21 (-87.57%)
Mutual labels:  nix
nixpkgs
Nix Packages collection used in Nubank
Stars: ✭ 24 (-85.8%)
Mutual labels:  nix
haskell-overridez
Simplify usage of nix dependencies during haskell development
Stars: ✭ 32 (-81.07%)
Mutual labels:  nix
dotfiles
My personal dotfiles
Stars: ✭ 71 (-57.99%)
Mutual labels:  nix
nix-portable
Nix - Static, Permissionless, Installation-free, Pre-configured
Stars: ✭ 356 (+110.65%)
Mutual labels:  nix
purenix
Nix backend for PureScript. Transpile PureScript code to Nix.
Stars: ✭ 227 (+34.32%)
Mutual labels:  nix
ghcide-nix
Nix installation for ghcide
Stars: ✭ 76 (-55.03%)
Mutual labels:  nix
rnix-parser
A Nix parser written in Rust [maintainer=@oberblastmeister]
Stars: ✭ 246 (+45.56%)
Mutual labels:  nix
fts
🔍 Postgres full-text search (fts)
Stars: ✭ 28 (-83.43%)
Mutual labels:  nix
digga
A flake utility library to craft shell-, home-, and hosts- environments.
Stars: ✭ 818 (+384.02%)
Mutual labels:  nix
flake-utils-plus
Use Nix flakes without any fluff.
Stars: ✭ 280 (+65.68%)
Mutual labels:  nix
dotfiles
Dotfiles. Mac and *nix. Handy scripts, configurations for bash, zsh, git, asdf, Sublime Text, Karabiner-Elements, BetterTouchTool and more.
Stars: ✭ 15 (-91.12%)
Mutual labels:  nix

Easy PureScript Nix

A project for using PureScript and related tooling easily with Nix. Note that the purescript derivation used in nixpkgs is a derivative of the derivation from this project. See default.nix for more information on available versions.

Example usage

See ci.nix in this repo for a Nix expression example to be used with nix-shell.

$ nix-shell ./ci.nix

Or simply clone this repo, cd into it, and type nix-shell (which implicitly calls shell.nix).

Potential questions

How do I use this? (How do I use derivations in Nix?)

I have written about how to use parts of Nix here: https://github.com/justinwoo/nix-shorts

How do I install to my system from here?

Behold:

$ nix-env -f default.nix -iA purs
  # or nix-env -if purs.nix

$ which purs
/home/justin/.nix-profile/bin/purs
$ purs --version
0.14.4

Or by shell.nix:

{ pkgs ? import <nixpkgs> { } }:
let
  easy-ps = import
    (pkgs.fetchFromGitHub {
      owner = "justinwoo";
      repo = "easy-purescript-nix";
      rev = "5716cd791c999b3246b4fe173276b42c50afdd8d";
      sha256 = "1r9lx4xhr42znmwb2x2pzah920klbjbjcivp2f0pnka7djvd2adq";
    }) {
    inherit pkgs;
  };
in
pkgs.mkShell {
  buildInputs = [
    easy-ps.purs-0_14_4
    easy-ps.psc-package
  ];
}

Why was this made?

See the blog post about this here: https://github.com/justinwoo/my-blog-posts/blob/master/posts/2018-10-24-using-purescript-easily-with-nix.md

Raison d'etre: https://github.com/justinwoo/my-blog-posts/blob/master/posts/2019-04-29-why-easy-purescript-nix.md

Credits

Thanks to Pekka (@kaitanie) for making this work on NixOS.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].