aboutsummaryrefslogtreecommitdiff
path: root/templates/go/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'templates/go/flake.nix')
-rw-r--r--templates/go/flake.nix77
1 files changed, 0 insertions, 77 deletions
diff --git a/templates/go/flake.nix b/templates/go/flake.nix
deleted file mode 100644
index 4746a98..0000000
--- a/templates/go/flake.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; };
- treefmt-nix = { url = "github:numtide/treefmt-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
- devshell.url = "github:numtide/devshell";
- pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
- };
-
- outputs = inputs:
- inputs.flake-parts.lib.mkFlake { inherit inputs; } {
- systems = [ "x86_64-linux" "aarch64-darwin" ];
- imports = [
- inputs.treefmt-nix.flakeModule
- inputs.pre-commit-hooks.flakeModule
- inputs.devshell.flakeModule
- ];
-
- perSystem = { pkgs, config, ... }:
- let
- src = ./.;
- package = {
- # Replace the following throws with strings with the appropriate values
- name = throw "package.name: missing value";
- version = throw "package.name: missing value";
- vendorHash = null;
- };
- in
- {
- packages = {
- ${package.name} = pkgs.buildGoModule {
- pname = package.name;
- inherit (package)
- version
- vendorHash;
- inherit src;
- };
- default = config.packages.${package.name};
- };
-
- formatter = pkgs.treefmt;
-
- devshells.default = {
- commands = [
- {
- name = "build";
- category = "dev";
- help = "Build the binary";
- command = "make";
- }
- ];
- packages = with pkgs; [
- go_1_21
- gopls
- golangci-lint
- ];
- devshell.startup = {
- pre-commit.text = config.pre-commit.installationScript;
- };
- };
-
- treefmt = {
- projectRootFile = "go.mod";
- programs.gofmt.enable = true;
- programs.nixpkgs-fmt.enable = true;
- };
-
- pre-commit = {
- settings = {
- hooks = {
- treefmt.enable = true;
- };
- };
- };
- };
- };
-}