From c3cb7b0df82479016c252ef45a302f566bd569f6 Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Mon, 13 Dec 2021 21:28:25 -0500 Subject: feat(grfn/bbbg): Init This will eventually become a signup sheet + no-show tracker for my local board game meetup group Change-Id: Id8d1d80d95d1e2fda5041275cff2fecfd6fa43f1 --- users/grfn/bbbg/default.nix | 78 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 users/grfn/bbbg/default.nix (limited to 'users/grfn/bbbg/default.nix') diff --git a/users/grfn/bbbg/default.nix b/users/grfn/bbbg/default.nix new file mode 100644 index 000000000000..90f112bf2866 --- /dev/null +++ b/users/grfn/bbbg/default.nix @@ -0,0 +1,78 @@ +{ depot, pkgs, ... }: + +with pkgs.lib; + +let + inherit (depot.third_party) gitignoreSource; + + deps = import ./deps.nix { + inherit (pkgs) fetchMavenArtifact fetchgit lib; + }; +in rec { + meta.targets = [ + "db-util" + "server" + ]; + + depsPaths = deps.makePaths {}; + + resources = builtins.filterSource (_: type: type != "symlink") ./resources; + + classpath.dev = concatStringsSep ":" ( + (map gitignoreSource [./src ./test ./env/dev]) ++ [resources] ++ depsPaths + ); + + classpath.test = concatStringsSep ":" ( + (map gitignoreSource [./src ./test ./env/test]) ++ [resources] ++ depsPaths + ); + + classpath.prod = concatStringsSep ":" ( + (map gitignoreSource [./src ./env/prod]) ++ [resources] ++ depsPaths + ); + + testClojure = pkgs.writeShellScript "test-clojure" '' + export HOME=$(pwd) + ${pkgs.clojure}/bin/clojure -Scp ${depsPaths} + ''; + + mkJar = name: opts: + with pkgs; + assert (hasSuffix ".jar" name); + stdenv.mkDerivation rec { + inherit name; + dontUnpack = true; + buildPhase = '' + export HOME=$(pwd) + cp ${./pom.xml} pom.xml + cp ${./deps.edn} deps.edn + ${clojure}/bin/clojure \ + -Scp ${classpath.prod} \ + -A:uberjar \ + ${name} \ + -C ${opts} + ''; + + doCheck = true; + + checkPhase = '' + echo "checking for existence of ${name}" + [ -f ${name} ] + ''; + + installPhase = '' + cp ${name} $out + ''; + }; + + db-util-jar = mkJar "bbbg-db-util.jar" "-m bbbg.db"; + + db-util = pkgs.writeShellScriptBin "bbbg-db-util" '' + exec ${pkgs.openjdk17_headless}/bin/java -jar ${db-util-jar} "$@" + ''; + + server-jar = mkJar "bbbg-server.jar" "-m bbbg.core"; + + server = pkgs.writeShellScriptBin "bbbg-server" '' + exec ${pkgs.openjdk17_headless}/bin/java -jar ${server-jar} "$@" + ''; +} -- cgit 1.4.1