From a4f47518d835635f49653b266f288ede3fd984aa Mon Sep 17 00:00:00 2001 From: Brian May Date: Sun, 6 Oct 2024 17:35:54 +1100 Subject: [PATCH] fix: Avoid the need for impure for devenv (#4245) Based on https://github.com/cachix/devenv/pull/1018/files --- .envrc | 2 +- flake.lock | 13 +++++++++++++ flake.nix | 13 ++++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.envrc b/.envrc index cffc922b00..7fa66fa28e 100644 --- a/.envrc +++ b/.envrc @@ -1 +1 @@ -use flake . --impure +use flake . --override-input devenv-root "file+file://"<(printf %s "$PWD") diff --git a/flake.lock b/flake.lock index a54be949d8..d448d11a62 100644 --- a/flake.lock +++ b/flake.lock @@ -46,6 +46,18 @@ "type": "github" } }, + "devenv-root": { + "flake": false, + "locked": { + "narHash": "sha256-d6xi4mKdjkX2JFicDIv5niSzpyI0m/Hnm8GGAIU04kY=", + "type": "file", + "url": "file:///dev/null" + }, + "original": { + "type": "file", + "url": "file:///dev/null" + } + }, "devenv_2": { "inputs": { "flake-compat": [ @@ -539,6 +551,7 @@ "root": { "inputs": { "devenv": "devenv", + "devenv-root": "devenv-root", "flake-utils": "flake-utils_4", "nixpkgs": "nixpkgs_3" } diff --git a/flake.nix b/flake.nix index b81488d305..99ed82929f 100644 --- a/flake.nix +++ b/flake.nix @@ -5,9 +5,13 @@ nixpkgs = { url = "github:NixOS/nixpkgs/nixos-unstable"; }; flake-utils = { url = "github:numtide/flake-utils"; }; devenv.url = "github:cachix/devenv"; + devenv-root = { + url = "file+file:///dev/null"; + flake = false; + }; }; - outputs = inputs@{ self, nixpkgs, flake-utils, devenv }: + outputs = inputs@{ self, nixpkgs, flake-utils, devenv, devenv-root }: (flake-utils.lib.eachDefaultSystem (system: let inherit (pkgs.lib) optional optionals; @@ -98,6 +102,13 @@ devShell = devenv.lib.mkShell { inherit inputs pkgs; modules = with pkgs; [{ + + devenv.root = + let + devenvRootFileContent = builtins.readFile devenv-root.outPath; + in + pkgs.lib.mkIf (devenvRootFileContent != "") devenvRootFileContent; + packages = [ elixir elixir_ls