Compare commits

..

No commits in common. "b40719a50f35a1bd6297a7d3209731deb886ead3" and "0446dacc1a2a97856982aadd1e12be3ede55b1fa" have entirely different histories.

9 changed files with 143 additions and 73 deletions

View file

@ -41,7 +41,7 @@ jobs:
with:
purge-packages: 'true'
- uses: DeterminateSystems/nix-installer-action@v15
- uses: DeterminateSystems/nix-installer-action@v14
with:
source-url: https://install.lix.systems/lix/lix-installer-x86_64-linux
extra-conf: |

View file

@ -32,7 +32,7 @@ jobs:
- run: git checkout -B flake-lock
- uses: DeterminateSystems/nix-installer-action@v15
- uses: DeterminateSystems/nix-installer-action@v14
with:
source-url: https://install.lix.systems/lix/lix-installer-x86_64-linux
extra-conf: |
@ -101,7 +101,7 @@ jobs:
host: github.com
private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- uses: DeterminateSystems/nix-installer-action@v15
- uses: DeterminateSystems/nix-installer-action@v14
with:
source-url: https://install.lix.systems/lix/lix-installer-x86_64-linux
extra-conf: |

View file

@ -240,11 +240,11 @@
"zig": "zig"
},
"locked": {
"lastModified": 1731351056,
"narHash": "sha256-a779DeG+HXRR5Gy/pU47KI/1xeLdeYoA8gyopRRseW4=",
"lastModified": 1731002191,
"narHash": "sha256-KIt2bydFMFHdaeS27ArWduIeLl8V2FZfceCrspXeJ0k=",
"ref": "refs/heads/main",
"rev": "70b984ebaff9fb9e80e0332a00eaac7b45b52e1d",
"revCount": 7942,
"rev": "7517d0a86b4008fe7d1a05b675cf1f93152e8b71",
"revCount": 7909,
"type": "git",
"url": "ssh://git@github.com/ghostty-org/ghostty"
},
@ -318,11 +318,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1731340175,
"narHash": "sha256-IfE7lqNFfFyzAu3pe2XTeNovU9tVzJeGLzQ2B8Segy0=",
"lastModified": 1730969692,
"narHash": "sha256-yHY98IWTLDz57TrseUxdh5QnpngcNCjNXTJ2XCeNhtk=",
"ref": "refs/heads/main",
"rev": "f5fa84554ffe55e29a397014964238be89ffa54d",
"revCount": 5448,
"rev": "e58e97b0a38b8ccc87a4304c9e4e2b37c9966875",
"revCount": 5425,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland/"
@ -413,11 +413,11 @@
]
},
"locked": {
"lastModified": 1731019624,
"narHash": "sha256-22viQMlEqNjwj+wHpo9FkKD/vlXmj+dzm+23VezXlME=",
"lastModified": 1730299948,
"narHash": "sha256-RGP06zJWKK7D3E9xrK0DnW4gzcmITy6U7RuePxVX0jI=",
"ref": "refs/heads/main",
"rev": "a41acd54a3f887f4050c518de25963d5e7d6208f",
"revCount": 18,
"rev": "8a866a8082a8debb356b257df1af6ce3becbd1a6",
"revCount": 16,
"type": "git",
"url": "https://git.dayl.in/daylin/hyprman.git"
},
@ -438,11 +438,11 @@
]
},
"locked": {
"lastModified": 1731163338,
"narHash": "sha256-Qflei0JBeqQ0c8jxA8e982xAxJvfMwfx4Aci2eJi84s=",
"lastModified": 1730968903,
"narHash": "sha256-zFvzLXcSm0Ia4XI1SE4FQ9KE63hlGrRWhLtwMolWuR8=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "60d3dece30f98e8ad85131829c8529950630d6bc",
"rev": "3ce0cde8709cdacbfba471f8e828433b58a561e9",
"type": "github"
},
"original": {
@ -482,11 +482,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1731240728,
"narHash": "sha256-a0xQE3cwZLMsycd9NneFC3z29E+z1PSD/ozhISM7qYQ=",
"lastModified": 1730635946,
"narHash": "sha256-CdeoMnMXpCq4wBWEWHfUUs68zoyAJLfp1JmfXWtmAgc=",
"owner": "nix-community",
"repo": "lib-aggregate",
"rev": "807ab623e6d01e931269a28a07c59dcfd6474173",
"rev": "d0ecc1890f77e9e170f2de279d6902d84a0cbc51",
"type": "github"
},
"original": {
@ -498,11 +498,11 @@
"lix": {
"flake": false,
"locked": {
"lastModified": 1731334117,
"narHash": "sha256-GoddkPg0/UDv06KcQJiOYP/2IzruYorbI03QRCjN3K8=",
"rev": "8a9094303bc7873c979e54ea20b9f50464ee3965",
"lastModified": 1730938523,
"narHash": "sha256-UAh8hocN7Vdl+sXxuToL6Cm1TsMHBpcEmHy+l5xFrMk=",
"rev": "72cce7be3f8031ccf6dc9d3c69ba19068b3bd21f",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/8a9094303bc7873c979e54ea20b9f50464ee3965.tar.gz?rev=8a9094303bc7873c979e54ea20b9f50464ee3965"
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/72cce7be3f8031ccf6dc9d3c69ba19068b3bd21f.tar.gz?rev=72cce7be3f8031ccf6dc9d3c69ba19068b3bd21f"
},
"original": {
"type": "tarball",
@ -521,11 +521,11 @@
]
},
"locked": {
"lastModified": 1731185731,
"narHash": "sha256-RNaIu43b9PoXEhW4OqXUNZKY/jezQyCYWwdv1M0VjsA=",
"rev": "691193879d96bdfd1e6ab5ebcca2fadc7604cf34",
"lastModified": 1727752861,
"narHash": "sha256-jowmo2aEzrEpPSM96IWtajuogdJm7DjAWxFTEb7Ct0s=",
"rev": "fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d",
"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/fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d.tar.gz?rev=fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d"
},
"original": {
"type": "tarball",
@ -615,11 +615,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1731250407,
"narHash": "sha256-AwyDiazOqBZBUPp0vqYEzvBseZo3Eg16mfjAFvKv2lc=",
"lastModified": 1730389079,
"narHash": "sha256-g/CJ/KKe5MGsVx1oCBl0F9aCdcNSDeOw8H7e5QDGa2c=",
"owner": "nix-community",
"repo": "nix-eval-jobs",
"rev": "96902c4573cd03ea7e533634cb49861148f49a7a",
"rev": "7f9159a16584ee86eed077c8a73e845690b7d513",
"type": "github"
},
"original": {
@ -657,11 +657,11 @@
]
},
"locked": {
"lastModified": 1731209121,
"narHash": "sha256-BF7FBh1hIYPDihdUlImHGsQzaJZVLLfYqfDx41wjuF0=",
"lastModified": 1730604744,
"narHash": "sha256-/MK6QU4iOozJ4oHTfZipGtOgaT/uy/Jm4foCqHQeYR4=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "896019f04b22ce5db4c0ee4f89978694f44345c3",
"rev": "cc2ddbf2df8ef7cc933543b1b42b845ee4772318",
"type": "github"
},
"original": {
@ -708,11 +708,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1731200463,
"narHash": "sha256-qDaAweJjdFbVExqs8aG27urUgcgKufkIngHW3Rzustg=",
"lastModified": 1730595754,
"narHash": "sha256-F6DyPKY2WAUf8fpaT9vQwwRUs74InQM36ng//h9wNhY=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "e04234d263750db01c78a412690363dc2226e68a",
"rev": "2376a861a1a15f05339245fbaa4422f2d1bdf485",
"type": "github"
},
"original": {
@ -745,11 +745,11 @@
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1731353483,
"narHash": "sha256-0IZPqgc4k/VqP3yLhNw8QbiPRq56Cl07ewRv7aqQZIw=",
"lastModified": 1730993036,
"narHash": "sha256-GbCKT3+7FaY0tlIuK0Wdc10HqiN3FBmgHOdnvTAyJGM=",
"owner": "nix-community",
"repo": "nixpkgs-wayland",
"rev": "e71b4345d9aebca98d9ea91eb5f86d57f804f6d6",
"rev": "ddfa3b485c17ad2594c44c4785533ea45db4e32a",
"type": "github"
},
"original": {
@ -792,11 +792,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1731139594,
"narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=",
"lastModified": 1730785428,
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2",
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
"type": "github"
},
"original": {
@ -808,11 +808,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1730958623,
"narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=",
"lastModified": 1723221148,
"narHash": "sha256-7pjpeQlZUNQ4eeVntytU3jkw9dFK3k1Htgk2iuXjaD8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "85f7e662eda4fa3a995556527c87b2524b691933",
"rev": "154bcb95ad51bc257c2ce4043a725de6ca700ef6",
"type": "github"
},
"original": {
@ -824,11 +824,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1731139594,
"narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=",
"lastModified": 1730785428,
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2",
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
"type": "github"
},
"original": {
@ -914,6 +914,30 @@
"type": "github"
}
},
"roc": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_5",
"nixgl": "nixgl",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1730937151,
"narHash": "sha256-wU1ZpJhIS7L7h5GybhKuDkeqm4I6KI+NLOoKaDMBp7w=",
"owner": "roc-lang",
"repo": "roc",
"rev": "1a5776653cebeeb03db57adce8f51910b7296295",
"type": "github"
},
"original": {
"owner": "roc-lang",
"repo": "roc",
"type": "github"
}
},
"root": {
"inputs": {
"comin": "comin",
@ -1158,6 +1182,53 @@
"repo": "zig-overlay",
"type": "github"
}
},
"zig-overlay": {
"inputs": {
"flake-compat": "flake-compat_5",
"flake-utils": "flake-utils_6",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1730981477,
"narHash": "sha256-xumPGh1MLymi4RrJmUqZQxO9DYXaqaYD60yPtpKcw4g=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "057830f53f122fefb8ebd151ce717a821eb47394",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
},
"zls": {
"inputs": {
"flake-utils": "flake-utils_7",
"gitignore": "gitignore_2",
"nixpkgs": [
"nixpkgs"
],
"zig-overlay": [
"zig-overlay"
]
},
"locked": {
"lastModified": 1731002594,
"narHash": "sha256-GMz5G0wlpTrM4U+PXQHsW4+LIw83FX04A+YLWFTaA6E=",
"owner": "zigtools",
"repo": "zls",
"rev": "6144e778307f65c18308bb12fa5a25add91afb27",
"type": "github"
},
"original": {
"owner": "zigtools",
"repo": "zls",
"type": "github"
}
}
},
"root": "root",

