From 92c1ef1af95740077282d773242fdd1820c8d15b Mon Sep 17 00:00:00 2001 From: stuebinm Date: Sun, 7 Mar 2021 23:52:19 +0100 Subject: Added basic nixos module (and restructured some files) Right now, this is capable of setting up a running instance of picarones in a couple lines of config (both backend server and the webapp, using nginx). More options should still be added, especially to make the backend's port configurable (but this requires adding features to the haskell code) --- picarones-hs/build.nix | 15 +++++++++++++++ picarones-hs/default.nix | 48 +++++++++++++++--------------------------------- 2 files changed, 30 insertions(+), 33 deletions(-) create mode 100644 picarones-hs/build.nix (limited to 'picarones-hs') diff --git a/picarones-hs/build.nix b/picarones-hs/build.nix new file mode 100644 index 0000000..c61d763 --- /dev/null +++ b/picarones-hs/build.nix @@ -0,0 +1,15 @@ +{ mkDerivation, aeson, base, bytestring, stdenv, text +, unordered-containers, websockets +}: +mkDerivation { + pname = "picarones-hs"; + version = "0.1.0.0"; + src = ./.; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson base bytestring text unordered-containers websockets + ]; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; +} diff --git a/picarones-hs/default.nix b/picarones-hs/default.nix index ebcb880..c61d763 100644 --- a/picarones-hs/default.nix +++ b/picarones-hs/default.nix @@ -1,33 +1,15 @@ -{ nixpkgs ? import {}, compiler ? "default", doBenchmark ? false }: - -let - - inherit (nixpkgs) pkgs; - - f = { mkDerivation, aeson, base, bytestring, stdenv, text - , unordered-containers, websockets - }: - mkDerivation { - pname = "haskell-ws-test"; - version = "0.1.0.0"; - src = ./.; - isLibrary = false; - isExecutable = true; - executableHaskellDepends = [ - aeson base bytestring text unordered-containers websockets - ]; - license = "unknown"; - hydraPlatforms = stdenv.lib.platforms.none; - }; - - haskellPackages = if compiler == "default" - then pkgs.haskellPackages - else pkgs.haskell.packages.${compiler}; - - variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id; - - drv = variant (haskellPackages.callPackage f {}); - -in - - if pkgs.lib.inNixShell then drv.env else drv +{ mkDerivation, aeson, base, bytestring, stdenv, text +, unordered-containers, websockets +}: +mkDerivation { + pname = "picarones-hs"; + version = "0.1.0.0"; + src = ./.; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson base bytestring text unordered-containers websockets + ]; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; +} -- cgit v1.2.3