diff options
author | Alan Pearce | 2024-05-12 22:34:23 +0200 |
---|---|---|
committer | Alan Pearce | 2024-05-12 23:12:39 +0200 |
commit | 895a3b061bb4717955ffbceab3bf3c6ecebacd70 (patch) | |
tree | fed970785b9b0460693d07dcffae08283be90ce4 /default.nix | |
parent | 7077a3748fa545e8dee83d4f3464c55b4b459183 (diff) | |
download | searchix-895a3b061bb4717955ffbceab3bf3c6ecebacd70.tar.lz searchix-895a3b061bb4717955ffbceab3bf3c6ecebacd70.tar.zst searchix-895a3b061bb4717955ffbceab3bf3c6ecebacd70.zip |
build: switch to flakes
Diffstat (limited to 'default.nix')
-rw-r--r-- | default.nix | 107 |
1 files changed, 2 insertions, 105 deletions
diff --git a/default.nix b/default.nix index 506be0e..f25ce84 100644 --- a/default.nix +++ b/default.nix @@ -1,106 +1,3 @@ -let - sources = import ./nix/sources.nix; -in -{ pkgs ? ( - import sources.nixpkgs { - overlays = [ - (import "${sources.gomod2nix}/overlay.nix") - (import ./nix/overlays/default.nix) - ]; - } - ) -}: -rec { - css = pkgs.fetchurl { - inherit (sources.simple-css) url sha256; - }; +{ system ? builtins.currentSystem }: - searchix = pkgs.buildGoApplication { - pname = "searchix"; - version = "0.1"; - src = with pkgs.lib.fileset; toSource { - root = ./.; - fileset = intersection - (unions [ - ./go.mod - ./go.sum - ./serve - ./import - ./internal - ./frontend - ]) - (gitTracked ./.); - }; - - patchPhase = '' - cp ${css} frontend/static/base.css - ''; - tags = [ "embed" ]; - modules = ./gomod2nix.toml; - }; - - pre-commit-check = (import sources.git-hooks).run { - src = ./.; - hooks = { - gotest.enable = true; - golangci-lint.enable = true; - staticcheck.enable = true; - - statix = { - enable = true; - settings.ignore = [ "nix/*" ]; - }; - deadnix = { - enable = true; - excludes = [ "nix/.*" ]; - }; - nixpkgs-fmt = { - enable = true; - excludes = [ "nix/.*" ]; - }; - - convco.enable = true; - - check-case-conflicts.enable = true; - check-symlinks.enable = true; - editorconfig-checker.enable = true; - prettier = { - enable = true; - types_or = [ "plain-text" "yaml" "gotmpl" "javascript" ]; - settings = { - plugins = with pkgs.nodePackages; [ - "${prettier-plugin-go-template}/lib/node_modules/prettier-plugin-go-template/lib/index.js" - ]; - }; - }; - - yamllint = { - enable = true; - }; - golines = { - enable = true; - name = "golines"; - description = "A golang formatter that fixes long lines"; - types_or = [ "go" ]; - entry = "${pkgs.golines}/bin/golines --write-output"; - pass_filenames = true; - }; - 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; - }; - gomod2nix = { - enable = true; - name = "gomod2nix"; - description = "Import go.mod updates to nix"; - types_or = [ "go-sum" ]; - entry = "${pkgs.gomod2nix}/bin/gomod2nix"; - pass_filenames = false; - }; - }; - }; -} +(builtins.getFlake (toString ./.)).packages.${system}.default |