diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index adbdee3fdaf3..ed4e10d14283 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1943,6 +1943,11 @@ githubId = 143312793; name = "Annin"; }; + anntnzrb = { + github = "anntnzrb"; + githubId = 51257127; + name = "anntnzrb"; + }; anoa = { matrix = "@andrewm:amorgan.xyz"; email = "andrew@amorgan.xyz"; diff --git a/pkgs/by-name/ya/yashiki/package.nix b/pkgs/by-name/ya/yashiki/package.nix new file mode 100644 index 000000000000..fdcf7936644c --- /dev/null +++ b/pkgs/by-name/ya/yashiki/package.nix @@ -0,0 +1,69 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + versionCheckHook, + nix-update-script, + apple-sdk_15, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "yashiki"; + version = "0.14.0"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "typester"; + repo = "yashiki"; + tag = "yashiki-v${finalAttrs.version}"; + hash = "sha256-ePZ8ONdvj3gaQps+5Ua0OLeFdzNdJhoB9yw6pC7qoEQ="; + }; + + cargoHash = "sha256-JMrftBKyD188SZqEGI4fA/MrfEK8JLKSeEqrQxhSs3U="; + + nativeBuildInputs = [ + installShellFiles + ]; + + buildInputs = [ + apple-sdk_15 + ]; + + postInstall = '' + app="$out/Applications/Yashiki.app" + + mkdir -p "$app/Contents/MacOS" "$app/Contents/Resources/layouts" + + ln -s "$out/bin/yashiki" "$app/Contents/MacOS/yashiki" + ln -s "$out/bin/yashiki-layout-tatami" "$app/Contents/Resources/layouts/yashiki-layout-tatami" + ln -s "$out/bin/yashiki-layout-byobu" "$app/Contents/Resources/layouts/yashiki-layout-byobu" + + cp resources/icon/Assets.car "$app/Contents/Resources/Assets.car" + substitute Info.plist.template "$app/Contents/Info.plist" \ + --replace-fail VERSION_PLACEHOLDER "${finalAttrs.version}" \ + --replace-fail "yashiki-launcher" "yashiki" + + installShellCompletion --cmd yashiki --zsh completions/zsh/_yashiki + ''; + + doInstallCheck = true; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = "version"; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "macOS tiling window manager"; + homepage = "https://github.com/typester/yashiki"; + changelog = "https://github.com/typester/yashiki/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + sourceProvenance = [ lib.sourceTypes.fromSource ]; + maintainers = with lib.maintainers; [ anntnzrb ]; + mainProgram = "yashiki"; + platforms = lib.platforms.darwin; + }; +})