From a4d2b03b3ceaf0b2cc0ec6533d86a8382cdf1cff Mon Sep 17 00:00:00 2001 From: Gabriel Fontes Date: Fri, 29 Apr 2022 17:25:38 -0300 Subject: [PATCH] couple improvements in shell.nix --- shell.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/shell.nix b/shell.nix index 3b33b7e..2e822a7 100644 --- a/shell.nix +++ b/shell.nix @@ -1,16 +1,17 @@ # Shell for bootstrapping flake-enabled nix and home-manager, from any nix version { pkgs ? let - system = builtins.currentSystem or "Unknown system"; + inherit (builtins) currentSystem pathExists fromJSON readFile; nixpkgs = - if builtins.pathExists ./flake.lock + if pathExists ./flake.lock then # If we have a lock, fetch locked nixpkgs - let lock = (builtins.fromJSON (builtins.readFile ./flake.lock)).nodes.nixpkgs.locked; + let + inherit ((fromJSON (readFile ./flake.lock)).nodes.nixpkgs) locked; in fetchTarball { - url = "https://github.com/nixos/nixpkgs/archive/${lock.rev}.tar.gz"; - sha256 = lock.narHash; + url = "https://github.com/nixos/nixpkgs/archive/${locked.rev}.tar.gz"; + sha256 = locked.narHash; } else # If not (probably because not flake-enabled), fetch nixos-unstable impurely @@ -18,13 +19,16 @@ url = "https://github.com/nixos/nixpkgs/archive/nixos-unstable.tar.gz"; }; + system = currentSystem; + overlays = [ ]; + in - import nixpkgs { inherit system; } + import nixpkgs { inherit system overlays; } , ... }: let # Enable experimental features without having to specify the argument - nix = (pkgs.writeShellScriptBin) "nix" '' + nix = pkgs.writeShellScriptBin "nix" '' exec ${pkgs.nixFlakes}/bin/nix --experimental-features "nix-command flakes" "$@" ''; in