View file

@ -1,5 +1,5 @@
nimbledeps
nimble.paths
nimble.develop
bin/
oizys.out

View file

@ -1,3 +1,6 @@
task build, "build oizys":
selfExec "c -o:oizys src/oizys.nim"
# begin Nimble config (version 2)
--noNimblePath
when withDir(thisDir(), system.fileExists("nimble.paths")):

View file

@ -8,7 +8,7 @@ buildNimblePackage {
verions = "unstable";
src = lib.cleanSource ./.;
nativeBuildInputs = [ openssl ];
nimbleDepsHash = "sha256-ZEPzosRwokkvPKbv5nqzATv6IqUhqM2prOU0vUUC80Q=";
nimbleDepsHash = "sha256-/H/HvnJqpDJcyVJ2rbn7PDSSoJB/TMr9yiIKxtB1O+E=";
meta = {
description = "nix begat oizys";

View file

@ -3,12 +3,12 @@
"packages": {
"hwylterm": {
"version": "0.1.0",
"vcsRevision": "65a952e9f0d75659d39f8a3b146753e291ee0a66",
"vcsRevision": "e8e090c5b76bc555231bda536193df6f92a54db2",
"url": "https://github.com/daylinmorgan/hwylterm",
"downloadMethod": "git",
"dependencies": [],
"checksums": {
"sha1": "10894d492bbe1d0ea32ee9bb0686abfcd3b0b0fe"
"sha1": "925aad3ce660979de7cdb2f58a31dc7ac693e34d"
}
},
"jsony": {

View file

@ -13,5 +13,5 @@ bin = @["oizys"]
requires "nim >= 2.0.8"
requires "jsony"
requires "zippy"
requires "https://github.com/daylinmorgan/hwylterm#65a952e"
requires "https://github.com/daylinmorgan/hwylterm#e8e090c"

View file

@ -1,6 +1,6 @@
## nix begat oizys
import std/[os, osproc, sequtils, strformat, strutils]
import hwylterm, hwylterm/[hwylcli]
import hwylterm, hwylterm/[hwylcli, logging]
import oizys/[context, github, nix, logging]
proc checkExes() =
@ -13,49 +13,47 @@ hwylCli:
name "oizys"
flags:
[global]
flake:
T string
? "path/to/flake"
flake "path/to/flake"
host:
T seq[string]
? "host(s) to build"
debug:
T bool
? "enable debug mode"
- d
resetCache:
T bool
? "set cache timeout to 0"
- r
[yes]
yes:
- y
T bool
? "skip all confirmation prompts"
[minimal]
minimal:
T bool
? "set minimal"
- m
preSub:
setupLoggers(debug)
updateContext(host, flake, debug, resetCache)
subcommands:
[build]
--- build
... "nix build"
flags:
^[minimal]
run:
nixBuild(minimal, args)
[cache]
--- cache
... "build and push store paths"
flags:
name:
T string
? "name of binary cache"
* "oizys"
service:
T string
? "name of cache service"
* "attic"
jobs:
@ -66,25 +64,24 @@ hwylCli:
run:
nixBuildWithCache(name, args, service, jobs)
[ci]
--- ci
... "trigger GHA"
flags:
`ref`:
T string
? "git ref/branch/tag to trigger workflow on"
* "main"
run:
if args.len == 0: fatalQuit "expected workflow file name"
createDispatch(args[0], `ref`)
[dry]
--- dry
... "dry run build"
flags:
^[minimal]
run:
nixBuildHostDry(minimal, args)
[os]
--- os
? "[b]oizys os[/] [i]subcmd[/] [[[faint]flags[/]]"
... "nixos-rebuild [italic]subcmd[/]"
run:
@ -97,17 +94,16 @@ hwylCli:
)
nixosRebuild(subcmd, args[1..^1])
[output]
--- output
... "nixos config attr"
run:
echo nixosConfigAttrs().join(" ")
[update]
--- update
... "update and run nixos-rebuild"
flags:
^[yes]
preview:
- p
T bool
? "show preview and exit"
run:
@ -120,4 +116,4 @@ hwylCli:
if yes or confirm("Proceed with system update?"):
updateRepo()
nixosRebuild("switch")