flake.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | {
description = "A basic gomod2nix flake";
inputs.nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst";
inputs.gomod2nix.url = "github:nix-community/gomod2nix";
inputs.gomod2nix.inputs.nixpkgs.follows = "nixpkgs";
outputs =
{
self,
nixpkgs,
gomod2nix,
}:
let
supportedSystems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
in
{
packages = forAllSystems (
system:
let
pkgs = import nixpkgs { inherit system; };
in
{
default = pkgs.callPackage ./nix/pkg.nix {
inherit (gomod2nix.legacyPackages.${system}) buildGoApplication;
};
}
);
devShells = forAllSystems (
system:
let
pkgs = import nixpkgs { inherit system; };
go = pkgs.go_1_26;
in
{
default = pkgs.callPackage ./nix/shell.nix {
inherit (gomod2nix.legacyPackages.${system}) mkGoEnv gomod2nix;
inherit go;
};
}
);
overlays = {
default = final: prev: {
elgit = self.packages.${final.system}.default;
};
};
nixosModules.elgit = import ./nix/nixos-module.nix;
};
}
|