From 05285dc1ad4a275e2cd82d7a26d2f8048eb08876 Mon Sep 17 00:00:00 2001 From: atagen Date: Thu, 23 Apr 2026 21:44:59 +1000 Subject: [PATCH] allow customising nix version --- flake.nix | 69 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 54 insertions(+), 15 deletions(-) diff --git a/flake.nix b/flake.nix index a98302f..18e091d 100644 --- a/flake.nix +++ b/flake.nix @@ -3,36 +3,75 @@ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - outputs = { self, nixpkgs }: + outputs = + { self, nixpkgs }: let - supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + supportedSystems = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; in { - packages = forAllSystems (system: + nixosModules = { + default = + { pkgs, config }: + { + nix.settings.plugin-files = [ + "${ + self.packages.${pkgs.stdenv.hostPlatform.system}.default { nix = config.nix.package; } + }/lib/nix/plugins/libnix-scope-plugin.so" + ]; + }; + }; + packages = forAllSystems ( + system: let pkgs = nixpkgs.legacyPackages.${system}; - nix = pkgs.nix; in { - default = pkgs.stdenv.mkDerivation { - pname = "nix-scope-plugin"; - version = "0.1.0"; - src = self; - nativeBuildInputs = [ pkgs.cmake pkgs.pkg-config ]; - buildInputs = [ nix nix.dev pkgs.boost pkgs.nlohmann_json ]; - }; - }); + default = + { + nix ? pkgs.nix, + }: + pkgs.stdenv.mkDerivation { + pname = "nix-scope-plugin"; + version = "0.1.0"; + src = self; + nativeBuildInputs = [ + pkgs.cmake + pkgs.pkg-config + ]; + buildInputs = [ + nix + nix.dev + pkgs.boost + pkgs.nlohmann_json + ]; + }; + } + ); - devShells = forAllSystems (system: + devShells = forAllSystems ( + system: let pkgs = nixpkgs.legacyPackages.${system}; nix = pkgs.nix; in { default = pkgs.mkShell { - packages = [ pkgs.cmake pkgs.pkg-config nix nix.dev pkgs.boost pkgs.nlohmann_json ]; + packages = [ + pkgs.cmake + pkgs.pkg-config + nix + nix.dev + pkgs.boost + pkgs.nlohmann_json + ]; }; - }); + } + ); }; }