# # This file defines overlays/custom modifications to upstream packages # { inputs, lib, ... }: let # Adds my custom packages additions = final: prev: (prev.lib.packagesFromDirectoryRecursive { callPackage = prev.lib.callPackageWith final; directory = ../pkgs/common; }); linuxModifications = final: prev: prev.lib.mkIf final.stdenv.isLinux {}; modifications = final: prev: { overlays = [ inputs.nix4vscode.overlays.default (self: super: { vscode = final.unstable.vscode; vscodium = final.unstable.vscodium; }) (self: super: { vscodium = super.vscodium.overrideAttrs (oldAttrs: rec { nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [self.makeWrapper]; postInstall = (oldAttrs.postInstall or "") + '' wrapProgram $out/bin/codium --set LD_LIBRARY_PATH "${self.stdenv.cc.cc.lib}/lib/" ''; }); }) ]; }; stable-packages = final: _prev: { stable = import inputs.nixpkgs-stable { inherit (final) system; config.allowUnfree = true; # overlays = [ # ]; }; }; unstable-packages = final: _prev: { unstable = import inputs.nixpkgs-unstable { inherit (final) system; config.allowUnfree = true; # overlays = [ # ]; }; }; in { default = final: prev: (additions final prev) // (modifications final prev) // (linuxModifications final prev) // (stable-packages final prev) // (unstable-packages final prev); }