diff --git a/flake.lock b/flake.lock index 68f5005..f07fa2c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "fenix": { + "flake": false, + "locked": { + "lastModified": 1771226183, + "narHash": "sha256-AbaMtaLbe37l2VI/KSRk63PuBnX/YDDFL0G1eFMbvwI=", + "owner": "nix-community", + "repo": "fenix", + "rev": "2e3759c5ef51f320eb0aaf83f2a32baae33db237", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -53,6 +69,7 @@ }, "root": { "inputs": { + "fenix": "fenix", "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", "qyriad-nur": "qyriad-nur" diff --git a/flake.nix b/flake.nix index 8e0dfb6..f4270f0 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,10 @@ flake = false; }; flake-utils.url = "github:numtide/flake-utils"; + fenix = { + url = "github:nix-community/fenix"; + flake = false; + }; qyriad-nur = { url = "github:Qyriad/nur-packages"; flake = false; @@ -15,11 +19,13 @@ self, nixpkgs, flake-utils, + fenix, qyriad-nur, }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; qpkgs = import qyriad-nur { inherit pkgs; }; inherit (qpkgs) lib; + fenixLib = import fenix { inherit pkgs; }; dynix = import ./default.nix { inherit pkgs qpkgs; }; extraVersions = lib.mapAttrs' (stdenvName: value: { @@ -27,7 +33,7 @@ inherit value; }) dynix.byStdenv; - devShell = import ./shell.nix { inherit pkgs qpkgs dynix; }; + devShell = import ./shell.nix { inherit pkgs qpkgs dynix fenixLib; }; extraDevShells = lib.mapAttrs' (stdenvName: value: { name = "${stdenvName}-dynix"; inherit value; diff --git a/package.nix b/package.nix index 0252d88..69116af 100644 --- a/package.nix +++ b/package.nix @@ -77,6 +77,7 @@ in { path, mkShell, python3Packages, + fenixToolchain, }: let mkShell' = mkShell.override { inherit stdenv; }; pyEnv = python3Packages.python.withPackages (p: [ @@ -87,8 +88,8 @@ in { inputsFrom = [ self ]; packages = [ pyEnv - rustPackages.rustc - rustPackages.rustfmt + stdenv.cc + fenixToolchain ]; env.PYTHONPATH = [ "${pyEnv}/${pyEnv.sitePackages}" diff --git a/shell.nix b/shell.nix index 3506e2d..e2af1b4 100644 --- a/shell.nix +++ b/shell.nix @@ -9,10 +9,14 @@ src = fetchTarball "https://github.com/Qyriad/nur-packages/archive/main.tar.gz"; in import src { inherit pkgs; }, dynix ? import ./default.nix { inherit pkgs qpkgs; }, + fenixLib ? let + src = fetchTarball "https://github.com/nix-community/fenix/archive/main.tar.gz"; + in import src { inherit pkgs; }, + fenixToolchain ? fenixLib.latest.toolchain, }: let inherit (pkgs) lib; - mkDevShell = dynix: qpkgs.callPackage dynix.mkDevShell { }; + mkDevShell = dynix: qpkgs.callPackage dynix.mkDevShell { inherit fenixToolchain; }; devShell = mkDevShell dynix; byStdenv = lib.mapAttrs (lib.const mkDevShell) dynix.byStdenv;