From e4ddc3ba75f75b6df0d11ccc62b75a346d0e3846 Mon Sep 17 00:00:00 2001 From: William Carroll Date: Thu, 2 Jul 2020 13:28:59 +0100 Subject: Prefer builtins.path Thanks to the Nix anti-patterns documented here... https://nix.dev/anti-patterns/language.html#reproducability-referencing-top-level-directory-with ...I'm cleaning up some of my Nix expressions. Read the article for more context. --- boilerplate/typescript/default.nix | 2 +- tools/url-blocker/default.nix | 4 +--- website/blog/default.nix | 2 +- website/days-of-week-habits/default.nix | 2 +- website/default.nix | 2 +- website/goals/default.nix | 2 +- website/habitgarden/default.nix | 2 +- website/habits/default.nix | 2 +- website/sandbox/contentful/default.nix | 2 +- website/sandbox/covid-uk/default.nix | 2 +- website/sandbox/default.nix | 2 +- website/sandbox/learnpianochords/default.nix | 4 ++-- 12 files changed, 13 insertions(+), 15 deletions(-) diff --git a/boilerplate/typescript/default.nix b/boilerplate/typescript/default.nix index f4d3318439d1..14a39dee1785 100644 --- a/boilerplate/typescript/default.nix +++ b/boilerplate/typescript/default.nix @@ -2,7 +2,7 @@ pkgs.stdenv.mkDerivation { name = "typescript"; - srcs = ./.; + srcs = builtins.path { path = ./.; name = "typescript"; }; buildInputs = with pkgs; [ nodejs # Exposes lscpu for parcel.js diff --git a/tools/url-blocker/default.nix b/tools/url-blocker/default.nix index d6a098851b88..5d1b8cd1666a 100644 --- a/tools/url-blocker/default.nix +++ b/tools/url-blocker/default.nix @@ -12,9 +12,7 @@ let # This is the systemd service unit service = pkgs.stdenv.mkDerivation { name = "url-blocker"; - src = ./.; - buildInputs = with pkgs; [ - ]; + src = builtins.path { path = ./.; name = "url-blocker"; }; buildPhase = '' ${ghc}/bin/ghc Main.hs ''; diff --git a/website/blog/default.nix b/website/blog/default.nix index 437f5cc108d7..cea9e8706cd6 100644 --- a/website/blog/default.nix +++ b/website/blog/default.nix @@ -3,7 +3,7 @@ pkgs.stdenv.mkDerivation { name = "blog.wpcarro.dev"; buildInputs = with pkgs; [ hugo ]; - src = ./.; + src = builtins.path { path = ./.; name = "blog"; }; buildPhase = '' mkdir -p $out ${pkgs.hugo}/bin/hugo --minify --destination $out diff --git a/website/days-of-week-habits/default.nix b/website/days-of-week-habits/default.nix index f4d3318439d1..3831b356d2ff 100644 --- a/website/days-of-week-habits/default.nix +++ b/website/days-of-week-habits/default.nix @@ -2,7 +2,7 @@ pkgs.stdenv.mkDerivation { name = "typescript"; - srcs = ./.; + srcs = builtins.path { path = ./.; name = "day-of-week-habits"; }; buildInputs = with pkgs; [ nodejs # Exposes lscpu for parcel.js diff --git a/website/default.nix b/website/default.nix index 474a6cd4b0c7..7bb2e47519f5 100644 --- a/website/default.nix +++ b/website/default.nix @@ -2,7 +2,7 @@ pkgs.stdenv.mkDerivation { name = "wpcarro.dev"; - src = ./.; + src = builtins.path { path = ./.; name = "website"; }; installPhase = '' mkdir -p $out cp $src/index.html $out diff --git a/website/goals/default.nix b/website/goals/default.nix index 85e8ec5dac18..2006204bec94 100644 --- a/website/goals/default.nix +++ b/website/goals/default.nix @@ -2,7 +2,7 @@ pkgs.stdenv.mkDerivation { name = "goals-webpage"; - src = ./.; + src = builtins.path { path = ./.; name = "goals"; }; buildInputs = with pkgs; [ nodejs # Exposes lscpu for parcel.js diff --git a/website/habitgarden/default.nix b/website/habitgarden/default.nix index f4d3318439d1..030d6abec484 100644 --- a/website/habitgarden/default.nix +++ b/website/habitgarden/default.nix @@ -2,7 +2,7 @@ pkgs.stdenv.mkDerivation { name = "typescript"; - srcs = ./.; + srcs = builtins.path { path = ./.; name = "habitgarden"; }; buildInputs = with pkgs; [ nodejs # Exposes lscpu for parcel.js diff --git a/website/habits/default.nix b/website/habits/default.nix index e2655846e0cf..71329c7963d5 100644 --- a/website/habits/default.nix +++ b/website/habits/default.nix @@ -2,7 +2,7 @@ pkgs.stdenv.mkDerivation { name = "habits-webpage"; - src = ../../org; + src = builtins.path { path ../../org; name = "org"; }; buildInputs = []; buildPhase = '' ${pkgs.pandoc}/bin/pandoc $src/habits.org -o index.html diff --git a/website/sandbox/contentful/default.nix b/website/sandbox/contentful/default.nix index 827056a913be..00714f45d098 100644 --- a/website/sandbox/contentful/default.nix +++ b/website/sandbox/contentful/default.nix @@ -2,7 +2,7 @@ let pkgs = import {}; in pkgs.stdenv.mkDerivation { name = "ideal-website"; - srcs = ./.; + src = builtins.path { path = ./.; name = "contentful"; }; buildInputs = with pkgs; [ nodejs # Exposes lscpu for parcel.js diff --git a/website/sandbox/covid-uk/default.nix b/website/sandbox/covid-uk/default.nix index 0f5545c2f75d..309b1fa64b4d 100644 --- a/website/sandbox/covid-uk/default.nix +++ b/website/sandbox/covid-uk/default.nix @@ -3,7 +3,7 @@ pkgs.stdenv.mkDerivation { name = "covid-uk"; buildInputs = []; - src = ./.; + src = builtins.path { path = ./.; name = "covid-uk"; }; # TODO(wpcarro): Need to run `yarn install` somehow. # TODO(wpcarro): Need to run `npx tailwindcss build styles.css -o output.css`. buildPhase = '' diff --git a/website/sandbox/default.nix b/website/sandbox/default.nix index 81cd5c212699..4f86b49002a5 100644 --- a/website/sandbox/default.nix +++ b/website/sandbox/default.nix @@ -3,7 +3,7 @@ pkgs.stdenv.mkDerivation { name = "covid-uk"; buildInputs = []; - src = ./.; + src = builtins.path { path = ./.; name = "sandbox"; }; buildPhase = '' mkdir -p $out cp $src/index.html $out diff --git a/website/sandbox/learnpianochords/default.nix b/website/sandbox/learnpianochords/default.nix index 98f548e359d4..37dfd4d390f5 100644 --- a/website/sandbox/learnpianochords/default.nix +++ b/website/sandbox/learnpianochords/default.nix @@ -43,7 +43,7 @@ let mainDotElm = mkDerivation { name = "elm-app-0.1.0"; srcs = ./elm-srcs.nix; - src = ./.; + src = builtins.path { path = ./.; name = "learnpianochords"; }; targets = ["Main"]; srcdir = "./src"; outputJavaScript = true; @@ -51,7 +51,7 @@ let in stdenv.mkDerivation { name = "learn-piano-chords"; buildInputs = []; - src = ./.; + src = builtins.path { path = ./.; name = "learnpianochords"; }; buildPhase = '' mkdir -p $out cp index.html output.css ${mainDotElm}/Main.min.js $out -- cgit 1.4.1