95 lines
2.6 KiB
Nix
95 lines
2.6 KiB
Nix
{
|
|
description = "Quad4 Linking Tool 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;
|
|
};
|
|
|
|
go = pkgs.go_1_25;
|
|
|
|
task = pkgs.buildGoModule rec {
|
|
pname = "task";
|
|
version = "3.46.3";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "go-task";
|
|
repo = "task";
|
|
rev = "v${version}";
|
|
hash = "sha256-1bS8ZZAcemgRG7PTeGTFfd49T9u6U6CxxrbotwCM15A=";
|
|
};
|
|
|
|
vendorHash = "sha256-Tm0tqureCRwcP5KKDTa9TO1yZ3Px3ulf9/jKQDDTjDw=";
|
|
subPackages = [ "cmd/task" ];
|
|
|
|
doCheck = false;
|
|
|
|
meta = with pkgs.lib; {
|
|
description = "A task runner / simpler Make alternative written in Go";
|
|
homepage = "https://taskfile.dev/";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ ];
|
|
};
|
|
};
|
|
|
|
wailsSrc = pkgs.fetchFromGitHub {
|
|
owner = "wailsapp";
|
|
repo = "wails";
|
|
rev = "v2.11.0";
|
|
hash = "sha256-H1Nml2vhCx4IB/CT+kDro5joAw8ewpxoQjDgvqamAr8=";
|
|
};
|
|
|
|
wails = pkgs.buildGoModule rec {
|
|
pname = "wails";
|
|
version = "2.11.0";
|
|
|
|
src = pkgs.runCommand "${pname}-${version}-src" {} ''
|
|
cp -r ${wailsSrc}/v2 $out
|
|
chmod -R +w $out
|
|
'';
|
|
|
|
vendorHash = "sha256-HAIKhMKRTNI4hsm8Hvn5pUhnCTcitRxiw+WkVmxpfiU=";
|
|
subPackages = [ "cmd/wails" ];
|
|
|
|
doCheck = false;
|
|
|
|
meta = with pkgs.lib; {
|
|
description = "Build applications using Go + HTML + CSS + JS";
|
|
homepage = "https://wails.io/";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ ];
|
|
};
|
|
};
|
|
in
|
|
{
|
|
devShells.default = pkgs.mkShell {
|
|
buildInputs = with pkgs; [
|
|
go
|
|
task
|
|
nodejs_20
|
|
nodePackages.pnpm
|
|
wails
|
|
gcc
|
|
pkg-config
|
|
];
|
|
|
|
shellHook = ''
|
|
echo "Quad4 Linking Tool Development Environment"
|
|
echo "Go version: $(go version)"
|
|
echo "Task version: $(task --version 2>/dev/null || echo 'installed')"
|
|
echo "Node version: $(node --version)"
|
|
echo "pnpm version: $(pnpm --version)"
|
|
echo "Wails version: $(wails version 2>/dev/null || echo 'installed')"
|
|
'';
|
|
};
|
|
});
|
|
}
|
|
|