From 72018b5585e945aa51a3a557a641cce17cabaf26 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sat, 16 Nov 2024 13:11:06 +0100 Subject: Switch back to flakes --- flake.nix | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 flake.nix (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..34f4360 --- /dev/null +++ b/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; + }; + }; + }; + }; + }); +} -- cgit 1.4.1