1{
 2  description = "workspace configuration for git-bug";
 3
 4  inputs = {
 5    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
 6    flake-utils.url = "github:numtide/flake-utils";
 7  };
 8
 9  outputs =
10    {
11      self,
12      flake-utils,
13      nixpkgs,
14    }:
15    flake-utils.lib.eachDefaultSystem (
16      system:
17      let
18        pkgs = nixpkgs.legacyPackages.${system};
19      in
20      {
21        devShell = pkgs.mkShell {
22          packages = with pkgs; [
23            codespell
24            gh
25            git
26            go
27            golangci-lint
28            nixfmt-rfc-style
29            nodePackages.prettier
30          ];
31
32          shellHook = ''
33            # Use //:.gitmessage as the commit message template
34            ${pkgs.git}/bin/git config --local commit.template ".gitmessage"
35
36            # Use a common, shared file as the default for running
37            # git-blame with the `--ignore-revs` flag
38            ${pkgs.git}/bin/git config --local blame.ignoreRevsFile ".git-blame-ignore-revs"
39          '';
40        };
41      }
42    );
43}