{ pkgs ? import { }, qpkgs ? let src = fetchTree (builtins.parseFlakeRef "github:Qyriad/nur-packages"); in import src { inherit pkgs; }, }: let inherit (qpkgs) lib; dynix = qpkgs.callPackage ./package.nix { }; byStdenv = lib.mapAttrs (stdenvName: stdenv: let withStdenv = dynix.override { inherit stdenv; }; dynix' = withStdenv.overrideAttrs (prev: { pname = "${prev.pname}-${stdenvName}"; }); in dynix') qpkgs.validStdenvs; evalNixos = import (pkgs.path + "/nixos"); doChange = { option, value, }: assert lib.isList option; assert lib.all lib.isString option; let nixosBefore = evalNixos { configuration = ./configuration.nix; }; dynamicBefore = nixosBefore.config.dynamicism.finalSettings; nixosAfter = evalNixos { configuration = lib.mkMerge [ nixosBefore (lib.setAttrByPath option (lib.mkOverride (-999) value)) ]; }; dynamicAfter = nixosAfter.config.dynamicism.finalSettings; in { }; in dynix.overrideAttrs (final: prev: let self = final.finalPackage; in lib.recursiveUpdate prev { passthru = { dync = self.nixos.config.dynamicism; dyno = self.nixos.options.dynamicism; gotosocial = self.nixos.options.dynamicism.for.valueMeta.attrs.gotosocial.configuration; inherit byStdenv; nixos = evalNixos { configuration = ./configuration.nix; }; c = self.nixos; nixos-vm = self.nixos.config.system.build.vm; doChange = builtins.seq self.nixos.config.dynamicism doChange; }; })