From aec6cdf8986129094708550f586d5310ff3c2f1a Mon Sep 17 00:00:00 2001 From: Matthew Russell Date: Mon, 13 Jun 2022 10:09:46 -0700 Subject: [PATCH 1/2] Add nix tooling --- .envrc | 1 + .gitignore | 1 + flake.lock | 43 +++++++++++++++++++++++++++++++++++++++++ flake.nix | 34 ++++++++++++++++++++++++++++++++ tools/publish-shell.nix | 32 ++++++++++++++++++++++++++++++ 5 files changed, 111 insertions(+) create mode 100644 .envrc create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 tools/publish-shell.nix diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore index b32b3d8..c38ed6e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /.psa* /.vscode/ /.spago/ +/.direnv/ diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..0a1d2cd --- /dev/null +++ b/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "flake-utils": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1655122334, + "narHash": "sha256-Rwwvo9TDCH0a4m/Jvoq5wZ3FLSLiVLBD1FFfN/3XawA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e1a1cfb56504d1b82a3953bfb0632b37a1ca8d30", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..ca752d9 --- /dev/null +++ b/flake.nix @@ -0,0 +1,34 @@ +{ + description = "Provide an environment for working in this repo"; + + # to handle mac and linux + inputs.flake-utils.url = "github:numtide/flake-utils"; + + # we want to use a consistent nixpkgs across developers. + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + + outputs = all@{ self, nixpkgs, flake-utils, ... }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { + inherit system; + }; + packages = + let + # everything we want available in our development environment that isn't managed by + # npm, spago + # we do not differentiate between libraries needed for building and tools at the moment. + sharedPackages = with pkgs; [ + nodejs-16_x + ]; + in + sharedPackages; + in { + # produce our actual shell + devShell = pkgs.mkShell rec { + # make our packages available + buildInputs = packages; + }; + } + ); +} diff --git a/tools/publish-shell.nix b/tools/publish-shell.nix new file mode 100644 index 0000000..38ec253 --- /dev/null +++ b/tools/publish-shell.nix @@ -0,0 +1,32 @@ +# Universal shell for PureScript repos +{ pkgs ? import (builtins.fetchGit { + # https://github.com/NixOS/nixpkgs/releases/tag/21.11 + url = "https://github.com/nixos/nixpkgs/"; + ref = "refs/tags/21.11"; + rev = "a7ecde854aee5c4c7cd6177f54a99d2c1ff28a31"; + }) {} +}: +let + easy-ps-src = builtins.fetchGit { + url = "https://github.com/justinwoo/easy-purescript-nix.git"; + ref = "master"; + rev = "0ad5775c1e80cdd952527db2da969982e39ff592"; + }; + easy-ps = import easy-ps-src { inherit pkgs; }; +in +pkgs.mkShell { + nativeBuildInputs = [ + easy-ps.purs-0_15_0 + easy-ps.spago + easy-ps.pulp-16_0_0-0 + easy-ps.psc-package + easy-ps.purs-tidy + pkgs.nodejs-16_x + pkgs.nodePackages.bower + ]; + LC_ALL = "C.UTF-8"; # https://github.com/purescript/spago/issues/507 + # https://github.com/purescript/spago#install-autocompletions-for-bash + shellHook = '' + source <(spago --bash-completion-script `which spago`) + ''; +} From a7875f0bcfdd2ff31f4350d34648d67992d53037 Mon Sep 17 00:00:00 2001 From: Matthew Russell Date: Mon, 13 Jun 2022 10:28:53 -0700 Subject: [PATCH 2/2] Build examples in CI --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4bf1a81..8986f1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,3 +51,6 @@ jobs: - name: Build the project run: npm run build + + - name: Build examples + run: find examples -maxdepth 2 -type f -iname package.json -execdir "npm install && npm build" \; pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy