From 17784ba5e6971b1b0a2f924cfb675ddba5bdec68 Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Sun, 20 Apr 2025 17:01:55 +0200 Subject: [PATCH] Add new devshell --- shells/entrance-exam.nix | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 shells/entrance-exam.nix diff --git a/shells/entrance-exam.nix b/shells/entrance-exam.nix new file mode 100644 index 00000000..9440b8c5 --- /dev/null +++ b/shells/entrance-exam.nix @@ -0,0 +1,45 @@ +{ pkgs, inputs, ... }: +let + support-services = { + css.command = "yarn build:css --watch"; + js.command = "yarn build:js --watch=forever"; + }; + all-services = support-services // { + rails = { + name = "server"; + command = "rails s -p 3000"; + }; + }; +in +pkgs.devshell.mkShell { + name = "Entrance exam"; + imports = [ "${inputs.devshell}/extra/language/ruby.nix" ]; + packages = with pkgs; [ + chromedriver + ungoogled-chromium + nodejs + nodePackages.typescript-language-server + yarn + bundix + ]; + commands = [ + { + name = "refresh-deps"; + category = "general commands"; + help = "Install dependencies"; + command = '' + yarn install + bundle install + bundle pristine + ''; + } + ]; + serviceGroups = { + server.services = all-services; + server-support.services = support-services; + }; + language.ruby = { + package = pkgs.ruby_3_4; + nativeDeps = [ pkgs.openssl pkgs.zlib pkgs.libffi pkgs.libyaml ]; + }; +}