dot.nix/overlays/default.nix
Chris Toph 3523b82392 Configuration Cleanup
- Removed inaccurate comments
- Refactored browsers to independent nixes
- Small code changes for clarity
2025-05-29 15:25:49 -04:00

48 lines
1 KiB
Nix

# Defines overlays/custom modifications to upstream packages
{ inputs, ... }:
let
# Adds my custom packages
additions =
final: prev:
let
packages = prev.lib.packagesFromDirectoryRecursive {
callPackage = prev.lib.callPackageWith final;
directory = ../pkgs;
};
in
packages;
linuxModifications = final: prev: prev.lib.mkIf final.stdenv.isLinux { };
modifications = final: prev: {
# example = prev.example.overrideAttrs (oldAttrs: let ... in {
# ...
# });
};
stable-packages = final: _prev: {
stable = import inputs.nixpkgs-stable {
inherit (final) system;
config.allowUnfree = true;
};
};
unstable-packages = final: _prev: {
unstable = import inputs.nixpkgs-unstable {
inherit (final) system;
config.allowUnfree = true;
};
};
in
{
default =
final: prev:
(additions final prev)
// (modifications final prev)
// (linuxModifications final prev)
// (stable-packages final prev)
// (unstable-packages final prev);
}