4 purs-nix.url = "github:purs-nix/purs-nix";
5 nixpkgs.follows = "purs-nix/nixpkgs";
6 utils.url = "github:ursi/flake-utils";
7 ps-tools.follows = "purs-nix/ps-tools";
9 url = "github:nix-community/npmlock2nix";
12 httpurple-argonaut = {
13 url = "github:sigma-andex/purescript-httpurple-argonaut";
18 outputs = { self, utils, ... }@inputs:
23 systems = [ "x86_64-linux" "x86_64-darwin" ];
25 ({ pkgs, system, ... }@ctx:
27 inherit (pkgs) nodejs;
28 npm = import inputs.npmlock2nix { inherit pkgs; };
29 node_modules = npm.v2.node_modules { src = ./.; inherit nodejs; } + /node_modules;
30 inherit (ctx.ps-tools) purescript purs-tidy purescript-language-server;
31 purs-nix = inputs.purs-nix { inherit system; };
32 affjax-node_ = pkgs.lib.recursiveUpdate purs-nix.ps-pkgs.affjax-node {
33 purs-nix-info.foreign."Affjax.Node" = { inherit node_modules; };
35 # TODO use httpurple-argonaut from official index
36 httpurple-argonaut_ = purs-nix.build
38 name = "httpurple-argonaut";
39 src.path = inputs.httpurple-argonaut;
40 info.dependencies = [ "argonaut" "console" "effect" "either" "httpurple" "prelude"];
47 with purs-nix.ps-pkgs;
61 inherit purescript nodejs;
70 program = "${packages.default}/bin/${name}";
75 default = app { inherit name; };
76 # npm version does not publish a nix-store path
81 echo "#!/usr/bin/env node" > $out
82 tail -n +2 ${packages.default}/bin/purs-eval >> $out
86 checks.test = test.check { };
88 devShells.default = pkgs.mkShell {
89 packages = with pkgs; [
92 purescript-language-server
102 extra-experimental-features = "nix-command flakes";
103 extra-substituters = [
104 "https://klarkc.cachix.org"
106 extra-trusted-public-keys = [
107 "klarkc.cachix.org-1:R+z+m4Cq0hMgfZ7AQ42WRpGuHJumLLx3k0XhwpNFq9U="
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list