feat: setup flake

This commit is contained in:
tux
2025-02-27 17:01:50 +05:30
parent d52159d98d
commit e64319616f
5 changed files with 85 additions and 0 deletions

17
default.nix Normal file
View File

@ -0,0 +1,17 @@
{
lib,
buildGoModule,
}:
buildGoModule {
pname = "trok";
version = "0.1.0";
src = ./.;
vendorHash = "sha256-P7UBLLMMOwCeiM7aAY6A8cyXqxwn7mDTNS2kJTALHPU=";
meta = {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [tuxdotrs];
mainProgram = "trok";
};
}

27
flake.lock generated Normal file
View File

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1740547748,
"narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3a05eebede89661660945da1f151959900903b6a",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

27
flake.nix Normal file
View File

@ -0,0 +1,27 @@
{
description = "Simple tunneler in Go that exposes local ports to the internet";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
outputs = {
self,
nixpkgs,
}: let
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems = function: nixpkgs.lib.genAttrs systems (system: function nixpkgs.legacyPackages.${system});
in {
packages = forAllSystems (pkgs: rec {
default = trok;
trok = pkgs.callPackage ./default.nix {};
});
devShells = forAllSystems (pkgs: {
default = pkgs.callPackage ./shell.nix {};
});
};
}

1
result Symbolic link
View File

@ -0,0 +1 @@
/nix/store/gn03pkmsyjvqxb44vmb0m2anjlvgvp1c-trok-0.1.0

13
shell.nix Normal file
View File

@ -0,0 +1,13 @@
{
callPackage,
go,
}: let
mainPkg = callPackage ./default.nix {};
in
mainPkg.overrideAttrs (oa: {
nativeBuildInputs =
[
go
]
++ (oa.nativeBuildInputs or []);
})