mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-12-21 17:40:45 -06:00
Compare commits
9 commits
4c37ca0424
...
a6129237f7
Author | SHA1 | Date | |
---|---|---|---|
a6129237f7 | |||
9b914e360f | |||
8c1b6e7d31 | |||
5184b724d3 | |||
7475ee3d0f | |||
3f236615ff | |||
5e29472b29 | |||
70eb5db75a | |||
79e8348c84 |
9 changed files with 77 additions and 53 deletions
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
@ -41,7 +41,7 @@ jobs:
|
|||
- uses: ./.github/actions/nix
|
||||
with:
|
||||
attic_token: ${{ secrets.ATTIC_TOKEN }}
|
||||
clean: true
|
||||
# clean: true
|
||||
btrfs: true
|
||||
|
||||
- name: write lock file
|
||||
|
|
17
.github/workflows/update.yml
vendored
17
.github/workflows/update.yml
vendored
|
@ -2,10 +2,20 @@ name: Flake Update / Build
|
|||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
hosts:
|
||||
description: 'list of hosts to build'
|
||||
required: true
|
||||
default: 'othalan,algiz'
|
||||
type: string
|
||||
|
||||
schedule:
|
||||
# At minute 00:00 on Monday, Wednesday, and Friday.
|
||||
- cron: 0 0 * * 1,3,5
|
||||
|
||||
env:
|
||||
hosts: ${{ github.event_name == 'schedule' && 'othalan,algiz' || github.event.inputs.hosts }}
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
|
@ -51,7 +61,7 @@ jobs:
|
|||
nix run .
|
||||
--
|
||||
cache
|
||||
--host,=",othalan,algiz,mannaz,naudiz"
|
||||
--host,="${{ env.hosts }}"
|
||||
--flake .
|
||||
--debug
|
||||
--
|
||||
|
@ -94,7 +104,7 @@ jobs:
|
|||
nix run .
|
||||
--
|
||||
ci update
|
||||
--host,=othalan,algiz,mannaz,naudiz
|
||||
--host,="${{ env.hosts }}"
|
||||
--flake .
|
||||
--debug
|
||||
--
|
||||
|
@ -102,7 +112,8 @@ jobs:
|
|||
|
||||
- run: |
|
||||
echo "# system diffs" >> $GITHUB_STEP_SUMMARY
|
||||
for host in othalan algiz mannaz naudiz; do
|
||||
hosts="${{ env.hosts }}"
|
||||
for host in ${hosts//,/ }; do
|
||||
echo "## $host" >> $GITHUB_STEP_SUMMARY
|
||||
nix run "nixpkgs#nvd" -- --color always diff ./$host-current ./$host-updated >> $host-summary.md
|
||||
printf '```\n%s\n```\n' "$(nix run "nixpkgs#nvd" -- diff ./$host-current ./$host-updated)" >> $GITHUB_STEP_SUMMARY
|
||||
|
|
77
flake.lock
77
flake.lock
|
@ -20,11 +20,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731774881,
|
||||
"narHash": "sha256-1Dxryiw8u2ejntxrrv3sMtIE8WHKxmlN4KeH+uMGbmc=",
|
||||
"lastModified": 1730968822,
|
||||
"narHash": "sha256-NocDjINsh6ismkhb0Xr6xPRksmhuB2WGf8ZmXMhxu7Y=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "b31a6a4da8199ae3489057db7d36069a70749a56",
|
||||
"rev": "a49bc3583ff223f426cb3526fdaa4bcaa247ec14",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -165,11 +165,11 @@
|
|||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -240,11 +240,11 @@
|
|||
"zig": "zig"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731947012,
|
||||
"narHash": "sha256-OL7pQ/dMLC1Ek+rkXHEXpvx+UBO1Pbo1kTVe2kmcYsY=",
|
||||
"lastModified": 1732113449,
|
||||
"narHash": "sha256-CWYbPttPsAFbfzfMO241UQBJ/kQclFXAXlQHIcGotss=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "e54ae31d1cf1816f5b9fb7e1fb77d6537dabace6",
|
||||
"revCount": 8018,
|
||||
"rev": "5f49ffad6a2dae1af3e186a5715d9553bbf94eb0",
|
||||
"revCount": 8027,
|
||||
"type": "git",
|
||||
"url": "ssh://git@github.com/ghostty-org/ghostty"
|
||||
},
|
||||
|
@ -318,16 +318,17 @@
|
|||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731945258,
|
||||
"narHash": "sha256-N7uJSSMqHzwH4uahb+Uw3sADVp3XdLfqkP2T144gnFk=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "df9ff4489973afa9e29bb94ac47c946db745b460",
|
||||
"revCount": 5475,
|
||||
"lastModified": 1731162467,
|
||||
"narHash": "sha256-//Ib7gXCA8jq8c+QGTTIO0oH0rUYYBXGp8sqpI1jlhA=",
|
||||
"ref": "refs/tags/v0.45.0",
|
||||
"rev": "a425fbebe4cf4238e48a42f724ef2208959d66cf",
|
||||
"revCount": 5433,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland/"
|
||||
},
|
||||
"original": {
|
||||
"ref": "refs/tags/v0.45.0",
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland/"
|
||||
|
@ -438,11 +439,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731702627,
|
||||
"narHash": "sha256-+JeO9gevnXannQxMfR5xzZtF4sYmSlWkX/BPmPx0mWk=",
|
||||
"lastModified": 1730968903,
|
||||
"narHash": "sha256-zFvzLXcSm0Ia4XI1SE4FQ9KE63hlGrRWhLtwMolWuR8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "e911361a687753bbbdfe3b6a9eab755ecaf1d9e1",
|
||||
"rev": "3ce0cde8709cdacbfba471f8e828433b58a561e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -498,11 +499,11 @@
|
|||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1731683711,
|
||||
"narHash": "sha256-bq21I1EjXJa/s5Rra9J9ot2NkPCnI0F5uNPurwYLdpE=",
|
||||
"rev": "c859d03013712b349d82ee6223948d6d03e63a8d",
|
||||
"lastModified": 1732056932,
|
||||
"narHash": "sha256-3ubtSu0D+BUV5FKmBU7kTEXlI/okp/j1xC/ODC7LgTA=",
|
||||
"rev": "b0d7a816135de1cd551b8a54f5497148bf59d81d",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/c859d03013712b349d82ee6223948d6d03e63a8d.tar.gz?rev=c859d03013712b349d82ee6223948d6d03e63a8d"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/b0d7a816135de1cd551b8a54f5497148bf59d81d.tar.gz?rev=b0d7a816135de1cd551b8a54f5497148bf59d81d"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
|
@ -521,11 +522,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731185731,
|
||||
"narHash": "sha256-RNaIu43b9PoXEhW4OqXUNZKY/jezQyCYWwdv1M0VjsA=",
|
||||
"rev": "691193879d96bdfd1e6ab5ebcca2fadc7604cf34",
|
||||
"lastModified": 1731967274,
|
||||
"narHash": "sha256-n6dPGRlMGdL8X5gviA6ZuRfUdbdD5KiNN/BpABA5YT0=",
|
||||
"rev": "aa2846680fa9a2032939d720487942567fd9eb63",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/691193879d96bdfd1e6ab5ebcca2fadc7604cf34.tar.gz?rev=691193879d96bdfd1e6ab5ebcca2fadc7604cf34"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/aa2846680fa9a2032939d720487942567fd9eb63.tar.gz?rev=aa2846680fa9a2032939d720487942567fd9eb63"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
|
@ -692,11 +693,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1731676054,
|
||||
"narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
|
||||
"lastModified": 1730785428,
|
||||
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
|
||||
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -745,11 +746,11 @@
|
|||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731954473,
|
||||
"narHash": "sha256-iNzMvn3P/3tinhRpYQVSVukrFP22qqlQ59a9kKYN7LU=",
|
||||
"lastModified": 1732112358,
|
||||
"narHash": "sha256-2mrUledH5Fl5z34Z7POLBfHFu/E9LPJMXCGGzYigiy4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs-wayland",
|
||||
"rev": "8cfa4547f95836136691e10493f18155694f198a",
|
||||
"rev": "15836268eff507e4e8b453cd57ea5b0e6e07f0da",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -901,11 +902,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731363552,
|
||||
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
|
||||
"lastModified": 1730814269,
|
||||
"narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
|
||||
"rev": "d70155fdc00df4628446352fc58adc640cd705c2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1121,11 +1122,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731703417,
|
||||
"narHash": "sha256-rheDc/7C+yI+QspYr9J2z9kQ5P9F4ATapI7qyFAe1XA=",
|
||||
"lastModified": 1730743262,
|
||||
"narHash": "sha256-iTLqj3lU8kFehPm5tXpctzkD274t/k1nwSSq3qCWXeg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "8070f36deec723de71e7557441acb17e478204d3",
|
||||
"rev": "09b23cef06fe248e61cec8862c04b9bcb62f4b6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland/?submodules=1";
|
||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland/?submodules=1&ref=refs/tags/v0.45.0";
|
||||
hyprland-contrib.url = "github:hyprwm/contrib";
|
||||
|
||||
f1multiviewer.url = "github:daylinmorgan/f1multiviewer-flake";
|
||||
|
|
|
@ -8,7 +8,7 @@ buildNimblePackage {
|
|||
verions = "unstable";
|
||||
src = lib.cleanSource ./.;
|
||||
nativeBuildInputs = [ openssl ];
|
||||
nimbleDepsHash = "sha256-1YoGvWvoJJSMauDbeH8ZHuK+QQot48Mkye9TeWteT8k=";
|
||||
nimbleDepsHash = "sha256-IWdlWC+j2h15WjVXXdDyxDZsb0/Ti1+jy6RfmqHFkjs=";
|
||||
|
||||
meta = {
|
||||
description = "nix begat oizys";
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
"packages": {
|
||||
"hwylterm": {
|
||||
"version": "0.1.0",
|
||||
"vcsRevision": "c5f70cec4e40ba396f59162e98c359a1a1ea4fe1",
|
||||
"vcsRevision": "ef573dc0f8bf39f80704f92cfab39e1b9af82492",
|
||||
"url": "https://github.com/daylinmorgan/hwylterm",
|
||||
"downloadMethod": "git",
|
||||
"dependencies": [],
|
||||
"checksums": {
|
||||
"sha1": "5727969a8e82e29a7581c13cc7cc45996dbca5a1"
|
||||
"sha1": "ccb51201898b5e913ffee1e18bdf4d9fc4004386"
|
||||
}
|
||||
},
|
||||
"jsony": {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
## nix begat oizys
|
||||
import std/[os, osproc, sequtils, strformat, strutils]
|
||||
import std/[os, osproc, sequtils, strformat, strutils, tables]
|
||||
import hwylterm, hwylterm/[hwylcli]
|
||||
import oizys/[context, github, nix, logging]
|
||||
|
||||
|
@ -77,17 +77,27 @@ hwylCli:
|
|||
ciUpdate(args)
|
||||
|
||||
[gha]
|
||||
... "trigger GHA"
|
||||
... """
|
||||
trigger GHA
|
||||
|
||||
examples:
|
||||
[b]oizys gha update[/] --inputs:hosts:othalan,algiz,mannaz
|
||||
"""
|
||||
flags:
|
||||
# make a key/value input that is passed to workflows and encoded in json
|
||||
# i.e. --input:ref:main
|
||||
inputs:
|
||||
T seq[KVString]
|
||||
? "inputs for dispatch"
|
||||
`ref`:
|
||||
T string
|
||||
? "git ref/branch/tag to trigger workflow on"
|
||||
* "main"
|
||||
run:
|
||||
# TODO: support file operations like gh
|
||||
# i.e. @flake.lock means read a file a flake.lock and use it's contents
|
||||
if args.len == 0: fatalQuit "expected workflow file name"
|
||||
createDispatch(args[0], `ref`)
|
||||
let inputs =
|
||||
inputs.mapIt((it.key, it.val)).toTable()
|
||||
createDispatch(args[0], `ref`, inputs)
|
||||
|
||||
[dry]
|
||||
... "dry run build"
|
||||
|
|
|
@ -100,13 +100,14 @@ proc getInProgressRun(
|
|||
|
||||
warn "timeout reached waiting for workflow to start"
|
||||
|
||||
proc createDispatch*(workflowFileName: string, `ref`: string) =
|
||||
proc createDispatch*(workflowFileName: string, `ref`: string, inputs: Table[string, string]) =
|
||||
## https://docs.github.com/en/rest/actions/workflows?apiVersion=2022-11-28#create-a-workflow-dispatch-event
|
||||
let workflow =
|
||||
if workflowFileName.endsWith(".yml") or workflowFileName.endsWith(".yaml"): workflowFileName
|
||||
else: workflowFileName & ".yml"
|
||||
let body = %*{"ref": `ref`}
|
||||
let body = %*{"ref": `ref`, "inputs": inputs}
|
||||
info fmt"creating dispatch event for {workflow}"
|
||||
debug "with body: " & $body
|
||||
postGhApi(
|
||||
fmt"https://api.github.com/repos/daylinmorgan/oizys/actions/workflows/{workflow}/dispatches",
|
||||
body
|
||||
|
|
1
todo.md
1
todo.md
|
@ -6,6 +6,7 @@
|
|||
|
||||
## software
|
||||
|
||||
- [ ] hyprland > v0.45.0 is causing chrome to not tile by default
|
||||
- [ ] why is my update ci always building llm and rofi?
|
||||
- [ ] include langservers for enabled languages?
|
||||
<!--[tracking issue](https://github.com/wez/wezterm/issues/5990)-->
|
||||
|
|
Loading…
Reference in a new issue