diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..4799770 --- /dev/null +++ b/flake.nix | |||
@@ -0,0 +1,43 @@ | |||
1 | { | ||
2 | description = "Frontend and backend for Furby"; | ||
3 | |||
4 | inputs = { | ||
5 | nixpkgs.url = github:NixOS/nixpkgs/nixos-20.03; | ||
6 | mozillapkgs = { | ||
7 | url = "github:mozilla/nixpkgs-mozilla"; | ||
8 | flake = false; | ||
9 | }; | ||
10 | }; | ||
11 | |||
12 | |||
13 | outputs = { self, nixpkgs, mozillapkgs }: | ||
14 | let | ||
15 | pkgs = import nixpkgs { system = "x86_64-linux"; }; | ||
16 | mozilla = pkgs.callPackage (mozillapkgs + "/package-set.nix") {}; | ||
17 | rust = (mozilla.rustChannelOf { | ||
18 | date = "2020-12-23"; # get the current date with `date -I` | ||
19 | channel = "nightly"; | ||
20 | sha256 = "LbKHsCOFXWpg/SEyACfzZuWjKbkXdH6EJKOPSGoO01E="; | ||
21 | }).rust; | ||
22 | frontendPackages = with pkgs; [ | ||
23 | elmPackages.elm | ||
24 | elmPackages.elm-language-server | ||
25 | elmPackages.elm-format | ||
26 | nodePackages.elm-oracle | ||
27 | elmPackages.elm-test | ||
28 | ]; | ||
29 | backendPackages = with pkgs; [ | ||
30 | cargo rust pkg-config | ||
31 | openssl httpie curl diesel-cli | ||
32 | libmysqlclient jq python3 | ||
33 | ]; | ||
34 | in | ||
35 | with pkgs; | ||
36 | { | ||
37 | defaultPackage.x86_64-linux = stdenv.mkDerivation { | ||
38 | name = "furby"; | ||
39 | src = "./."; | ||
40 | buildInputs = frontendPackages ++ backendPackages; | ||
41 | }; | ||
42 | }; | ||
43 | } | ||