mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-12-22 14:20:44 -06:00
Compare commits
9 commits
fdfb119fa7
...
cd378dcbb9
Author | SHA1 | Date | |
---|---|---|---|
cd378dcbb9 | |||
7ebcb32b63 | |||
076a1c4ebd | |||
84833821d0 | |||
853678a1a9 | |||
67e94ed1cf | |||
e6a7e04cfb | |||
9a105ddf62 | |||
5c0d3713f6 |
7 changed files with 229 additions and 86 deletions
10
.github/workflows/update.yml
vendored
10
.github/workflows/update.yml
vendored
|
@ -20,6 +20,12 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup SSH
|
||||
uses: MrSquaare/ssh-setup-action@v1
|
||||
with:
|
||||
host: github.com
|
||||
private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
|
||||
- uses: daylin-bot/actions/setup@main
|
||||
- uses: ./.github/actions/clean-disk
|
||||
|
||||
|
@ -51,7 +57,9 @@ jobs:
|
|||
>> $GITHUB_STEP_SUMMARY
|
||||
|
||||
- name: Pre-build oizys
|
||||
run: nix build .
|
||||
run: |
|
||||
nix build .
|
||||
attic push oizys result
|
||||
|
||||
- name: Build
|
||||
run: >
|
||||
|
|
227
flake.lock
227
flake.lock
|
@ -40,11 +40,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729233997,
|
||||
"narHash": "sha256-NvICw3H/U6J/yZ5ibszSAl/HQMhrp7XPnD70ITwIRFk=",
|
||||
"lastModified": 1730642645,
|
||||
"narHash": "sha256-enJml5i2n0pDJ9kVeAylEQKp9fzdXDO45iAm39SqDwM=",
|
||||
"owner": "daylinmorgan",
|
||||
"repo": "f1multiviewer-flake",
|
||||
"rev": "58cc1fd579116b7b49522dd35fe8eddef3e64ecd",
|
||||
"rev": "c85627a67eeb3e606f1df6b7747dfae6537f79f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -156,14 +156,14 @@
|
|||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -230,6 +230,24 @@
|
|||
"inputs": {
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_6": {
|
||||
"inputs": {
|
||||
"systems": "systems_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
|
@ -244,9 +262,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_6": {
|
||||
"flake-utils_7": {
|
||||
"inputs": {
|
||||
"systems": "systems_7"
|
||||
"systems": "systems_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
|
@ -277,6 +295,30 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ghostty": {
|
||||
"inputs": {
|
||||
"nixpkgs-stable": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-unstable": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"zig": "zig"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730656540,
|
||||
"narHash": "sha256-OsKAF0OGzCk0jHNjNymvdKDtsaC70I+iuoNXWAWr5+4=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "4dd6598a693c9d0777838bb39cc1549eb5d6f19a",
|
||||
"revCount": 7866,
|
||||
"type": "git",
|
||||
"url": "ssh://git@github.com/ghostty-org/ghostty"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "ssh://git@github.com/ghostty-org/ghostty"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -359,15 +401,15 @@
|
|||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems",
|
||||
"systems": "systems_2",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730373668,
|
||||
"narHash": "sha256-8p5JTUGFuhnyuF9lD98ioeE3zYaCmsizLWk4Y3KszAI=",
|
||||
"lastModified": 1730652188,
|
||||
"narHash": "sha256-3L+Jh3J3JvJPsGTqSOIKjwZy/AysR0WOLgGKNkXFqxs=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "93b4478e70af6ffb08a4a66a6d0364c3296db296",
|
||||
"revCount": 5396,
|
||||
"rev": "cd0d0491261728260de3d1aff150e1b6c05f9e86",
|
||||
"revCount": 5407,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland/"
|
||||
|
@ -523,15 +565,15 @@
|
|||
},
|
||||
"lib-aggregate": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730031145,
|
||||
"narHash": "sha256-GZz0LGkeduajnF7zUuPu5evNyoOATcSsRZCkG1OqiwY=",
|
||||
"lastModified": 1730635946,
|
||||
"narHash": "sha256-CdeoMnMXpCq4wBWEWHfUUs68zoyAJLfp1JmfXWtmAgc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "lib-aggregate",
|
||||
"rev": "7d235f23a84b54c39b1579b68b13e1ff83f5b1ad",
|
||||
"rev": "d0ecc1890f77e9e170f2de279d6902d84a0cbc51",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -543,11 +585,11 @@
|
|||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1730412807,
|
||||
"narHash": "sha256-6wOpwSw1cM5aMg7thaT+uC3mfea+rBIBuKGEKlQAVes=",
|
||||
"rev": "8005d1736590df482290992afbb8b1a305166f90",
|
||||
"lastModified": 1730610940,
|
||||
"narHash": "sha256-ZsTpii4kZcioRF3bu3/pS374R9GYQVyrMpBNr2ZUnVg=",
|
||||
"rev": "b1a0e3c0029c2dd5fb7c8dd2db4f9e0b309c9f54",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/8005d1736590df482290992afbb8b1a305166f90.tar.gz?rev=8005d1736590df482290992afbb8b1a305166f90"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/b1a0e3c0029c2dd5fb7c8dd2db4f9e0b309c9f54.tar.gz?rev=b1a0e3c0029c2dd5fb7c8dd2db4f9e0b309c9f54"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
|
@ -556,7 +598,7 @@
|
|||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": [
|
||||
"lix"
|
||||
|
@ -723,11 +765,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729999765,
|
||||
"narHash": "sha256-LYsavZXitFjjyETZoij8usXjTa7fa9AIF3Sk3MJSX+Y=",
|
||||
"lastModified": 1730604744,
|
||||
"narHash": "sha256-/MK6QU4iOozJ4oHTfZipGtOgaT/uy/Jm4foCqHQeYR4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "0e3a8778c2ee218eff8de6aacf3d2fa6c33b2d4f",
|
||||
"rev": "cc2ddbf2df8ef7cc933543b1b42b845ee4772318",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -764,15 +806,15 @@
|
|||
"nixos-wsl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730120924,
|
||||
"narHash": "sha256-I6hwd+YlgefioLfmsM04MxzbEAES1N328/T+VqhcWnQ=",
|
||||
"lastModified": 1730453870,
|
||||
"narHash": "sha256-d+kIgz4BvTXb7emjSFV3zjNydGmLUmuluQjdBb51R9o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NixOS-WSL",
|
||||
"rev": "b124084667fb4c912fda68fdd9d05f59e18b6ef7",
|
||||
"rev": "adb6bc4b661a43328752b4575be4968a4990c033",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -783,11 +825,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1729413321,
|
||||
"narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=",
|
||||
"lastModified": 1730531603,
|
||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26",
|
||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -799,11 +841,11 @@
|
|||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1729990941,
|
||||
"narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=",
|
||||
"lastModified": 1730595754,
|
||||
"narHash": "sha256-F6DyPKY2WAUf8fpaT9vQwwRUs74InQM36ng//h9wNhY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "7d68864343650322045894951602d6e82b5296d7",
|
||||
"rev": "2376a861a1a15f05339245fbaa4422f2d1bdf485",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -836,11 +878,11 @@
|
|||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730410240,
|
||||
"narHash": "sha256-PL7RGHRo0fyukX4TRKmtYb5fDA6hCL0Wg8jnSbDL0Zk=",
|
||||
"lastModified": 1730638537,
|
||||
"narHash": "sha256-2HOixA1kKx0gmPFWlg6lYlQ452rvt9Ims2+/wk+nsQM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs-wayland",
|
||||
"rev": "b96564c7722abb8cfff2fae01cef9d6819fca259",
|
||||
"rev": "2920f4cc370aedb9043644343ac7fc0251f2cde8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -883,11 +925,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1730200266,
|
||||
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
|
||||
"lastModified": 1730531603,
|
||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
|
||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -915,11 +957,11 @@
|
|||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1730200266,
|
||||
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
|
||||
"lastModified": 1730531603,
|
||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
|
||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1008,7 +1050,7 @@
|
|||
"roc": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"flake-utils": "flake-utils_5",
|
||||
"nixgl": "nixgl",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
|
@ -1032,6 +1074,7 @@
|
|||
"root": {
|
||||
"inputs": {
|
||||
"f1multiviewer": "f1multiviewer",
|
||||
"ghostty": "ghostty",
|
||||
"hyprland": "hyprland",
|
||||
"hyprland-contrib": "hyprland-contrib",
|
||||
"hyprman": "hyprman",
|
||||
|
@ -1090,21 +1133,6 @@
|
|||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
@ -1119,6 +1147,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
@ -1194,6 +1237,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_8": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -1286,11 +1344,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728166987,
|
||||
"narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=",
|
||||
"lastModified": 1730187742,
|
||||
"narHash": "sha256-M0umGIIvVFqCwA0fQ5edivMTbRYA0r/5tXK8sr+M7EA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787",
|
||||
"rev": "998f646762b94fbac61b0271ce66d3e617262858",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1299,20 +1357,45 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"ghostty"
|
||||
],
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717848532,
|
||||
"narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig-overlay": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_5",
|
||||
"flake-utils": "flake-utils_5",
|
||||
"flake-utils": "flake-utils_6",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730421185,
|
||||
"narHash": "sha256-6KovnDOSMKNPRrdmMCIk/FrvomoD5wkt5zRxhbnQklA=",
|
||||
"lastModified": 1730593948,
|
||||
"narHash": "sha256-1ndLLzFUh2uKaWjvH25lohGCSpBXANwyVmhGCDBFM6c=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "20b4dafc348320f8deefeed627de70e403742c05",
|
||||
"rev": "68091a14f9c3d803ba6ae13cab2a52623c15633d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1323,7 +1406,7 @@
|
|||
},
|
||||
"zls": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_6",
|
||||
"flake-utils": "flake-utils_7",
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
|
@ -1333,11 +1416,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730064361,
|
||||
"narHash": "sha256-myb/4V8tP3n3WJQlaDrCmQkbmcMEcgX1mFu2jdfwTsk=",
|
||||
"lastModified": 1730664479,
|
||||
"narHash": "sha256-kZ7uEWpO+qZGT1a+0EYOVWcSF04hEj9AqFo/ZMZIUBQ=",
|
||||
"owner": "zigtools",
|
||||
"repo": "zls",
|
||||
"rev": "b2e89dfe92850cf02cbd4b73004aaaecd5cf1739",
|
||||
"rev": "2be424de53eb6f07c5cd0097f6aa99079912e43e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -22,6 +22,11 @@
|
|||
inputs.lix.follows = "lix";
|
||||
};
|
||||
|
||||
# https://github.com/ghostty-org/ghostty/issues/2025
|
||||
ghostty.url = "git+ssh://git@github.com/ghostty-org/ghostty";
|
||||
ghostty.inputs.nixpkgs-stable.follows = "nixpkgs";
|
||||
ghostty.inputs.nixpkgs-unstable.follows = "nixpkgs";
|
||||
|
||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland/?submodules=1";
|
||||
hyprland-contrib.url = "github:hyprwm/contrib";
|
||||
roc.url = "github:roc-lang/roc";
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
{ pkgs, flake, ... }:
|
||||
{
|
||||
environment.systemPackages =
|
||||
[ (flake.pkg "utils") ]
|
||||
[
|
||||
(flake.pkg "utils")
|
||||
(flake.pkg "ghostty")
|
||||
]
|
||||
|
||||
++ (with pkgs; [
|
||||
|
||||
distrobox
|
||||
zk
|
||||
quarto
|
||||
|
|
|
@ -21,6 +21,7 @@ type
|
|||
CaptStdout
|
||||
CaptStderr
|
||||
|
||||
# TODO: support both capturing and inheriting the stream?
|
||||
proc runCmdCapt*(
|
||||
cmd: string,
|
||||
capture: set[CaptureGrp] = {CaptStdout},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import std/[
|
||||
algorithm, json,
|
||||
enumerate, os, sequtils, strformat,
|
||||
strutils, sugar, logging, tables
|
||||
strutils, sugar, logging, tables, times
|
||||
]
|
||||
import hwylterm, hwylterm/logging, jsony
|
||||
|
||||
|
@ -119,9 +119,15 @@ proc toBuildNixosConfiguration(): seq[string] =
|
|||
return output.toBuild.mapIt(it.storePath)
|
||||
|
||||
type
|
||||
DerivationOutputsOut = object
|
||||
path: string
|
||||
DerivationOutputs = object
|
||||
`out`: DerivationOutputsOut
|
||||
NixDerivation = object
|
||||
inputDrvs: Table[string, JsonNode]
|
||||
name: string
|
||||
outputs: DerivationOutputs
|
||||
|
||||
|
||||
proc evaluateDerivations(drvs: seq[string]): Table[string, NixDerivation] =
|
||||
var cmd = "nix derivation show -r"
|
||||
|
@ -166,18 +172,54 @@ func isIgnored(drv: string): bool =
|
|||
if name.startswith(pkg):
|
||||
return true
|
||||
|
||||
# proc systemPathDrvsToBuild(): seq[string] =
|
||||
|
||||
type
|
||||
OizysDerivation = object
|
||||
drv: NixDerivation # do i need this ?
|
||||
output: string
|
||||
name: string
|
||||
|
||||
iterator getSystemPathDrvs(drvs: Table[string, NixDerivation]): string =
|
||||
let systemPaths = findSystemPaths(drvs)
|
||||
for p in systemPaths:
|
||||
for d in drvs[p].inputDrvs.keys():
|
||||
yield d
|
||||
|
||||
proc getOizysDerivations(): seq[OizysDerivation] =
|
||||
let toBuild = toBuildNixosConfiguration()
|
||||
let drvs = evaluateDerivations(nixosConfigAttrs())
|
||||
|
||||
for name in getSystemPathDrvs(drvs):
|
||||
if name in toBuild and not isIgnored(name):
|
||||
let nixDrv = drvs[name]
|
||||
result.add OizysDerivation(
|
||||
name: name,
|
||||
output: nixDrv.outputs.`out`.path,
|
||||
drv: nixDrv,
|
||||
)
|
||||
|
||||
proc systemPathDrvsToBuild(): seq[string] =
|
||||
var inputDrvs, dropped: seq[string]
|
||||
let toBuild = toBuildNixosConfiguration()
|
||||
let drvs = evaluateDerivations(nixosConfigAttrs())
|
||||
|
||||
let systemPaths = findSystemPaths(drvs)
|
||||
for p in systemPaths:
|
||||
inputDrvs &= drvs[p].inputDrvs.keys().toSeq()
|
||||
|
||||
(result, _) = filterSeq(inputDrvs, (s) => s in toBuild)
|
||||
(dropped, result) = filterSeq(result, isIgnored)
|
||||
echo "SOMETHING SHOULD HAPPEN HERE!"
|
||||
for drv in result:
|
||||
echo drv
|
||||
echo drvs[drv]
|
||||
|
||||
|
||||
debug fmt"ignored {dropped.len} derivations"
|
||||
result = result.mapIt(it & "^*")
|
||||
|
||||
|
||||
func splitDrv(drv: string): tuple[name, hash:string] =
|
||||
let s = drv.split("-", 1)
|
||||
(s[1].replace(".drv^*",""),s[0].split("/")[^1])
|
||||
|
@ -240,27 +282,27 @@ proc nixBuildWithCache*(name: string, rest:seq[string], service: string, jobs: i
|
|||
if findExe(service) == "": fatalQuit fmt"is {service} installed?"
|
||||
info bbfmt"building and pushing to cache: [b]{name}"
|
||||
debug "determining missing cache hits"
|
||||
let drvs = systemPathDrvsToBuild()
|
||||
let drvs = getOizysDerivations()
|
||||
if drvs.len == 0:
|
||||
info "nothing to build"
|
||||
quit "exiting...", QuitSuccess
|
||||
|
||||
var outs: seq[string]
|
||||
# TODO: add back reporting to GITHUB SUMMARY
|
||||
# include time to build?
|
||||
var outs: seq[string]
|
||||
for drv in drvs:
|
||||
let startTime = now()
|
||||
var cmd = "nix build"
|
||||
cmd.addArg drv
|
||||
cmd.addArg drv.name & "^*"
|
||||
cmd.addArg "--no-link"
|
||||
cmd.addArg "--print-out-paths"
|
||||
# cmd.addArg "--print-out-paths"
|
||||
# cmd.addArg "-L"
|
||||
cmd.addArgs rest
|
||||
let (path, _, buildCode) = runCmdCapt(cmd)
|
||||
let buildCode = runCmd(cmd)
|
||||
if buildCode != 0:
|
||||
# TODO: propagate errors using nix log?
|
||||
error "failed to build: " & drv
|
||||
error "failed to build: " & drv.name
|
||||
continue
|
||||
|
||||
outs &= path.strip().splitLines()
|
||||
info "build duration: " & $(now() - startTime)
|
||||
outs &= drv.output
|
||||
|
||||
var cmd = service
|
||||
cmd.addArg "push"
|
||||
|
@ -272,4 +314,3 @@ proc nixBuildWithCache*(name: string, rest:seq[string], service: string, jobs: i
|
|||
if pushErr != 0:
|
||||
errorQuit "failed to push build to cache"
|
||||
|
||||
|
||||
|
|
0
pkgs/oizys/src/oizys/pkgs/oizys/src/oizys/nix.nim
Normal file
0
pkgs/oizys/src/oizys/pkgs/oizys/src/oizys/nix.nim
Normal file
Loading…
Reference in a new issue