{
  perSystem =
    {
      pkgs,
      lib,
      config,
      self',
      ...
    }:
    {
      devShells = {
        default = pkgs.mkShell {
          packages = builtins.attrValues {
            inherit (pkgs)
              age
              gitmoji-cli
              graphviz
              imv
              just
              nixfmt
              just-lsp
              litemdview
              nil
              openssl
              pqiv
              sops
              ssh-to-age
              taplo
              vscode-langservers-extracted
              watchexec
              ;
          };
          shellHook = "${config.pre-commit.installationScript}";
        };
      };

      pre-commit.settings.hooks = {
        nixfmt-rfc-style.enable = true;
        commitizen.enable = true;
      };

      treefmt.programs.nixfmt = {
        enable = true;
        width = 200;
      };

    };
}
