aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix43
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}