From dae61508df19bdba3a65658ea83c52eff3b4895e Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Thu, 8 Aug 2024 06:06:41 +0200 Subject: [PATCH] pkgs/overlays/cosmic: create --- pkgs/overlays/cosmic-packages.nix | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 pkgs/overlays/cosmic-packages.nix diff --git a/pkgs/overlays/cosmic-packages.nix b/pkgs/overlays/cosmic-packages.nix new file mode 100644 index 0000000..12d07d1 --- /dev/null +++ b/pkgs/overlays/cosmic-packages.nix @@ -0,0 +1,33 @@ +{ inputs ? import ../../inputs.nix {}}: + +let + nixos-cosmic = inputs.cosmic-modules; + cosmicPkgsMainDir = builtins.readDir "${nixos-cosmic}/pkgs"; + cosmicPkgsDirs = builtins.filter (v: cosmicPkgsMainDir."${v}" == "directory") (builtins.attrNames cosmicPkgsMainDir); + + # FIXME: use unstable nixpkgs when rust 1.80 will be available in unstable + stagingNixpkgsSrc = builtins.fetchTarball { + name = "nixpkgs"; + url = "https://github.com/NixOS/nixpkgs/archive/b79cec4237cd0f655562890bf927466c68b48d68.tar.gz"; + sha256 = "1mswisq9iwffg2d6rfxvr27mvi4w853d9rn222s2g76445d0iqh8"; + }; + cosmicOverlay = self: super: builtins.listToAttrs ( + builtins.map (v: {name = v; value = self.callPackage "${nixos-cosmic}/pkgs/${v}/package.nix" {};}) cosmicPkgsDirs + ); +in + +self: super: + +let +stagingNixpkgs = import stagingNixpkgsSrc { + localSystem = self.stdenv.buildPlatform; + config = self.config; + overlays = [ cosmicOverlay ]; + } // (if self.stdenv.buildPlatform == self.stdenv.hostPlatform then {} else { + crossSystem = self.stdenv.hostPlatform; + }); +in + +builtins.listToAttrs ( + builtins.map (v: {name = v; value = stagingNixpkgs.${v};}) cosmicPkgsDirs +)