{ description = "meterriblecrew.net package flake"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05-small"; outputs = inputs@{ self, nixpkgs }: let systems = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "armv6l-linux" "armv7l-linux" ]; forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system); in { nixosModules = { ryzenSMU = import ./modules/ryzenSMU; servicesNavidrome = import ./modules/services/navidrome.nix; servicesSnipeIT = import ./modules/services/snipe-it.nix; }; packages = forAllSystems (system: import ./. { pkgs = import nixpkgs { inherit system; config = { allowUnfree = true; }; }; }); overlay = next: prev: let localPkgs = import ./. { pkgs = next; }; in { inherit (localPkgs) janus-gateway nextcloud-spreed-signaling snipe-it ; } // prev.lib.optionalAttrs (prev.system == "x86_64-linux") rec { inherit (localPkgs) chrysalis-bin navidrome-bin ryzenadj ryzen_smu ; } // prev.lib.optionalAttrs (builtins.elem prev.system prev.lib.platforms.linux) rec { inherit (localPkgs) xmm7360-pci xmm7360-pci-tools ; }; }; }