workspace: use direnv instead of corepack

This commit is contained in:
undefined committed 2025-12-29 10:32:01 +08:00
1 parent 0ce8d5aa8d
commit 4dda4feb2c
6 files changed
+81 -29

No files matched your search

+40 -22
View File
@@ -1,26 +1,44 @@
{
description = "Hydro development environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
packages.${system}.default = pkgs.hello;
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
pkgs.nodejs
pkgs.yarn-berry
pkgs.pm2
pkgs.git
pkgs.gcc
pkgs.go-judge
pkgs.mongodb-ce
];
};
};
}
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
composeConfig = {
version = "0.5";
processes = {
hydro = {
command = "${pkgs.nodejs}/bin/node node_modules/.bin/hydrooj --debug --port=2333";
is_interactive = true;
};
go-judge = {
command = "${pkgs.go-judge}/bin/go-judge";
};
webpack = {
command = "${pkgs.yarn-berry}/bin/yarn build:ui:dev";
};
};
};
in
{
apps.default = {
type = "app";
program = "${pkgs.writeShellScript "compose.sh" ''
${pkgs.process-compose}/bin/process-compose -f ${pkgs.writeText "process-compose.yml" (builtins.toJSON composeConfig)}
''}";
};
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
nodejs
yarn-berry
gcc
go-judge
];
};
});
}