flake.nix
Rama main · réplica de lectura del repositorio original.
{
description = "Fasten development environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
"google-chrome"
];
};
};
in
{
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
# Frontend dependencies
nodejs_24
(yarn.override { nodejs = nodejs_24; })
(pkgs.writeShellScriptBin "ng" ''
${nodejs_24}/bin/npx @angular/cli@20.3.27 "$@"
'')
# Backend dependencies
go
# Docker
docker
docker-compose
# Chrome for frontend tests
google-chrome
# Go specific tools
(pkgs.writeShellScriptBin "tygo" ''
${go}/bin/go install github.com/gzuidhof/tygo@latest
${go}/bin/go run github.com/gzuidhof/tygo "$@"
'')
];
shellHook = ''
echo "Fasten development environment loaded!"
echo "Node version: $(node --version)"
echo "Yarn version: $(yarn --version)"
echo "Go version: $(go version)"
echo "Docker version: $(docker --version)"
'';
};
}
);
}