diff --git a/default.nix b/default.nix index bcdae155f..e180a6f38 100644 --- a/default.nix +++ b/default.nix @@ -77,7 +77,7 @@ let "-f dev --test-show-detail=direct"; profiledHaskellPackages = - pkgs.haskell.packages."${compiler}".extend (self: super: + pkgs.haskell.packages."${compiler}".extend (_: super: { mkDerivation = args: @@ -118,7 +118,7 @@ rec { pkgs.callPackage nix/tools/cabalTools.nix { inherit devCabalOptions postgrest; }; withTools = - pkgs.callPackage nix/tools/withTools.nix { inherit cabalTools devCabalOptions postgresqlVersions postgrest; }; + pkgs.callPackage nix/tools/withTools.nix { inherit postgresqlVersions postgrest; }; # Development tools. devTools = diff --git a/nix/libpq.nix b/nix/libpq.nix index 63542611e..ca9103baf 100644 --- a/nix/libpq.nix +++ b/nix/libpq.nix @@ -11,7 +11,6 @@ , openssl , zlib , libkrb5 -, icu , postgresql , pkg-config , tzdata diff --git a/nix/overlays/build-toolbox/default.nix b/nix/overlays/build-toolbox/default.nix index 201b2e953..79a664189 100644 --- a/nix/overlays/build-toolbox/default.nix +++ b/nix/overlays/build-toolbox/default.nix @@ -1,4 +1,4 @@ -self: super: +_: super: # Overlay that adds `buildToolbox`, an enhanced version of `buildEnv` { buildToolbox = super.callPackage ./build-toolbox.nix { }; diff --git a/nix/overlays/checked-shell-script/default.nix b/nix/overlays/checked-shell-script/default.nix index c8a16633d..b1766aa00 100644 --- a/nix/overlays/checked-shell-script/default.nix +++ b/nix/overlays/checked-shell-script/default.nix @@ -1,4 +1,4 @@ -self: super: +_: super: # Overlay that adds `checkedShellScript`, an enhanced version of # writeShellScript and writeShellScriptBin { diff --git a/nix/overlays/gitignore.nix b/nix/overlays/gitignore.nix index 7c8342c89..0e6aa283f 100644 --- a/nix/overlays/gitignore.nix +++ b/nix/overlays/gitignore.nix @@ -1,4 +1,4 @@ -self: super: +_: super: # Overlay that adds the `gitignoreSource` function from Hercules-CI. # This function is useful for filtering which files are added to the Nix store. # See: https://github.com/hercules-ci/gitignore.nix diff --git a/nix/overlays/haskell-packages.nix b/nix/overlays/haskell-packages.nix index b8515170f..16a25bf0f 100644 --- a/nix/overlays/haskell-packages.nix +++ b/nix/overlays/haskell-packages.nix @@ -5,7 +5,7 @@ let inherit (self.haskell) lib; overrides = - final: prev: + _: prev: rec { # To pin custom versions of Haskell packages: # protolude = diff --git a/nix/overlays/postgresql-future.nix b/nix/overlays/postgresql-future.nix index 90964d075..5ef8a42d8 100644 --- a/nix/overlays/postgresql-future.nix +++ b/nix/overlays/postgresql-future.nix @@ -1,4 +1,4 @@ -self: super: +_: _: # Overlay that adds future versions of PostgreSQL that are supported by # PostgREST. { diff --git a/nix/overlays/postgresql-legacy.nix b/nix/overlays/postgresql-legacy.nix index cd07af5aa..506d8eb34 100644 --- a/nix/overlays/postgresql-legacy.nix +++ b/nix/overlays/postgresql-legacy.nix @@ -1,4 +1,4 @@ -self: super: +_: _: # Overlay that adds legacy versions of PostgreSQL that are supported by # PostgREST. { diff --git a/nix/overlays/postgresql-libpq.nix b/nix/overlays/postgresql-libpq.nix index 5f342bd86..2d1841e60 100644 --- a/nix/overlays/postgresql-libpq.nix +++ b/nix/overlays/postgresql-libpq.nix @@ -1,4 +1,4 @@ -self: super: +_: super: { libpq = super.callPackage ../libpq.nix { postgresql = super.postgresql_16; diff --git a/nix/overlays/slocat.nix b/nix/overlays/slocat.nix index 577b527fb..f26d71a39 100644 --- a/nix/overlays/slocat.nix +++ b/nix/overlays/slocat.nix @@ -1,4 +1,4 @@ -final: prev: +_: prev: { slocat = prev.buildGoModule { name = "slocat"; diff --git a/nix/static.nix b/nix/static.nix index ca13564c8..76387a321 100644 --- a/nix/static.nix +++ b/nix/static.nix @@ -23,12 +23,12 @@ let enableNativeBignum = true; }; - overrides = pkgs.lib.composeExtensions old.overrides (final: prev: { + overrides = pkgs.lib.composeExtensions old.overrides (_: prev: { postgresql-libpq = (prev.postgresql-libpq.override { # postgresql doesn't build in the fully static overlay - but the default # derivation is built with static libraries anyway. postgresql = pkgsCross.libpq; - }).overrideAttrs (finalAttrs: prevAttrs: { + }).overrideAttrs (_: prevAttrs: { # Using use-pkg-config flag, because pg_config won't work when cross-compiling configureFlags = prevAttrs.configureFlags ++ [ "-fuse-pkg-config" @@ -38,7 +38,7 @@ let nativeBuildInputs = prevAttrs.nativeBuildInputs ++ [ pkgsCross.pkgsBuildHost.pkg-config ]; buildInputs = prevAttrs.buildInputs ++ [ - (pkgsStatic.libkrb5.overrideAttrs (finalAttrs: prevAttrs: { + (pkgsStatic.libkrb5.overrideAttrs (_: prevAttrs: { configureFlags = prevAttrs.configureFlags ++ [ "--sysconfdir=/etc" # disable keyutils dependency, to avoid linking errors diff --git a/nix/tools/devTools.nix b/nix/tools/devTools.nix index d2b0a9ac4..5c9ed0e40 100644 --- a/nix/tools/devTools.nix +++ b/nix/tools/devTools.nix @@ -5,9 +5,7 @@ , devCabalOptions , entr , git -, gnugrep , graphviz -, haskellPackages , hsie , nix , silver-searcher diff --git a/nix/tools/style.nix b/nix/tools/style.nix index 1ad91041c..4738868d9 100644 --- a/nix/tools/style.nix +++ b/nix/tools/style.nix @@ -2,6 +2,7 @@ , black , buildToolbox , checkedShellScript +, deadnix , git , hlint , hsie @@ -65,10 +66,12 @@ let echo "Linting workflows..." ${actionlint}/bin/actionlint + echo "Scanning nix files for unused code..." + ${deadnix}/bin/deadnix + echo "Checking consistency of import aliases in Haskell code..." ${hsie} check-aliases main src - echo "Linting Haskell files..." # --vimgrep fixes a bug in ag: https://github.com/ggreer/the_silver_searcher/issues/753 ${silver-searcher}/bin/ag -l --vimgrep -g '\.l?hs$' . \ diff --git a/nix/tools/withTools.nix b/nix/tools/withTools.nix index e5c32e690..57e27476e 100644 --- a/nix/tools/withTools.nix +++ b/nix/tools/withTools.nix @@ -1,10 +1,6 @@ -{ bash-completion -, buildToolbox -, cabal-install -, cabalTools +{ buildToolbox , checkedShellScript , curl -, devCabalOptions , git , lib , postgresqlVersions @@ -276,30 +272,6 @@ let log-level="$(PGRST_LOG_LEVEL)" ''; - waitForPgrstPid = - checkedShellScript - { - name = "postgrest-wait-for-pgrst-pid"; - docs = "Wait for PostgREST to be running. Needs to be a separate command for timeout to work below."; - args = [ - "ARG_USE_ENV([PGRST_SERVER_UNIX_SOCKET], [], [Unix socket to check for running PostgREST instance])" - ]; - } - '' - # ARG_USE_ENV only adds defaults or docs for environment variables - # We manually implement a required check here - # See also: https://github.com/matejak/argbash/issues/80 - : "''${PGRST_SERVER_UNIX_SOCKET:?PGRST_SERVER_UNIX_SOCKET is required}" - - until [ -S "$PGRST_SERVER_UNIX_SOCKET" ] - do - sleep 0.1 - done - - # return pid of postgrest process - lsof -t -c '/^postgrest$/' "$PGRST_SERVER_UNIX_SOCKET" - ''; - waitForPgrstReady = checkedShellScript {