packaging: use fenix for dev shell
This commit is contained in:
parent
f46c2a9934
commit
26397ccf37
4 changed files with 32 additions and 4 deletions
17
flake.lock
generated
17
flake.lock
generated
|
|
@ -1,5 +1,21 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"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": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
|
|
@ -53,6 +69,7 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"fenix": "fenix",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"qyriad-nur": "qyriad-nur"
|
"qyriad-nur": "qyriad-nur"
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
fenix = {
|
||||||
|
url = "github:nix-community/fenix";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
qyriad-nur = {
|
qyriad-nur = {
|
||||||
url = "github:Qyriad/nur-packages";
|
url = "github:Qyriad/nur-packages";
|
||||||
flake = false;
|
flake = false;
|
||||||
|
|
@ -15,11 +19,13 @@
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
flake-utils,
|
flake-utils,
|
||||||
|
fenix,
|
||||||
qyriad-nur,
|
qyriad-nur,
|
||||||
}: flake-utils.lib.eachDefaultSystem (system: let
|
}: flake-utils.lib.eachDefaultSystem (system: let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
qpkgs = import qyriad-nur { inherit pkgs; };
|
qpkgs = import qyriad-nur { inherit pkgs; };
|
||||||
inherit (qpkgs) lib;
|
inherit (qpkgs) lib;
|
||||||
|
fenixLib = import fenix { inherit pkgs; };
|
||||||
|
|
||||||
dynix = import ./default.nix { inherit pkgs qpkgs; };
|
dynix = import ./default.nix { inherit pkgs qpkgs; };
|
||||||
extraVersions = lib.mapAttrs' (stdenvName: value: {
|
extraVersions = lib.mapAttrs' (stdenvName: value: {
|
||||||
|
|
@ -27,7 +33,7 @@
|
||||||
inherit value;
|
inherit value;
|
||||||
}) dynix.byStdenv;
|
}) dynix.byStdenv;
|
||||||
|
|
||||||
devShell = import ./shell.nix { inherit pkgs qpkgs dynix; };
|
devShell = import ./shell.nix { inherit pkgs qpkgs dynix fenixLib; };
|
||||||
extraDevShells = lib.mapAttrs' (stdenvName: value: {
|
extraDevShells = lib.mapAttrs' (stdenvName: value: {
|
||||||
name = "${stdenvName}-dynix";
|
name = "${stdenvName}-dynix";
|
||||||
inherit value;
|
inherit value;
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,7 @@ in {
|
||||||
path,
|
path,
|
||||||
mkShell,
|
mkShell,
|
||||||
python3Packages,
|
python3Packages,
|
||||||
|
fenixToolchain,
|
||||||
}: let
|
}: let
|
||||||
mkShell' = mkShell.override { inherit stdenv; };
|
mkShell' = mkShell.override { inherit stdenv; };
|
||||||
pyEnv = python3Packages.python.withPackages (p: [
|
pyEnv = python3Packages.python.withPackages (p: [
|
||||||
|
|
@ -87,8 +88,8 @@ in {
|
||||||
inputsFrom = [ self ];
|
inputsFrom = [ self ];
|
||||||
packages = [
|
packages = [
|
||||||
pyEnv
|
pyEnv
|
||||||
rustPackages.rustc
|
stdenv.cc
|
||||||
rustPackages.rustfmt
|
fenixToolchain
|
||||||
];
|
];
|
||||||
env.PYTHONPATH = [
|
env.PYTHONPATH = [
|
||||||
"${pyEnv}/${pyEnv.sitePackages}"
|
"${pyEnv}/${pyEnv.sitePackages}"
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,14 @@
|
||||||
src = fetchTarball "https://github.com/Qyriad/nur-packages/archive/main.tar.gz";
|
src = fetchTarball "https://github.com/Qyriad/nur-packages/archive/main.tar.gz";
|
||||||
in import src { inherit pkgs; },
|
in import src { inherit pkgs; },
|
||||||
dynix ? import ./default.nix { inherit pkgs qpkgs; },
|
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
|
}: let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
mkDevShell = dynix: qpkgs.callPackage dynix.mkDevShell { };
|
mkDevShell = dynix: qpkgs.callPackage dynix.mkDevShell { inherit fenixToolchain; };
|
||||||
devShell = mkDevShell dynix;
|
devShell = mkDevShell dynix;
|
||||||
|
|
||||||
byStdenv = lib.mapAttrs (lib.const mkDevShell) dynix.byStdenv;
|
byStdenv = lib.mapAttrs (lib.const mkDevShell) dynix.byStdenv;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue