nixos-configs/lib/inputs.nix
matt1432 50f5bf6b0e
All checks were successful
Discord / discord commits (push) Has been skipped
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

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;});
}