use screenshot

This commit is contained in:
Daylin Morgan 2025-02-10 14:18:55 -06:00
parent 12a0eb60ab
commit 44343c7652
Signed by: daylin
GPG key ID: 950D13E9719334AD
2 changed files with 154 additions and 24 deletions

View file

@ -52,30 +52,7 @@ A small helper utility that mostly just wraps `nix` commands for convenience.
nix run "github:daylinmorgan/oizys"
```
```
usage:
oizys subcmd [flags]
subcommands:
build nix build
cache build and push store paths
ci builtin ci
gha trigger GHA
dry dry run build
os nixos-rebuild subcmd
output nixos config attr
update update and run nixos-rebuild
hash collect build hash from failure
narinfo check active caches for nix derivation
lock check lock status for duplicates
flags:
--flake string path/to/flake
--host seq[string] host(s) to build
-v --verbose Count increase verbosity (up to 2) (default: 0)
--reset-cache set cache timeout to 0
-h --help show this help
```
![](./assets/capture.svg)
## oizys?

153
assets/capture.svg Normal file
View file

@ -0,0 +1,153 @@
<svg class="rich-terminal shadow" viewBox="0 0 915.3333333333334 619.1333333333333" xmlns="http://www.w3.org/2000/svg">
<!-- Generated with Rich https://www.textualize.io & yartsu https://github.com/daylinmorgan/yartsu -->
<style>
@font-face {
font-family: "Fira Code";
src: local("FiraCode-Regular"),
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
font-style: normal;
font-weight: 400;
}
@font-face {
font-family: "Fira Code";
src: local("FiraCode-Bold"),
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
font-style: bold;
font-weight: 700;
}
.terminal-1420569328-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
.terminal-1420569328-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
.shadow {
-webkit-filter: drop-shadow( 2px 5px 2px rgba(0, 0, 0, .7));
filter: drop-shadow( 2px 5px 2px rgba(0, 0, 0, .7));
}
.terminal-1420569328-r1 { fill: #94e2d5;font-weight: bold }
.terminal-1420569328-r2 { fill: #c6d0f5 }
.terminal-1420569328-r3 { fill: #c6d0f5;font-weight: bold }
.terminal-1420569328-r4 { fill: #c6d0f5;font-weight: bold;font-style: italic; }
.terminal-1420569328-r5 { fill: #8288a5 }
.terminal-1420569328-r6 { fill: #c6d0f5;font-style: italic; }
.terminal-1420569328-r7 { fill: #f5c2e7 }
.terminal-1420569328-r8 { fill: #f9e2af }
</style>
<defs>
<clipPath id="terminal-1420569328-clip-terminal">
<rect x="0" y="0" width="877.4" height="535.8" />
</clipPath>
<clipPath id="terminal-1420569328-line-0">
<rect x="0" y="1.5" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-1">
<rect x="0" y="25.9" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-2">
<rect x="0" y="50.3" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-3">
<rect x="0" y="74.7" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-4">
<rect x="0" y="99.1" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-5">
<rect x="0" y="123.5" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-6">
<rect x="0" y="147.9" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-7">
<rect x="0" y="172.3" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-8">
<rect x="0" y="196.7" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-9">
<rect x="0" y="221.1" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-10">
<rect x="0" y="245.5" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-11">
<rect x="0" y="269.9" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-12">
<rect x="0" y="294.3" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-13">
<rect x="0" y="318.7" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-14">
<rect x="0" y="343.1" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-15">
<rect x="0" y="367.5" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-16">
<rect x="0" y="391.9" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-17">
<rect x="0" y="416.3" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-18">
<rect x="0" y="440.7" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-19">
<rect x="0" y="465.1" width="878.4" height="24.65"/>
</clipPath>
<clipPath id="terminal-1420569328-line-20">
<rect x="0" y="489.5" width="878.4" height="24.65"/>
</clipPath>
</defs>
<rect fill="#1e1e2e" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="10.1667" y="1" width="895" height="584.8" rx="8"/><text class="terminal-1420569328-title" fill="#c6d0f5" text-anchor="middle" x="447" y="27">oizys&#160;--help</text>
<g transform="translate(32,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
<circle cx="44" cy="0" r="7" fill="#28c840"/>
</g>
<g transform="translate(18.166666666666664, 41) scale(.95)" clip-path="url(#terminal-1420569328-clip-terminal)">
<g class="terminal-1420569328-matrix">
<text class="terminal-1420569328-r1" x="0" y="20" textLength="61" clip-path="url(#terminal-1420569328-line-0)">usage</text><text class="terminal-1420569328-r2" x="61" y="20" textLength="12.2" clip-path="url(#terminal-1420569328-line-0)">:</text><text class="terminal-1420569328-r2" x="878.4" y="20" textLength="12.2" clip-path="url(#terminal-1420569328-line-0)">
</text><text class="terminal-1420569328-r3" x="24.4" y="44.4" textLength="61" clip-path="url(#terminal-1420569328-line-1)">oizys</text><text class="terminal-1420569328-r4" x="97.6" y="44.4" textLength="73.2" clip-path="url(#terminal-1420569328-line-1)">subcmd</text><text class="terminal-1420569328-r2" x="170.8" y="44.4" textLength="24.4" clip-path="url(#terminal-1420569328-line-1)">&#160;[</text><text class="terminal-1420569328-r5" x="195.2" y="44.4" textLength="61" clip-path="url(#terminal-1420569328-line-1)">flags</text><text class="terminal-1420569328-r2" x="256.2" y="44.4" textLength="12.2" clip-path="url(#terminal-1420569328-line-1)">]</text><text class="terminal-1420569328-r2" x="878.4" y="44.4" textLength="12.2" clip-path="url(#terminal-1420569328-line-1)">
</text><text class="terminal-1420569328-r2" x="878.4" y="68.8" textLength="12.2" clip-path="url(#terminal-1420569328-line-2)">
</text><text class="terminal-1420569328-r1" x="0" y="93.2" textLength="134.2" clip-path="url(#terminal-1420569328-line-3)">subcommands</text><text class="terminal-1420569328-r2" x="134.2" y="93.2" textLength="12.2" clip-path="url(#terminal-1420569328-line-3)">:</text><text class="terminal-1420569328-r2" x="878.4" y="93.2" textLength="12.2" clip-path="url(#terminal-1420569328-line-3)">
</text><text class="terminal-1420569328-r3" x="24.4" y="117.6" textLength="97.6" clip-path="url(#terminal-1420569328-line-4)">build&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="117.6" textLength="475.8" clip-path="url(#terminal-1420569328-line-4)">&#160;nix&#160;build&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="878.4" y="117.6" textLength="12.2" clip-path="url(#terminal-1420569328-line-4)">
</text><text class="terminal-1420569328-r3" x="24.4" y="142" textLength="97.6" clip-path="url(#terminal-1420569328-line-5)">cache&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="142" textLength="475.8" clip-path="url(#terminal-1420569328-line-5)">&#160;build&#160;and&#160;push&#160;store&#160;paths&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="878.4" y="142" textLength="12.2" clip-path="url(#terminal-1420569328-line-5)">
</text><text class="terminal-1420569328-r3" x="24.4" y="166.4" textLength="97.6" clip-path="url(#terminal-1420569328-line-6)">ci&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="166.4" textLength="475.8" clip-path="url(#terminal-1420569328-line-6)">&#160;builtin&#160;ci&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="878.4" y="166.4" textLength="12.2" clip-path="url(#terminal-1420569328-line-6)">
</text><text class="terminal-1420569328-r3" x="24.4" y="190.8" textLength="97.6" clip-path="url(#terminal-1420569328-line-7)">gha&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="190.8" textLength="475.8" clip-path="url(#terminal-1420569328-line-7)">&#160;trigger&#160;GHA&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="878.4" y="190.8" textLength="12.2" clip-path="url(#terminal-1420569328-line-7)">
</text><text class="terminal-1420569328-r3" x="24.4" y="215.2" textLength="97.6" clip-path="url(#terminal-1420569328-line-8)">dry&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="215.2" textLength="475.8" clip-path="url(#terminal-1420569328-line-8)">&#160;dry&#160;run&#160;build&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="878.4" y="215.2" textLength="12.2" clip-path="url(#terminal-1420569328-line-8)">
</text><text class="terminal-1420569328-r3" x="24.4" y="239.6" textLength="97.6" clip-path="url(#terminal-1420569328-line-9)">os&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="239.6" textLength="183" clip-path="url(#terminal-1420569328-line-9)">&#160;nixos-rebuild&#160;</text><text class="terminal-1420569328-r6" x="305" y="239.6" textLength="73.2" clip-path="url(#terminal-1420569328-line-9)">subcmd</text><text class="terminal-1420569328-r2" x="878.4" y="239.6" textLength="12.2" clip-path="url(#terminal-1420569328-line-9)">
</text><text class="terminal-1420569328-r3" x="24.4" y="264" textLength="97.6" clip-path="url(#terminal-1420569328-line-10)">output&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="264" textLength="475.8" clip-path="url(#terminal-1420569328-line-10)">&#160;nixos&#160;config&#160;attr&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="878.4" y="264" textLength="12.2" clip-path="url(#terminal-1420569328-line-10)">
</text><text class="terminal-1420569328-r3" x="24.4" y="288.4" textLength="97.6" clip-path="url(#terminal-1420569328-line-11)">update&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="288.4" textLength="475.8" clip-path="url(#terminal-1420569328-line-11)">&#160;update&#160;and&#160;run&#160;nixos-rebuild&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="878.4" y="288.4" textLength="12.2" clip-path="url(#terminal-1420569328-line-11)">
</text><text class="terminal-1420569328-r3" x="24.4" y="312.8" textLength="97.6" clip-path="url(#terminal-1420569328-line-12)">hash&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="312.8" textLength="475.8" clip-path="url(#terminal-1420569328-line-12)">&#160;collect&#160;build&#160;hash&#160;from&#160;failure&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="878.4" y="312.8" textLength="12.2" clip-path="url(#terminal-1420569328-line-12)">
</text><text class="terminal-1420569328-r3" x="24.4" y="337.2" textLength="97.6" clip-path="url(#terminal-1420569328-line-13)">narinfo&#160;</text><text class="terminal-1420569328-r2" x="122" y="337.2" textLength="475.8" clip-path="url(#terminal-1420569328-line-13)">&#160;check&#160;active&#160;caches&#160;for&#160;nix&#160;derivation</text><text class="terminal-1420569328-r2" x="878.4" y="337.2" textLength="12.2" clip-path="url(#terminal-1420569328-line-13)">
</text><text class="terminal-1420569328-r3" x="24.4" y="361.6" textLength="97.6" clip-path="url(#terminal-1420569328-line-14)">lock&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="122" y="361.6" textLength="475.8" clip-path="url(#terminal-1420569328-line-14)">&#160;check&#160;lock&#160;status&#160;for&#160;duplicates&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="878.4" y="361.6" textLength="12.2" clip-path="url(#terminal-1420569328-line-14)">
</text><text class="terminal-1420569328-r2" x="878.4" y="386" textLength="12.2" clip-path="url(#terminal-1420569328-line-15)">
</text><text class="terminal-1420569328-r1" x="0" y="410.4" textLength="61" clip-path="url(#terminal-1420569328-line-16)">flags</text><text class="terminal-1420569328-r2" x="61" y="410.4" textLength="12.2" clip-path="url(#terminal-1420569328-line-16)">:</text><text class="terminal-1420569328-r2" x="878.4" y="410.4" textLength="12.2" clip-path="url(#terminal-1420569328-line-16)">
</text><text class="terminal-1420569328-r7" x="61" y="434.8" textLength="158.6" clip-path="url(#terminal-1420569328-line-17)">--flake&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r5" x="231.8" y="434.8" textLength="134.2" clip-path="url(#terminal-1420569328-line-17)">string&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="366" y="434.8" textLength="170.8" clip-path="url(#terminal-1420569328-line-17)">&#160;path/to/flake</text><text class="terminal-1420569328-r2" x="878.4" y="434.8" textLength="12.2" clip-path="url(#terminal-1420569328-line-17)">
</text><text class="terminal-1420569328-r7" x="61" y="459.2" textLength="158.6" clip-path="url(#terminal-1420569328-line-18)">--host&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r5" x="231.8" y="459.2" textLength="134.2" clip-path="url(#terminal-1420569328-line-18)">seq[string]</text><text class="terminal-1420569328-r2" x="366" y="459.2" textLength="207.4" clip-path="url(#terminal-1420569328-line-18)">&#160;host(s)&#160;to&#160;build</text><text class="terminal-1420569328-r2" x="878.4" y="459.2" textLength="12.2" clip-path="url(#terminal-1420569328-line-18)">
</text><text class="terminal-1420569328-r8" x="24.4" y="483.6" textLength="24.4" clip-path="url(#terminal-1420569328-line-19)">-v</text><text class="terminal-1420569328-r7" x="61" y="483.6" textLength="158.6" clip-path="url(#terminal-1420569328-line-19)">--verbose&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r5" x="231.8" y="483.6" textLength="134.2" clip-path="url(#terminal-1420569328-line-19)">Count&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="366" y="483.6" textLength="366" clip-path="url(#terminal-1420569328-line-19)">&#160;increase&#160;verbosity&#160;(up&#160;to&#160;2)&#160;</text><text class="terminal-1420569328-r5" x="732" y="483.6" textLength="146.4" clip-path="url(#terminal-1420569328-line-19)">(default:&#160;0)</text><text class="terminal-1420569328-r2" x="878.4" y="483.6" textLength="12.2" clip-path="url(#terminal-1420569328-line-19)">
</text><text class="terminal-1420569328-r7" x="61" y="508" textLength="158.6" clip-path="url(#terminal-1420569328-line-20)">--reset-cache</text><text class="terminal-1420569328-r2" x="366" y="508" textLength="280.6" clip-path="url(#terminal-1420569328-line-20)">&#160;set&#160;cache&#160;timeout&#160;to&#160;0</text><text class="terminal-1420569328-r2" x="878.4" y="508" textLength="12.2" clip-path="url(#terminal-1420569328-line-20)">
</text><text class="terminal-1420569328-r8" x="24.4" y="532.4" textLength="24.4" clip-path="url(#terminal-1420569328-line-21)">-h</text><text class="terminal-1420569328-r7" x="61" y="532.4" textLength="158.6" clip-path="url(#terminal-1420569328-line-21)">--help&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1420569328-r2" x="366" y="532.4" textLength="183" clip-path="url(#terminal-1420569328-line-21)">&#160;show&#160;this&#160;help</text><text class="terminal-1420569328-r2" x="878.4" y="532.4" textLength="12.2" clip-path="url(#terminal-1420569328-line-21)">
</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB