From b8501165f0254fab29fca30b965fe7cfbc17817d Mon Sep 17 00:00:00 2001 From: Aaron Bieber Date: Tue, 6 Sep 2022 13:49:01 -0600 Subject: [PATCH] test template --- flake.nix | 5 +++++ templates/go/.envrc | 1 + templates/go/flake.nix | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 templates/go/.envrc create mode 100644 templates/go/flake.nix diff --git a/flake.nix b/flake.nix index 424423f..30ecaf2 100644 --- a/flake.nix +++ b/flake.nix @@ -164,5 +164,10 @@ ]; }; }; + + templates."go" = { + path = ./templates/go; + description = "Go template."; + }; }; } diff --git a/templates/go/.envrc b/templates/go/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/templates/go/.envrc @@ -0,0 +1 @@ +use flake diff --git a/templates/go/flake.nix b/templates/go/flake.nix new file mode 100644 index 0000000..6910571 --- /dev/null +++ b/templates/go/flake.nix @@ -0,0 +1,42 @@ +{ + description = "thing: stuff and things"; + + inputs.nixpkgs.url = "nixpkgs/nixos-21.11"; + + outputs = { self, nixpkgs }: + let + lastModifiedDate = + self.lastModifiedDate or self.lastModified or "19700101"; + version = builtins.substring 0 8 lastModifiedDate; + supportedSystems = + [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); + in { + packages = forAllSystems (system: + let pkgs = nixpkgsFor.${system}; + in { + thing = pkgs.buildGoModule { + pname = "thing"; + inherit version; + src = ./.; + + vendorSha256 = pkgs.lib.fakeSha256; + proxyVendor = true; + }; + }); + + defaultPackage = forAllSystems (system: self.packages.${system}.pnix); + devShells = forAllSystems (system: + let pkgs = nixpkgsFor.${system}; + in { + default = pkgs.mkShell { + shellHook = '' + PS1='\u@\h:\@; ' + ''; + nativeBuildInputs = with pkgs; [ git go gopls go-tools ]; + }; + }); + }; +} +