matt1432
50f5bf6b0e
All checks were successful
Discord / discord commits (push) Has been skipped
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
42 lines
1.2 KiB
Nix
42 lines
1.2 KiB
Nix
lib: lock: let
|
|
inherit (lib) attrValues findFirst foldl' hasAttr matchAttrs optionalAttrs recursiveUpdate;
|
|
inherit (builtins) removeAttrs;
|
|
|
|
recursiveUpdateList = list: foldl' recursiveUpdate {} list;
|
|
in rec {
|
|
/*
|
|
*
|
|
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.
|
|
|
|
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")
|
|
(mkOverride "flake-parts")
|
|
(mkOverride "treefmt-nix")
|
|
(mkOverride "lib-aggregate")
|
|
];
|
|
|
|
mkDep = info: mkInput (recursiveUpdate info {inputs.nixpkgs.follows = "nixpkgs";});
|
|
|
|
mkHyprDep = info: mkInput (recursiveUpdate info {inputs.hyprland.follows = "hyprland";});
|
|
|
|
mkSrc = info: mkInput (info // {flake = false;});
|
|
}
|