nixos-configs/inputs/lib.nix

50 lines
1.5 KiB
Nix
Raw Normal View History

let
inherit (builtins) fetchTarball fromJSON readFile removeAttrs;
lock = fromJSON (readFile ../flake.lock);
lib = import "${fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/${lock.nodes.nixpkgs.locked.rev}.tar.gz";
sha256 = lock.nodes.nixpkgs.locked.narHash;
}}/lib";
2024-09-23 23:52:17 -04:00
inherit (lib) attrValues findFirst foldl' hasAttr matchAttrs optionalAttrs recursiveUpdate;
in rec {
recursiveUpdateList = list: foldl' recursiveUpdate {} list;
2024-08-08 23:27:42 -04:00
/*
* From an attrset, returns a flake input that has its type defaulted
* to `github` and has some of its inputs following this flake's input
* of the same name.
2024-08-08 23:27:42 -04:00
*
* It gets information from the `flake.lock` file and can be used thanks
* to flakegen
*/
mkInput = {type ? "github", ...} @ info: let
input =
findFirst
(x: matchAttrs (removeAttrs info ["inputs"]) (x.original or {})) {}
(attrValues lock.nodes);
mkOverride = i:
optionalAttrs
(hasAttr i (input.inputs or {}))
{inputs.${i}.follows = i;};
in
recursiveUpdateList [
info
{inherit type;}
(mkOverride "systems")
(mkOverride "flake-utils")
chore: update flake.lock Flake Inputs: • Updated input 'astal': 'github:Aylur/astal/9e63fe3' (2024-09-28) → 'github:Aylur/astal/f17b28d' (2024-09-29) • Updated input 'gpu-screen-recorder-src': 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=ebc8c69' (2024-09-27) → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=0eb9ce0' (2024-09-29) • Updated input 'hyprland/hyprcursor': 'github:hyprwm/hyprcursor/912d560' (2024-08-02) → 'github:hyprwm/hyprcursor/b98726e' (2024-09-28) • Updated input 'nix-gaming': 'github:fufexan/nix-gaming/b9750ee' (2024-09-28) → 'github:fufexan/nix-gaming/6401744' (2024-09-29) • Updated input 'nix-gaming/umu': 'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=e42043a&submodules=1' (2024-09-19) → 'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=5cc1c3f&submodules=1' (2024-09-25) • Updated input 'nix-index-db': 'github:Mic92/nix-index-database/c7515c2' (2024-09-22) → 'github:Mic92/nix-index-database/a2ab158' (2024-09-29) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/811af6a' (2024-09-27) → 'github:nix-community/nixpkgs-wayland/206b2a2' (2024-09-29) • Updated input 'spotifyplus-src': 'github:thlucas1/homeassistantcomponent_spotifyplus/f017285' (2024-09-28) → 'github:thlucas1/homeassistantcomponent_spotifyplus/0765d55' (2024-09-29) Docker Images: • ghcr.io/linuxserver/radarr latest: sha256:1a50d4f08e283aa9ff4c723b940dceb4e8aeff7946e1993213efd0de3d5a4adb → sha256:d758c5a5edc4cda1263260948b3f460f511430bccea505dca3cb70af01332ff8
2024-09-29 16:31:31 -04:00
(mkOverride "flake-parts")
(mkOverride "treefmt-nix")
(mkOverride "lib-aggregate")
2024-12-10 22:28:26 -05:00
(mkOverride "nix-eval-jobs")
];
mkDep = info: mkInput (recursiveUpdate info {inputs.nixpkgs.follows = "nixpkgs";});
mkHyprDep = info: mkInput (recursiveUpdate info {inputs.hyprland.follows = "hyprland";});
mkSrc = info: mkInput (info // {flake = false;});
}