flakeify
parent
2d2b925227
commit
03fb817914
@ -1,29 +0,0 @@
|
||||
{ sources ? import ./nix/sources.nix { }, nixpkgs ? import sources.nixpkgs { }
|
||||
}:
|
||||
let gitignore = nixpkgs.callPackage sources.gitignore { };
|
||||
in nixpkgs.stdenv.mkDerivation {
|
||||
name = "bad-datalog";
|
||||
|
||||
src = gitignore.gitignoreSource ./.;
|
||||
buildInputs = [ nixpkgs.elmPackages.elm nixpkgs.elmPackages.elm-test ];
|
||||
|
||||
buildPhase = nixpkgs.elmPackages.fetchElmDeps {
|
||||
elmPackages = import ./nix/elm-srcs.nix;
|
||||
elmVersion = "0.19.1";
|
||||
registryDat = ./nix/registry.dat;
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = "elm-test";
|
||||
|
||||
# it's a little weird that elm2nix says it's fine to build in the install
|
||||
# phase, but who am I to judge?
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/bad-datalog
|
||||
|
||||
(
|
||||
cd sample-apps
|
||||
elm make src/Main.elm --output $out/share/bad-datalog/index.html
|
||||
)
|
||||
'';
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1631561581,
|
||||
"narHash": "sha256-3VQMV5zvxaVLvqqUrNz3iJelLw30mIVSfZmAaauM3dA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1631562492,
|
||||
"narHash": "sha256-RMXh3Ol04TOdes/gl8GI0Q+8PH7kEeXbHzL0e957/Vc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f789739acc4baf042c85f2f7382f4b0af5c5e049",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-21.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
{
|
||||
inputs = {
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/release-21.05";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let pkgs = nixpkgs.legacyPackages.${system};
|
||||
in rec {
|
||||
# `nix build`
|
||||
packages.bad-datalog = pkgs.stdenv.mkDerivation {
|
||||
name = "bad-datalog";
|
||||
src = ./.;
|
||||
|
||||
buildInputs = [ pkgs.elmPackages.elm pkgs.elmPackages.elm-test ];
|
||||
|
||||
buildPhase = pkgs.elmPackages.fetchElmDeps {
|
||||
elmPackages = import ./nix/elm-srcs.nix;
|
||||
elmVersion = "0.19.1";
|
||||
registryDat = ./nix/registry.dat;
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = "elm-test";
|
||||
|
||||
# it's a little weird that elm2nix says it's fine to build in the install
|
||||
# phase, but who am I to judge?
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/bad-datalog
|
||||
|
||||
(
|
||||
cd sample-apps
|
||||
elm make src/Main.elm --output $out/share/bad-datalog/index.html
|
||||
)
|
||||
'';
|
||||
};
|
||||
defaultPackage = packages.bad-datalog;
|
||||
overlay = final: prev: { bad-datalog = packages.bad-datalog; };
|
||||
|
||||
# `nix develop`
|
||||
devShell = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
git
|
||||
|
||||
elm2nix
|
||||
elmPackages.elm
|
||||
elmPackages.elm-format
|
||||
elmPackages.elm-json
|
||||
elmPackages.elm-live
|
||||
elmPackages.elm-review
|
||||
elmPackages.elm-test
|
||||
];
|
||||
};
|
||||
});
|
||||
}
|
@ -1,19 +1,3 @@
|
||||
{ ... }:
|
||||
let
|
||||
sources = import ./nix/sources.nix { };
|
||||
pkgs = import sources.nixpkgs { };
|
||||
niv = import sources.niv { };
|
||||
in pkgs.mkShell {
|
||||
buildInputs = [
|
||||
niv.niv
|
||||
pkgs.git
|
||||
|
||||
pkgs.elm2nix
|
||||
pkgs.elmPackages.elm
|
||||
pkgs.elmPackages.elm-format
|
||||
pkgs.elmPackages.elm-json
|
||||
pkgs.elmPackages.elm-live
|
||||
pkgs.elmPackages.elm-review
|
||||
pkgs.elmPackages.elm-test
|
||||
];
|
||||
}
|
||||
(import (fetchTarball https://github.com/edolstra/flake-compat/archive/master.tar.gz) {
|
||||
src = builtins.fetchGit ./.;
|
||||
}).shellNix
|
||||
|
Loading…
Reference in New Issue