{
  pkgs,
  lib,
  ...
}:
let
  # stolen: https://github.com/MultisampledNight/core/blob/678f176cb24f5dc4b5dc629cfd3e643487be01bb/system/packages/layaway/default.nix#L7-L25
  layaway = pkgs.rustPlatform.buildRustPackage rec {
    pname = "layaway";
    version = "0.2.0";

    src = pkgs.fetchFromGitHub {
      owner = "MultisampledNight";
      repo = pname;
      rev = "v${version}";
      hash = "sha256-SzAuVFEy56svasO3+1p6ysBRrIQd0UZX++/P4ZuwWm0=";
    };

    useFetchCargoVendor = true;
    cargoHash = "sha256-QVxlkE+sq4U048LnshI/tq6HInKiSgjQLAdR+27/wEI=";

    meta = with lib; {
      description = "Layout creation for Sway via a relative and human-readable DSL.";
      homepage = "https://github.com/MultisampledNight/layaway";
      maintainers = [ maintainers.multisn8 ];
    };
  };
in
{
  home.packages = [ layaway ];
}
