mostly convert from shell to flake

This commit is contained in:
Brian Hicks 2023-06-12 16:25:09 -05:00
parent e7645dafd3
commit fc2542a982
No known key found for this signature in database
GPG Key ID: C4F324B9CAAB0D50
2 changed files with 136 additions and 0 deletions

78
flake.lock Normal file
View File

@ -0,0 +1,78 @@
{
"nodes": {
"elm-forbid-import": {
"flake": false,
"locked": {
"lastModified": 1653575199,
"narHash": "sha256-TxqXxNwMrqMnWFNyFIf6JboPyTRK/zSNcSBUfeyPUqo=",
"ref": "refs/heads/main",
"rev": "f5d5dc93bb68a58aaa922ba588c94941845e0941",
"revCount": 142,
"type": "git",
"url": "https://git.bytes.zone/brian/elm-forbid-import.git"
},
"original": {
"type": "git",
"url": "https://git.bytes.zone/brian/elm-forbid-import.git"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1686519857,
"narHash": "sha256-VkBhuq67aXXiCoEmicziuDLUPPjeOTLQoj6OeVai5zM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6b1b72c0f887a478a5aac355674ff6df0fc44f44",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"elm-forbid-import": "elm-forbid-import",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

58
flake.nix Normal file
View File

@ -0,0 +1,58 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
elm-forbid-import = {
url = "git+https://git.bytes.zone/brian/elm-forbid-import.git";
flake = false;
};
};
outputs = inputs:
inputs.flake-utils.lib.eachDefaultSystem (system:
let pkgs = import inputs.nixpkgs { inherit system; };
in {
formatter = pkgs.nixpkgs-fmt;
devShell = pkgs.mkShell {
packages = [
# base dependencies
pkgs.git
pkgs.jq
pkgs.zstd
# building with Shake
pkgs.haskellPackages.ormolu
(pkgs.haskellPackages.ghcWithPackages (ps: [ ps.shake ]))
# node dependencies
pkgs.nodejs
pkgs.nodePackages.npm
# elm dependencies
pkgs.elmPackages.elm
pkgs.elmPackages.elm-format
pkgs.elmPackages.elm-test
pkgs.elmPackages.elm-language-server
pkgs.elmPackages.elm-verify-examples
pkgs.elmPackages.elm-review
pkgs.elmPackages.elm-json
# (pkgs.callPackage inputs.elm-forbid-import { })
# preview dependencies
pkgs.python3
pkgs.watchexec
# stuff we need for running builds in a `nix-shell --pure` environment.
pkgs.which
pkgs.netcat-gnu
# Buck dependencies
pkgs.black
pkgs.buildifier
] ++ pkgs.lib.optionals pkgs.stdenv.isLinux [ pkgs.fsatrace pkgs.strace pkgs.cacert ];
};
}
);
}