all repos — website @ 72018b5585e945aa51a3a557a641cce17cabaf26

My website

Switch back to flakes

Alan Pearce
commit

72018b5585e945aa51a3a557a641cce17cabaf26

parent

cd04ffd199e989f233797d18013fe35380b0376d

1 file changed, 61 insertions(+), 0 deletions(-)

changed files
A flake.nix
@@ -0,0 +1,61 @@
+{ + description = "My website, alanpearce.eu"; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + inputs.utils.url = "github:numtide/flake-utils"; + inputs.flake-compat = { + url = "github:edolstra/flake-compat"; + flake = false; + }; + inputs.pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; + + outputs = { self, nixpkgs, utils, pre-commit-hooks, ... }: + utils.lib.eachDefaultSystem + (system: + let + pkgs = import nixpkgs { + inherit system; + }; + commonShellPackages = with pkgs; [ + go + templ + hyperlink + just + ko + flyctl + ]; + devPackages = with pkgs; [ + gopls + gotools + + systemfd + just + modd + ]; + in + { + devShells = { + ci = pkgs.mkShell { + packages = commonShellPackages; + }; + default = pkgs.mkShell { + inherit (self.checks.${system}.pre-commit-check) shellHook; + packages = devPackages ++ commonShellPackages; + }; + }; + checks = { + pre-commit-check = pre-commit-hooks.lib.${system}.run { + src = ./.; + hooks = { + go-mod-tidy = { + enable = true; + name = "go-mod-tidy"; + description = "Run `go mod tidy`"; + types_or = [ "go" "go-mod" ]; + entry = "${pkgs.go}/bin/go mod tidy"; + pass_filenames = false; + }; + }; + }; + }; + }); +}