Skip to content

Commit

Permalink
add copywrite to nix dev shell
Browse files Browse the repository at this point in the history
  • Loading branch information
dvcorreia committed Oct 26, 2024
1 parent 370255d commit 2367633
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 7 deletions.
35 changes: 28 additions & 7 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,40 @@
flake-utils.url = "github:numtide/flake-utils";
};

outputs = { self, nixpkgs, flake-utils, ... }:
outputs =
{
self,
nixpkgs,
flake-utils,
...
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
buildDeps = with pkgs; [ git go_1_21 gnumake ];
devDeps = with pkgs;
buildDeps ++ [
overlay = import ./nix/pkgs;

pkgs = import nixpkgs {
inherit system;
overlays = [ overlay ];
};

buildDeps = with pkgs; [
git
go_1_21
gnumake
];

devDeps =
with pkgs;
buildDeps
++ [
easyjson
goreleaser
copywrite
];
in
{ devShell = pkgs.mkShell { buildInputs = devDeps; }; }
{
devShell = pkgs.mkShell { buildInputs = devDeps; };
}
);

}
56 changes: 56 additions & 0 deletions nix/pkgs/copywrite.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
testers,
copywrite,
}:

buildGoModule rec {
pname = "copywrite";
version = "0.19.0";

src = fetchFromGitHub {
owner = "hashicorp";
repo = "copywrite";
rev = "6ed520a710166c6094098b786c63f212604654a4"; # matches tag release
hash = "sha256-DmlPioaw/wMk8GoBYNG24P4J1C6h0bjVjjOuMYW6Tgo=";
};

vendorHash = "sha256-ZIu0/fue3xi+YVE9GFsVjCNs8t3c3TWH8O0xUzJdim8=";

shortRev = builtins.substring 0 7 src.rev;

ldflags = [
"-s"
"-w"
"-X github.com/hashicorp/copywrite/cmd.version=${version}"
"-X github.com/hashicorp/copywrite/cmd.commit=${shortRev}"
];

CGO_ENABLED = 0;

nativeBuildInputs = [ installShellFiles ];
postInstall = ''
$out/bin/copywrite completion bash > copywrite.bash
$out/bin/copywrite completion zsh > copywrite.zsh
$out/bin/copywrite completion fish > copywrite.fish
installShellCompletion copywrite.{bash,zsh,fish}
'';

passthru.tests.version = testers.testVersion {
package = copywrite;
command = "copywrite --version";
version = "${version}-${shortRev}";
};

meta = {
description = "Automate copyright headers and license files at scale";
mainProgram = "copywrite";
homepage = "https://github.com/hashicorp/copywrite";
changelog = "https://github.com/hashicorp/copywrite/releases/tag/v${version}";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ dvcorreia ];
};
}
3 changes: 3 additions & 0 deletions nix/pkgs/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
final: prev: {
copywrite = final.callPackage ./copywrite.nix { };
}

0 comments on commit 2367633

Please sign in to comment.