it compiles
This commit is contained in:
parent
fad33758fe
commit
b7ee7eb9e9
61 changed files with 2599 additions and 304 deletions
1
.devenv/profile
Symbolic link
1
.devenv/profile
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/wfmdfyk21ibcl78rsjlnxy1fqg0sfk4k-devenv-profile
|
1
.devenv/run
Symbolic link
1
.devenv/run
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/run/user/1000/devenv-43506f0
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/05yb0d179k1pw74yxnlhdq9ld30yp9pk-source
|
|
1
.direnv/flake-inputs/0i9zspwqfnr2vjpdbjd4gifnik23v3gn-source
Symbolic link
1
.direnv/flake-inputs/0i9zspwqfnr2vjpdbjd4gifnik23v3gn-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/0i9zspwqfnr2vjpdbjd4gifnik23v3gn-source
|
1
.direnv/flake-inputs/27rg15w6bjjh2hkbdqajhvqd7b02v5cb-source
Symbolic link
1
.direnv/flake-inputs/27rg15w6bjjh2hkbdqajhvqd7b02v5cb-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/27rg15w6bjjh2hkbdqajhvqd7b02v5cb-source
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/3cp7q2d0ywi20zhva9bcczisxmq1jxgb-source
|
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/49xf0m8xlwppfgx9xa45ybvcsn9yiy18-source
|
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/5a09v6jw29b21vvc35rsv5czv0z0nlq8-source
|
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/6q5b11kr46mrvipv2fm6wx2qnvsdi8mh-source
|
|
1
.direnv/flake-inputs/8kpx53qi52yhjai1vdw8zpa95iqa61bv-source
Symbolic link
1
.direnv/flake-inputs/8kpx53qi52yhjai1vdw8zpa95iqa61bv-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/8kpx53qi52yhjai1vdw8zpa95iqa61bv-source
|
1
.direnv/flake-inputs/8sm7wycza5fl6lnsmw11sn4vqkvw4xyh-source
Symbolic link
1
.direnv/flake-inputs/8sm7wycza5fl6lnsmw11sn4vqkvw4xyh-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/8sm7wycza5fl6lnsmw11sn4vqkvw4xyh-source
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/a299nv68x7dm4fc9mj60qwrjn31zvw3z-source
|
|
1
.direnv/flake-inputs/dlrwkbfzbag8f4xj2kbixalscj206j45-source
Symbolic link
1
.direnv/flake-inputs/dlrwkbfzbag8f4xj2kbixalscj206j45-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/dlrwkbfzbag8f4xj2kbixalscj206j45-source
|
1
.direnv/flake-inputs/f2h5kmarn194yda41znm0r4ibwyg8z7i-source
Symbolic link
1
.direnv/flake-inputs/f2h5kmarn194yda41znm0r4ibwyg8z7i-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/f2h5kmarn194yda41znm0r4ibwyg8z7i-source
|
1
.direnv/flake-inputs/g5v3sgqy6a0fsmas7mnapc196flrplix-source
Symbolic link
1
.direnv/flake-inputs/g5v3sgqy6a0fsmas7mnapc196flrplix-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/g5v3sgqy6a0fsmas7mnapc196flrplix-source
|
1
.direnv/flake-inputs/hwsdv71bmaqvzbii5viryxc8slw4vr5v-source
Symbolic link
1
.direnv/flake-inputs/hwsdv71bmaqvzbii5viryxc8slw4vr5v-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/hwsdv71bmaqvzbii5viryxc8slw4vr5v-source
|
1
.direnv/flake-inputs/i4ginw25yf2q0shnzvzjjwa58srbjhw7-source
Symbolic link
1
.direnv/flake-inputs/i4ginw25yf2q0shnzvzjjwa58srbjhw7-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/i4ginw25yf2q0shnzvzjjwa58srbjhw7-source
|
1
.direnv/flake-inputs/i6yzq14z49ayjinw6v9v06kqz62akkay-source
Symbolic link
1
.direnv/flake-inputs/i6yzq14z49ayjinw6v9v06kqz62akkay-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/i6yzq14z49ayjinw6v9v06kqz62akkay-source
|
1
.direnv/flake-inputs/ia8xy09wg9si4lbbxgzbyyg1n0qxg1vk-source
Symbolic link
1
.direnv/flake-inputs/ia8xy09wg9si4lbbxgzbyyg1n0qxg1vk-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/ia8xy09wg9si4lbbxgzbyyg1n0qxg1vk-source
|
1
.direnv/flake-inputs/lhbcw63xdqclg2hrni4p7dc90nl996lk-source
Symbolic link
1
.direnv/flake-inputs/lhbcw63xdqclg2hrni4p7dc90nl996lk-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/lhbcw63xdqclg2hrni4p7dc90nl996lk-source
|
1
.direnv/flake-inputs/mhgnysbsr0yx44xlqvl7xymk8js22c7z-source
Symbolic link
1
.direnv/flake-inputs/mhgnysbsr0yx44xlqvl7xymk8js22c7z-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/mhgnysbsr0yx44xlqvl7xymk8js22c7z-source
|
1
.direnv/flake-inputs/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source
Symbolic link
1
.direnv/flake-inputs/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/nmf1ggxf77gzv7cw5h91d6l1wh4y6qyj-source
|
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/paqmjg18kvzmbrbil9g2mq9k4015fd7p-source
|
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/pfc56yr7y3wflvbgnrpscf2n1m4j3xd7-source
|
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/pgid9c9xfcrbqx2giry0an0bi0df7s5c-source
|
|
1
.direnv/flake-inputs/r2ip1850igy8kciyaagw502s3c6ph1s4-source
Symbolic link
1
.direnv/flake-inputs/r2ip1850igy8kciyaagw502s3c6ph1s4-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/r2ip1850igy8kciyaagw502s3c6ph1s4-source
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/rzkl4xygy3z1glq8cgrv5cc075ylxs0g-source
|
|
1
.direnv/flake-inputs/s1cnnplqrk8w595dp9fb5cv84xj61lgx-source
Symbolic link
1
.direnv/flake-inputs/s1cnnplqrk8w595dp9fb5cv84xj61lgx-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/s1cnnplqrk8w595dp9fb5cv84xj61lgx-source
|
1
.direnv/flake-inputs/v1wzqsqi3d9fhdl60n24sqhj7pr3yhin-source
Symbolic link
1
.direnv/flake-inputs/v1wzqsqi3d9fhdl60n24sqhj7pr3yhin-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/v1wzqsqi3d9fhdl60n24sqhj7pr3yhin-source
|
1
.direnv/flake-inputs/vz580xz1w41n6m6x81mqgcrnp3y4cf41-source
Symbolic link
1
.direnv/flake-inputs/vz580xz1w41n6m6x81mqgcrnp3y4cf41-source
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/vz580xz1w41n6m6x81mqgcrnp3y4cf41-source
|
|
@ -1 +1 @@
|
||||||
/nix/store/fbldsappzwwr5acj8k1km1dy9ahpx9dj-nite-env
|
/nix/store/xyhi7qx5y8iliadk0ksh9j3w46agp6r0-devenv-shell-env
|
File diff suppressed because it is too large
Load diff
246
Cargo.lock
generated
246
Cargo.lock
generated
|
@ -118,6 +118,17 @@ dependencies = [
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "async-channel"
|
||||||
|
version = "1.9.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
|
||||||
|
dependencies = [
|
||||||
|
"concurrent-queue",
|
||||||
|
"event-listener 2.5.3",
|
||||||
|
"futures-core",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-channel"
|
name = "async-channel"
|
||||||
version = "2.3.0"
|
version = "2.3.0"
|
||||||
|
@ -139,8 +150,8 @@ checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-task",
|
"async-task",
|
||||||
"concurrent-queue",
|
"concurrent-queue",
|
||||||
"fastrand",
|
"fastrand 2.1.0",
|
||||||
"futures-lite",
|
"futures-lite 2.3.0",
|
||||||
"slab",
|
"slab",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -152,7 +163,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-lock",
|
"async-lock",
|
||||||
"blocking",
|
"blocking",
|
||||||
"futures-lite",
|
"futures-lite 2.3.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -165,9 +176,9 @@ dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"concurrent-queue",
|
"concurrent-queue",
|
||||||
"futures-io",
|
"futures-io",
|
||||||
"futures-lite",
|
"futures-lite 2.3.0",
|
||||||
"parking",
|
"parking",
|
||||||
"polling",
|
"polling 3.7.0",
|
||||||
"rustix",
|
"rustix",
|
||||||
"slab",
|
"slab",
|
||||||
"tracing",
|
"tracing",
|
||||||
|
@ -193,7 +204,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-io",
|
"async-io",
|
||||||
"blocking",
|
"blocking",
|
||||||
"futures-lite",
|
"futures-lite 2.3.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -202,7 +213,7 @@ version = "2.2.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a53fc6301894e04a92cb2584fedde80cb25ba8e02d9dc39d4a87d036e22f397d"
|
checksum = "a53fc6301894e04a92cb2584fedde80cb25ba8e02d9dc39d4a87d036e22f397d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-channel",
|
"async-channel 2.3.0",
|
||||||
"async-io",
|
"async-io",
|
||||||
"async-lock",
|
"async-lock",
|
||||||
"async-signal",
|
"async-signal",
|
||||||
|
@ -210,7 +221,7 @@ dependencies = [
|
||||||
"blocking",
|
"blocking",
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"event-listener 5.3.0",
|
"event-listener 5.3.0",
|
||||||
"futures-lite",
|
"futures-lite 2.3.0",
|
||||||
"rustix",
|
"rustix",
|
||||||
"tracing",
|
"tracing",
|
||||||
"windows-sys 0.52.0",
|
"windows-sys 0.52.0",
|
||||||
|
@ -398,11 +409,11 @@ version = "1.6.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88"
|
checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-channel",
|
"async-channel 2.3.0",
|
||||||
"async-lock",
|
"async-lock",
|
||||||
"async-task",
|
"async-task",
|
||||||
"futures-io",
|
"futures-io",
|
||||||
"futures-lite",
|
"futures-lite 2.3.0",
|
||||||
"piper",
|
"piper",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -462,7 +473,7 @@ checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.5.0",
|
"bitflags 2.5.0",
|
||||||
"log",
|
"log",
|
||||||
"polling",
|
"polling 3.7.0",
|
||||||
"rustix",
|
"rustix",
|
||||||
"slab",
|
"slab",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
|
@ -480,6 +491,12 @@ dependencies = [
|
||||||
"wayland-client",
|
"wayland-client",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "castaway"
|
||||||
|
version = "0.1.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cbc"
|
name = "cbc"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
|
@ -769,6 +786,36 @@ dependencies = [
|
||||||
"syn 2.0.63",
|
"syn 2.0.63",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "curl"
|
||||||
|
version = "0.4.46"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6"
|
||||||
|
dependencies = [
|
||||||
|
"curl-sys",
|
||||||
|
"libc",
|
||||||
|
"openssl-probe",
|
||||||
|
"openssl-sys",
|
||||||
|
"schannel",
|
||||||
|
"socket2",
|
||||||
|
"windows-sys 0.52.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "curl-sys"
|
||||||
|
version = "0.4.72+curl-8.6.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "29cbdc8314c447d11e8fd156dcdd031d9e02a7a976163e396b548c03153bc9ea"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"libc",
|
||||||
|
"libz-sys",
|
||||||
|
"openssl-sys",
|
||||||
|
"pkg-config",
|
||||||
|
"vcpkg",
|
||||||
|
"windows-sys 0.52.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cursor-icon"
|
name = "cursor-icon"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
|
@ -914,6 +961,15 @@ version = "1.11.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
|
checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "encoding_rs"
|
||||||
|
version = "0.8.34"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "endi"
|
name = "endi"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
|
@ -976,6 +1032,12 @@ dependencies = [
|
||||||
"num-traits",
|
"num-traits",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "event-listener"
|
||||||
|
version = "2.5.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "event-listener"
|
name = "event-listener"
|
||||||
version = "4.0.3"
|
version = "4.0.3"
|
||||||
|
@ -1018,6 +1080,15 @@ dependencies = [
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "fastrand"
|
||||||
|
version = "1.9.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
|
||||||
|
dependencies = [
|
||||||
|
"instant",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fastrand"
|
name = "fastrand"
|
||||||
version = "2.1.0"
|
version = "2.1.0"
|
||||||
|
@ -1078,6 +1149,12 @@ dependencies = [
|
||||||
"spin 0.9.8",
|
"spin 0.9.8",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "fnv"
|
||||||
|
version = "1.0.7"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "font-kit"
|
name = "font-kit"
|
||||||
version = "0.11.0"
|
version = "0.11.0"
|
||||||
|
@ -1258,13 +1335,28 @@ version = "0.3.30"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
|
checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "futures-lite"
|
||||||
|
version = "1.13.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
|
||||||
|
dependencies = [
|
||||||
|
"fastrand 1.9.0",
|
||||||
|
"futures-core",
|
||||||
|
"futures-io",
|
||||||
|
"memchr",
|
||||||
|
"parking",
|
||||||
|
"pin-project-lite",
|
||||||
|
"waker-fn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "futures-lite"
|
name = "futures-lite"
|
||||||
version = "2.3.0"
|
version = "2.3.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
|
checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"fastrand",
|
"fastrand 2.1.0",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"futures-io",
|
"futures-io",
|
||||||
"parking",
|
"parking",
|
||||||
|
@ -1488,6 +1580,17 @@ dependencies = [
|
||||||
"digest",
|
"digest",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "http"
|
||||||
|
version = "0.2.12"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
|
||||||
|
dependencies = [
|
||||||
|
"bytes",
|
||||||
|
"fnv",
|
||||||
|
"itoa",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "idna"
|
name = "idna"
|
||||||
version = "0.5.0"
|
version = "0.5.0"
|
||||||
|
@ -1543,6 +1646,15 @@ dependencies = [
|
||||||
"generic-array",
|
"generic-array",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "instant"
|
||||||
|
version = "0.1.12"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "is-docker"
|
name = "is-docker"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
|
@ -1562,6 +1674,33 @@ dependencies = [
|
||||||
"once_cell",
|
"once_cell",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "isahc"
|
||||||
|
version = "1.7.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
|
||||||
|
dependencies = [
|
||||||
|
"async-channel 1.9.0",
|
||||||
|
"castaway",
|
||||||
|
"crossbeam-utils",
|
||||||
|
"curl",
|
||||||
|
"curl-sys",
|
||||||
|
"encoding_rs",
|
||||||
|
"event-listener 2.5.3",
|
||||||
|
"futures-lite 1.13.0",
|
||||||
|
"http",
|
||||||
|
"log",
|
||||||
|
"mime",
|
||||||
|
"once_cell",
|
||||||
|
"polling 2.8.0",
|
||||||
|
"slab",
|
||||||
|
"sluice",
|
||||||
|
"tracing",
|
||||||
|
"tracing-futures",
|
||||||
|
"url",
|
||||||
|
"waker-fn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "itertools"
|
name = "itertools"
|
||||||
version = "0.12.1"
|
version = "0.12.1"
|
||||||
|
@ -1804,10 +1943,17 @@ dependencies = [
|
||||||
"paste",
|
"paste",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "mime"
|
||||||
|
version = "0.3.17"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ming"
|
name = "ming"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
"as-raw-xcb-connection",
|
"as-raw-xcb-connection",
|
||||||
"ashpd",
|
"ashpd",
|
||||||
"async-task",
|
"async-task",
|
||||||
|
@ -1958,6 +2104,7 @@ name = "nite"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"funnylog",
|
"funnylog",
|
||||||
|
"ming",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2160,7 +2307,7 @@ dependencies = [
|
||||||
"cipher",
|
"cipher",
|
||||||
"digest",
|
"digest",
|
||||||
"endi",
|
"endi",
|
||||||
"futures-lite",
|
"futures-lite 2.3.0",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"hkdf",
|
"hkdf",
|
||||||
"hmac",
|
"hmac",
|
||||||
|
@ -2188,6 +2335,24 @@ dependencies = [
|
||||||
"pathdiff",
|
"pathdiff",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "openssl-probe"
|
||||||
|
version = "0.1.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "openssl-sys"
|
||||||
|
version = "0.9.102"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"libc",
|
||||||
|
"pkg-config",
|
||||||
|
"vcpkg",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ordered-stream"
|
name = "ordered-stream"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
|
@ -2325,7 +2490,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf"
|
checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"atomic-waker",
|
"atomic-waker",
|
||||||
"fastrand",
|
"fastrand 2.1.0",
|
||||||
"futures-io",
|
"futures-io",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -2360,6 +2525,22 @@ dependencies = [
|
||||||
"miniz_oxide 0.7.2",
|
"miniz_oxide 0.7.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "polling"
|
||||||
|
version = "2.8.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
"bitflags 1.3.2",
|
||||||
|
"cfg-if",
|
||||||
|
"concurrent-queue",
|
||||||
|
"libc",
|
||||||
|
"log",
|
||||||
|
"pin-project-lite",
|
||||||
|
"windows-sys 0.48.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "polling"
|
name = "polling"
|
||||||
version = "3.7.0"
|
version = "3.7.0"
|
||||||
|
@ -2735,6 +2916,15 @@ dependencies = [
|
||||||
"winapi-util",
|
"winapi-util",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "schannel"
|
||||||
|
version = "0.1.23"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
|
||||||
|
dependencies = [
|
||||||
|
"windows-sys 0.52.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "schemars"
|
name = "schemars"
|
||||||
version = "0.8.19"
|
version = "0.8.19"
|
||||||
|
@ -2919,6 +3109,17 @@ dependencies = [
|
||||||
"version_check",
|
"version_check",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "sluice"
|
||||||
|
version = "0.5.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
|
||||||
|
dependencies = [
|
||||||
|
"async-channel 1.9.0",
|
||||||
|
"futures-core",
|
||||||
|
"futures-io",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "smallvec"
|
name = "smallvec"
|
||||||
version = "1.13.2"
|
version = "1.13.2"
|
||||||
|
@ -3101,7 +3302,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
|
checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"fastrand",
|
"fastrand 2.1.0",
|
||||||
"rustix",
|
"rustix",
|
||||||
"windows-sys 0.52.0",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
@ -3296,6 +3497,7 @@ version = "0.1.40"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"log",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"tracing-attributes",
|
"tracing-attributes",
|
||||||
"tracing-core",
|
"tracing-core",
|
||||||
|
@ -3321,6 +3523,16 @@ dependencies = [
|
||||||
"once_cell",
|
"once_cell",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing-futures"
|
||||||
|
version = "0.2.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
|
||||||
|
dependencies = [
|
||||||
|
"pin-project",
|
||||||
|
"tracing",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ttf-parser"
|
name = "ttf-parser"
|
||||||
version = "0.20.0"
|
version = "0.20.0"
|
||||||
|
@ -3461,14 +3673,17 @@ name = "util"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
"arrayvec",
|
||||||
"collections",
|
"collections",
|
||||||
"dirs",
|
"dirs",
|
||||||
"futures",
|
"futures",
|
||||||
"git2",
|
"git2",
|
||||||
"globset",
|
"globset",
|
||||||
|
"isahc",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"log",
|
"log",
|
||||||
"rand",
|
"rand",
|
||||||
|
"rayon",
|
||||||
"regex",
|
"regex",
|
||||||
"rust-embed",
|
"rust-embed",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -3478,6 +3693,7 @@ dependencies = [
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"unicase",
|
"unicase",
|
||||||
|
"url",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
|
@ -8,7 +8,8 @@ It's intended to be an (almost) drop-in replacement for Neovim, aside from nite
|
||||||
|
|
||||||
The following list of features and tasks required to have them is highly opinionated and consists of things I want a code editor to have.
|
The following list of features and tasks required to have them is highly opinionated and consists of things I want a code editor to have.
|
||||||
|
|
||||||
- [ ] Make it compile :)
|
- [ ] Barebones editor
|
||||||
|
* [x] Make it compile
|
||||||
- [ ] Vim-like keybindings and motions
|
- [ ] Vim-like keybindings and motions
|
||||||
- [ ] A Telescope-ey file finder
|
- [ ] A Telescope-ey file finder
|
||||||
- [ ] Something like [harpoon](https://github.com/theprimeagen/harpoon) and maybe a topbar with marks
|
- [ ] Something like [harpoon](https://github.com/theprimeagen/harpoon) and maybe a topbar with marks
|
||||||
|
|
|
@ -15,10 +15,10 @@ runtime_shaders = []
|
||||||
macos-blade = ["blade-graphics", "blade-macros", "bytemuck"]
|
macos-blade = ["blade-graphics", "blade-macros", "bytemuck"]
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
path = "src/gpui.rs"
|
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
anyhow.workspace = true
|
||||||
async-task = "4.7"
|
async-task = "4.7"
|
||||||
backtrace = { version = "0.3", optional = true }
|
backtrace = { version = "0.3", optional = true }
|
||||||
blade-graphics = { workspace = true, optional = true }
|
blade-graphics = { workspace = true, optional = true }
|
||||||
|
|
|
@ -18,7 +18,7 @@ use time::UtcOffset;
|
||||||
pub use async_context::*;
|
pub use async_context::*;
|
||||||
use collections::{FxHashMap, FxHashSet, VecDeque};
|
use collections::{FxHashMap, FxHashSet, VecDeque};
|
||||||
pub use entity_map::*;
|
pub use entity_map::*;
|
||||||
use http::{self, HttpClient};
|
use util::http::{self, HttpClient};
|
||||||
pub use model_context::*;
|
pub use model_context::*;
|
||||||
#[cfg(any(test, feature = "test-support"))]
|
#[cfg(any(test, feature = "test-support"))]
|
||||||
pub use test_context::*;
|
pub use test_context::*;
|
||||||
|
|
|
@ -84,7 +84,7 @@ impl<E> AnimationElement<E> {
|
||||||
impl<E: IntoElement + 'static> IntoElement for AnimationElement<E> {
|
impl<E: IntoElement + 'static> IntoElement for AnimationElement<E> {
|
||||||
type Element = AnimationElement<E>;
|
type Element = AnimationElement<E>;
|
||||||
|
|
||||||
fn into_element(self) -> Self::Element {
|
fn into_element(self) -> AnimationElement<E> {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ pub struct Canvas<T> {
|
||||||
impl<T: 'static> IntoElement for Canvas<T> {
|
impl<T: 'static> IntoElement for Canvas<T> {
|
||||||
type Element = Self;
|
type Element = Self;
|
||||||
|
|
||||||
fn into_element(self) -> Self::Element {
|
fn into_element(self) -> Self {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2328,7 +2328,7 @@ where
|
||||||
{
|
{
|
||||||
type Element = E::Element;
|
type Element = E::Element;
|
||||||
|
|
||||||
fn into_element(self) -> Self::Element {
|
fn into_element(self) -> <E as IntoElement>::Element {
|
||||||
self.element.into_element()
|
self.element.into_element()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2421,7 +2421,7 @@ where
|
||||||
{
|
{
|
||||||
type Element = Self;
|
type Element = Self;
|
||||||
|
|
||||||
fn into_element(self) -> Self::Element {
|
fn into_element(self) -> Self {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ use image::{ImageBuffer, ImageError};
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
use media::core_video::CVImageBuffer;
|
use media::core_video::CVImageBuffer;
|
||||||
|
|
||||||
use http;
|
use util::http;
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
use util::ResultExt;
|
use util::ResultExt;
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ use crate::{
|
||||||
use collections::VecDeque;
|
use collections::VecDeque;
|
||||||
use refineable::Refineable as _;
|
use refineable::Refineable as _;
|
||||||
use std::{cell::RefCell, ops::Range, rc::Rc};
|
use std::{cell::RefCell, ops::Range, rc::Rc};
|
||||||
use sum_tree::{Bias, SumTree};
|
use util::sum_tree::{self, Bias, SumTree};
|
||||||
use taffy::style::Overflow;
|
use taffy::style::Overflow;
|
||||||
|
|
||||||
/// Construct a new list element
|
/// Construct a new list element
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use crate::{AppContext, PlatformDispatcher};
|
use crate::{AppContext, PlatformDispatcher};
|
||||||
use tokio::sync::mpsc;
|
|
||||||
use tokio::spawn;
|
|
||||||
use std::{
|
use std::{
|
||||||
|
future::Future,
|
||||||
fmt::Debug,
|
fmt::Debug,
|
||||||
marker::PhantomData,
|
marker::PhantomData,
|
||||||
mem,
|
mem,
|
||||||
|
@ -15,6 +14,8 @@ use std::{
|
||||||
task::{Context, Poll},
|
task::{Context, Poll},
|
||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
|
use futures::FutureExt;
|
||||||
|
use tokio::sync::mpsc;
|
||||||
use util::TryFutureExt;
|
use util::TryFutureExt;
|
||||||
use waker_fn::waker_fn;
|
use waker_fn::waker_fn;
|
||||||
|
|
||||||
|
@ -89,7 +90,7 @@ impl<T> Future for Task<T> {
|
||||||
fn poll(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Self::Output> {
|
fn poll(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Self::Output> {
|
||||||
match unsafe { self.get_unchecked_mut() } {
|
match unsafe { self.get_unchecked_mut() } {
|
||||||
Task::Ready(val) => Poll::Ready(val.take().unwrap()),
|
Task::Ready(val) => Poll::Ready(val.take().unwrap()),
|
||||||
Task::Spawned(task) => task.poll(cx),
|
Task::Spawned(task) => task.poll_unpin(cx),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -496,6 +497,6 @@ impl<'a> Drop for Scope<'a> {
|
||||||
|
|
||||||
// Wait until the channel is closed, which means that all of the spawned
|
// Wait until the channel is closed, which means that all of the spawned
|
||||||
// futures have resolved.
|
// futures have resolved.
|
||||||
self.executor.block(self.rx.next());
|
self.executor.block(self.rx.recv());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -440,7 +440,7 @@ impl PlatformInput {
|
||||||
mod test {
|
mod test {
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
self as gpui, div, Element, FocusHandle, InteractiveElement, IntoElement, KeyBinding,
|
self as ming, div, Element, FocusHandle, InteractiveElement, IntoElement, KeyBinding,
|
||||||
Keystroke, ParentElement, Render, TestAppContext, VisualContext,
|
Keystroke, ParentElement, Render, TestAppContext, VisualContext,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -453,7 +453,7 @@ mod test {
|
||||||
actions!(test, [TestAction]);
|
actions!(test, [TestAction]);
|
||||||
|
|
||||||
impl Render for TestView {
|
impl Render for TestView {
|
||||||
fn render(&mut self, cx: &mut gpui::ViewContext<Self>) -> impl Element {
|
fn render(&mut self, cx: &mut ming::ViewContext<Self>) -> impl Element {
|
||||||
div().id("testview").child(
|
div().id("testview").child(
|
||||||
div()
|
div()
|
||||||
.key_context("parent")
|
.key_context("parent")
|
||||||
|
@ -476,7 +476,7 @@ mod test {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[gpui::test]
|
#[ming::test]
|
||||||
fn test_on_events(cx: &mut TestAppContext) {
|
fn test_on_events(cx: &mut TestAppContext) {
|
||||||
let window = cx.update(|cx| {
|
let window = cx.update(|cx| {
|
||||||
cx.open_window(Default::default(), |cx| {
|
cx.open_window(Default::default(), |cx| {
|
||||||
|
|
|
@ -125,7 +125,7 @@ pub use element::*;
|
||||||
pub use elements::*;
|
pub use elements::*;
|
||||||
pub use executor::*;
|
pub use executor::*;
|
||||||
pub use geometry::*;
|
pub use geometry::*;
|
||||||
pub use gpui_macros::{register_action, test, IntoElement, Render};
|
pub use ming_macros::{register_action, test, IntoElement, Render};
|
||||||
pub use input::*;
|
pub use input::*;
|
||||||
pub use interactive::*;
|
pub use interactive::*;
|
||||||
use key_dispatch::*;
|
use key_dispatch::*;
|
||||||
|
@ -136,7 +136,7 @@ pub use scene::*;
|
||||||
use seal::Sealed;
|
use seal::Sealed;
|
||||||
pub use shared_string::*;
|
pub use shared_string::*;
|
||||||
pub use shared_uri::*;
|
pub use shared_uri::*;
|
||||||
pub use smol::Timer;
|
pub use tokio::time::Sleep as Timer;
|
||||||
pub use style::*;
|
pub use style::*;
|
||||||
pub use styled::*;
|
pub use styled::*;
|
||||||
pub use subscription::*;
|
pub use subscription::*;
|
|
@ -58,7 +58,7 @@ pub(crate) use cosmic_text::*;
|
||||||
pub(crate) use linux::*;
|
pub(crate) use linux::*;
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
pub(crate) use mac::*;
|
pub(crate) use mac::*;
|
||||||
pub use semantic_version::SemanticVersion;
|
pub use util::semver::SemanticVersion;
|
||||||
#[cfg(any(test, feature = "test-support"))]
|
#[cfg(any(test, feature = "test-support"))]
|
||||||
pub(crate) use test::*;
|
pub(crate) use test::*;
|
||||||
use time::UtcOffset;
|
use time::UtcOffset;
|
||||||
|
|
|
@ -29,8 +29,8 @@ struct BladeAtlasState {
|
||||||
uploads: Vec<PendingUpload>,
|
uploads: Vec<PendingUpload>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(gles)]
|
// #[cfg(gles)]
|
||||||
unsafe impl Send for BladeAtlasState {}
|
// unsafe impl Send for BladeAtlasState {}
|
||||||
|
|
||||||
impl BladeAtlasState {
|
impl BladeAtlasState {
|
||||||
fn destroy(&mut self) {
|
fn destroy(&mut self) {
|
||||||
|
|
|
@ -659,7 +659,7 @@ impl LinuxClient for X11Client {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let _ = state.xcb_connection.flush().unwrap();
|
let _ = state.xcb_connection.flush().unwrap();
|
||||||
// Take into account that some frames have been skipped
|
// Take into account that some frames have been skipped
|
||||||
let now = time::Instant::now();
|
let now = std::time::Instant::now();
|
||||||
while instant < now {
|
while instant < now {
|
||||||
instant += refresh_duration;
|
instant += refresh_duration;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ use copypasta::{ClipboardContext, ClipboardProvider};
|
||||||
use futures::channel::oneshot::{self, Receiver};
|
use futures::channel::oneshot::{self, Receiver};
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
use parking_lot::RwLock;
|
use parking_lot::RwLock;
|
||||||
use semantic_version::SemanticVersion;
|
use util::semver::SemanticVersion;
|
||||||
use smallvec::SmallVec;
|
use smallvec::SmallVec;
|
||||||
use time::UtcOffset;
|
use time::UtcOffset;
|
||||||
use windows::{
|
use windows::{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
self as gpui, hsla, point, px, relative, rems, AbsoluteLength, AlignItems, CursorStyle,
|
self as ming, hsla, point, px, relative, rems, AbsoluteLength, AlignItems, CursorStyle,
|
||||||
DefiniteLength, Fill, FlexDirection, FlexWrap, Font, FontStyle, FontWeight, Hsla,
|
DefiniteLength, Fill, FlexDirection, FlexWrap, Font, FontStyle, FontWeight, Hsla,
|
||||||
JustifyContent, Length, Position, SharedString, StyleRefinement, Visibility, WhiteSpace,
|
JustifyContent, Length, Position, SharedString, StyleRefinement, Visibility, WhiteSpace,
|
||||||
};
|
};
|
||||||
|
@ -13,7 +13,7 @@ pub trait Styled: Sized {
|
||||||
/// Returns a reference to the style memory of this element.
|
/// Returns a reference to the style memory of this element.
|
||||||
fn style(&mut self) -> &mut StyleRefinement;
|
fn style(&mut self) -> &mut StyleRefinement;
|
||||||
|
|
||||||
gpui_macros::style_helpers!();
|
ming_macros::style_helpers!();
|
||||||
|
|
||||||
/// Sets the position of the element to `relative`.
|
/// Sets the position of the element to `relative`.
|
||||||
/// [Docs](https://tailwindcss.com/docs/position)
|
/// [Docs](https://tailwindcss.com/docs/position)
|
||||||
|
|
|
@ -393,7 +393,7 @@ impl Element for AnyView {
|
||||||
impl<V: 'static + Render> IntoElement for View<V> {
|
impl<V: 'static + Render> IntoElement for View<V> {
|
||||||
type Element = View<V>;
|
type Element = View<V>;
|
||||||
|
|
||||||
fn into_element(self) -> Self::Element {
|
fn into_element(self) -> View<V> {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ use proc_macro::TokenStream;
|
||||||
|
|
||||||
#[proc_macro]
|
#[proc_macro]
|
||||||
/// register_action! can be used to register an action with the GPUI runtime.
|
/// register_action! can be used to register an action with the GPUI runtime.
|
||||||
/// You should typically use `gpui::actions!` or `gpui::impl_actions!` instead,
|
/// You should typically use `ming::actions!` or `gpui::impl_actions!` instead,
|
||||||
/// but this can be used for fine grained customization.
|
/// but this can be used for fine grained customization.
|
||||||
pub fn register_action(ident: TokenStream) -> TokenStream {
|
pub fn register_action(ident: TokenStream) -> TokenStream {
|
||||||
register_action::register_action_macro(ident)
|
register_action::register_action_macro(ident)
|
||||||
|
@ -27,7 +27,7 @@ pub fn derive_render(input: TokenStream) -> TokenStream {
|
||||||
derive_render::derive_render(input)
|
derive_render::derive_render(input)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Used by gpui to generate the style helpers.
|
// Used by ming to generate the style helpers.
|
||||||
#[proc_macro]
|
#[proc_macro]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
pub fn style_helpers(input: TokenStream) -> TokenStream {
|
pub fn style_helpers(input: TokenStream) -> TokenStream {
|
||||||
|
@ -35,14 +35,14 @@ pub fn style_helpers(input: TokenStream) -> TokenStream {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[proc_macro_attribute]
|
#[proc_macro_attribute]
|
||||||
/// #[gpui::test] can be used to annotate test functions that run with GPUI support.
|
/// #[ming::test] can be used to annotate test functions that run with GPUI support.
|
||||||
/// it supports both synchronous and asynchronous tests, and can provide you with
|
/// it supports both synchronous and asynchronous tests, and can provide you with
|
||||||
/// as many `TestAppContext` instances as you need.
|
/// as many `TestAppContext` instances as you need.
|
||||||
/// The output contains a `#[test]` annotation so this can be used with any existing
|
/// The output contains a `#[test]` annotation so this can be used with any existing
|
||||||
/// test harness (`cargo test` or `cargo-nextest`).
|
/// test harness (`cargo test` or `cargo-nextest`).
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// #[gpui::test]
|
/// #[ming::test]
|
||||||
/// async fn test_foo(mut cx: &TestAppContext) { }
|
/// async fn test_foo(mut cx: &TestAppContext) { }
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
|
@ -52,10 +52,10 @@ pub fn style_helpers(input: TokenStream) -> TokenStream {
|
||||||
/// Using the same `StdRng` for behaviour in your test will allow you to exercise a wide
|
/// Using the same `StdRng` for behaviour in your test will allow you to exercise a wide
|
||||||
/// variety of scenarios and interleavings just by changing the seed.
|
/// variety of scenarios and interleavings just by changing the seed.
|
||||||
///
|
///
|
||||||
/// #[gpui::test] also takes three different arguments:
|
/// #[ming::test] also takes three different arguments:
|
||||||
/// - `#[gpui::test(iterations=10)]` will run the test ten times with a different initial SEED.
|
/// - `#[ming::test(iterations=10)]` will run the test ten times with a different initial SEED.
|
||||||
/// - `#[gpui::test(retries=3)]` will run the test up to four times if it fails to try and make it pass.
|
/// - `#[ming::test(retries=3)]` will run the test up to four times if it fails to try and make it pass.
|
||||||
/// - `#[gpui::test(on_failure="crate::test::report_failure")]` will call the specified function after the
|
/// - `#[ming::test(on_failure="crate::test::report_failure")]` will call the specified function after the
|
||||||
/// tests fail so that you can write out more detail about the failure.
|
/// tests fail so that you can write out more detail about the failure.
|
||||||
pub fn test(args: TokenStream, function: TokenStream) -> TokenStream {
|
pub fn test(args: TokenStream, function: TokenStream) -> TokenStream {
|
||||||
test::test(args, function)
|
test::test(args, function)
|
||||||
|
|
|
@ -130,7 +130,7 @@ fn generate_predefined_setter(
|
||||||
.iter()
|
.iter()
|
||||||
.map(|field_tokens| {
|
.map(|field_tokens| {
|
||||||
quote! {
|
quote! {
|
||||||
style.#field_tokens = Some((#negation_token gpui::#length_tokens).into());
|
style.#field_tokens = Some((#negation_token ming::#length_tokens).into());
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
@ -170,7 +170,7 @@ fn generate_custom_value_setter(
|
||||||
|
|
||||||
let method = quote! {
|
let method = quote! {
|
||||||
#[doc = #doc_string]
|
#[doc = #doc_string]
|
||||||
fn #method_name(mut self, length: impl std::clone::Clone + Into<gpui::#length_type>) -> Self {
|
fn #method_name(mut self, length: impl std::clone::Clone + Into<ming::#length_type>) -> Self {
|
||||||
let style = self.style();
|
let style = self.style();
|
||||||
#(#field_assignments)*
|
#(#field_assignments)*
|
||||||
self
|
self
|
||||||
|
|
|
@ -5,3 +5,4 @@ edition.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
funnylog.workspace = true
|
funnylog.workspace = true
|
||||||
|
ming.workspace = true
|
||||||
|
|
|
@ -1,3 +1,35 @@
|
||||||
fn main() {
|
use ming::*;
|
||||||
println!("Hello, world!");
|
|
||||||
|
struct Nite {
|
||||||
|
text: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Render for Nite {
|
||||||
|
fn render(&mut self, cx: &mut ViewContext<Self>) -> impl IntoElement {
|
||||||
|
div()
|
||||||
|
.flex()
|
||||||
|
.size(Length::Definite(DefiniteLength::Fraction(1f32)))
|
||||||
|
.bg(transparent_black())
|
||||||
|
.justify_center()
|
||||||
|
.items_center()
|
||||||
|
.text_xl()
|
||||||
|
.text_color(white())
|
||||||
|
.font_family("ComicShannsMono Nerd Font Mono")
|
||||||
|
.child(format!("HELLO WORLD!!!!! {}", self.text))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
App::new().run(|cx| {
|
||||||
|
cx.open_window(
|
||||||
|
WindowOptions {
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
|cx| {
|
||||||
|
cx.new_view(|_cx| Nite {
|
||||||
|
text: String::new(),
|
||||||
|
})
|
||||||
|
},
|
||||||
|
);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,14 @@ take-until = "0.2.0"
|
||||||
tokio-stream.workspace = true
|
tokio-stream.workspace = true
|
||||||
tempfile = { workspace = true, optional = true }
|
tempfile = { workspace = true, optional = true }
|
||||||
unicase.workspace = true
|
unicase.workspace = true
|
||||||
|
rayon = "1.10.0"
|
||||||
|
arrayvec = "0.7.4"
|
||||||
|
url = "2.5.0"
|
||||||
|
# explicitly disable http2
|
||||||
|
isahc = { version = "1.7.2", default-features = false, features = [
|
||||||
|
"static-curl",
|
||||||
|
"text-decoding",
|
||||||
|
] }
|
||||||
|
|
||||||
# [target.'cfg(windows)'.dependencies]
|
# [target.'cfg(windows)'.dependencies]
|
||||||
# tendril = "0.4.3"
|
# tendril = "0.4.3"
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
use crate::ResultExt;
|
|
||||||
use tokio::fs;
|
use tokio::fs;
|
||||||
use tokio_stream::{wrappers::ReadDirStream, StreamExt};
|
|
||||||
|
|
||||||
/// Removes all files and directories matching the given predicate
|
/// Removes all files and directories matching the given predicate
|
||||||
pub async fn remove_matching<F>(dir: &Path, predicate: F) -> std::io::Result<()>
|
pub async fn remove_matching<F>(dir: &Path, predicate: F) -> std::io::Result<()>
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
pub mod github;
|
|
||||||
|
|
||||||
pub use anyhow::{anyhow, Result};
|
pub use anyhow::{anyhow, Result};
|
||||||
use futures::future::BoxFuture;
|
use futures::future::{BoxFuture, FutureExt};
|
||||||
use futures_lite::FutureExt;
|
|
||||||
use isahc::config::{Configurable, RedirectPolicy};
|
use isahc::config::{Configurable, RedirectPolicy};
|
||||||
pub use isahc::{
|
pub use isahc::{
|
||||||
http::{Method, StatusCode, Uri},
|
http::{Method, StatusCode, Uri},
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
pub mod arc_cow;
|
pub mod arc_cow;
|
||||||
|
pub mod http;
|
||||||
pub mod fs;
|
pub mod fs;
|
||||||
pub mod paths;
|
pub mod paths;
|
||||||
pub mod serde;
|
pub mod serde;
|
||||||
|
|
490
flake.lock
490
flake.lock
|
@ -1,63 +1,137 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"crane": {
|
"cachix": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"devenv": "devenv_2",
|
||||||
|
"flake-compat": [
|
||||||
|
"devenv",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"devenv",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pre-commit-hooks": [
|
||||||
|
"devenv",
|
||||||
|
"pre-commit-hooks"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1699217310,
|
"lastModified": 1712055811,
|
||||||
"narHash": "sha256-xpW3VFUG7yE6UE6Wl0dhqencuENSkV7qpnpe9I8VbPw=",
|
"narHash": "sha256-7FcfMm5A/f02yyzuavJe06zLa9hcMHsagE28ADcmQvk=",
|
||||||
"owner": "ipetkov",
|
"owner": "cachix",
|
||||||
"repo": "crane",
|
"repo": "cachix",
|
||||||
"rev": "d535642bbe6f377077f7c23f0febb78b1463f449",
|
"rev": "02e38da89851ec7fec3356a5c04bc8349cae0e30",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "ipetkov",
|
"owner": "cachix",
|
||||||
"ref": "v0.15.0",
|
"repo": "cachix",
|
||||||
"repo": "crane",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"devshell": {
|
"crane": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713532798,
|
"lastModified": 1715274763,
|
||||||
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
|
"narHash": "sha256-3Iv1PGHJn9sV3HO4FlOVaaztOxa9uGLfOmUWrH7v7+A=",
|
||||||
"owner": "numtide",
|
"owner": "ipetkov",
|
||||||
"repo": "devshell",
|
"repo": "crane",
|
||||||
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
|
"rev": "27025ab71bdca30e7ed0a16c88fd74c5970fc7f5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "numtide",
|
"owner": "ipetkov",
|
||||||
"repo": "devshell",
|
"repo": "crane",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dream2nix": {
|
"devenv": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"cachix": "cachix",
|
||||||
"nci",
|
"flake-compat": "flake-compat_2",
|
||||||
"nixpkgs"
|
"nix": "nix_2",
|
||||||
],
|
"nixpkgs": "nixpkgs_2",
|
||||||
"purescript-overlay": "purescript-overlay",
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
"pyproject-nix": "pyproject-nix"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715517859,
|
"lastModified": 1715593316,
|
||||||
"narHash": "sha256-H/9fwzjwRRELLL8egvJfNB6ebEQo+j3p1qddbbzKego=",
|
"narHash": "sha256-S7XatU9uV3q9bVBcg/ER0VMQcnPZprrVlN209ne7LDw=",
|
||||||
"owner": "nix-community",
|
"owner": "cachix",
|
||||||
"repo": "dream2nix",
|
"repo": "devenv",
|
||||||
"rev": "1a4df0e94f273b10834a6701c58d5f1742d26936",
|
"rev": "725c90407ef53cc2a1b53701c6d2d0745cf2484f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "cachix",
|
||||||
"repo": "dream2nix",
|
"repo": "devenv",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"devenv_2": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"devenv",
|
||||||
|
"cachix",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"nix": "nix",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"poetry2nix": "poetry2nix",
|
||||||
|
"pre-commit-hooks": [
|
||||||
|
"devenv",
|
||||||
|
"cachix",
|
||||||
|
"pre-commit-hooks"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1708704632,
|
||||||
|
"narHash": "sha256-w+dOIW60FKMaHI1q5714CSibk99JfYxm0CzTinYWr+Q=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "devenv",
|
||||||
|
"rev": "2ee4450b0f4b95a1b90f2eb5ffea98b90e48c196",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"ref": "python-rewrite",
|
||||||
|
"repo": "devenv",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1673956053,
|
||||||
|
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -84,11 +158,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701680307,
|
"lastModified": 1689068808,
|
||||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -101,6 +175,24 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710146030,
|
||||||
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_3": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_3"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705309234,
|
"lastModified": 1705309234,
|
||||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||||
|
@ -115,58 +207,117 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mk-naked-shell": {
|
"gitignore": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"devenv",
|
||||||
|
"pre-commit-hooks",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681286841,
|
"lastModified": 1709087332,
|
||||||
"narHash": "sha256-3XlJrwlR0nBiREnuogoa5i1b4+w/XPe0z8bbrJASw0g=",
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
"owner": "yusdacra",
|
"owner": "hercules-ci",
|
||||||
"repo": "mk-naked-shell",
|
"repo": "gitignore.nix",
|
||||||
"rev": "7612f828dd6f22b7fb332cc69440e839d7ffe6bd",
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "yusdacra",
|
"owner": "hercules-ci",
|
||||||
"repo": "mk-naked-shell",
|
"repo": "gitignore.nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nci": {
|
"nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"flake-compat": "flake-compat",
|
||||||
"dream2nix": "dream2nix",
|
"nixpkgs": [
|
||||||
"mk-naked-shell": "mk-naked-shell",
|
"devenv",
|
||||||
"nixpkgs": "nixpkgs",
|
"cachix",
|
||||||
"parts": "parts",
|
"devenv",
|
||||||
"rust-overlay": "rust-overlay",
|
"nixpkgs"
|
||||||
"treefmt": "treefmt"
|
],
|
||||||
|
"nixpkgs-regression": "nixpkgs-regression"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715580775,
|
"lastModified": 1712911606,
|
||||||
"narHash": "sha256-QpSLFjV4k3+ZJ62UXavuyq3U4Ag/6bC2eqr6claEu+w=",
|
"narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
|
||||||
"owner": "yusdacra",
|
"owner": "domenkozar",
|
||||||
"repo": "nix-cargo-integration",
|
"repo": "nix",
|
||||||
"rev": "a51105224b29a488ae5ae17f5c8752901de9b56a",
|
"rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "yusdacra",
|
"owner": "domenkozar",
|
||||||
"repo": "nix-cargo-integration",
|
"ref": "devenv-2.21",
|
||||||
|
"repo": "nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-github-actions": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"devenv",
|
||||||
|
"cachix",
|
||||||
|
"devenv",
|
||||||
|
"poetry2nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1688870561,
|
||||||
|
"narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"rev": "165b1650b753316aa7f1787f3005a8d2da0f5301",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix_2": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"devenv",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"devenv",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-regression": "nixpkgs-regression_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712911606,
|
||||||
|
"narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
|
||||||
|
"owner": "domenkozar",
|
||||||
|
"repo": "nix",
|
||||||
|
"rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "domenkozar",
|
||||||
|
"ref": "devenv-2.21",
|
||||||
|
"repo": "nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715447595,
|
"lastModified": 1692808169,
|
||||||
"narHash": "sha256-VsVAUQOj/cS1LCOmMjAGeRksXIAdPnFIjCQ0XLkCsT0=",
|
"narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "062ca2a9370a27a35c524dc82d540e6e9824b652",
|
"rev": "9201b5ff357e781bf014d0330d18555695df7ba8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -183,7 +334,71 @@
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-regression": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1643052045,
|
||||||
|
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-regression_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1643052045,
|
||||||
|
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710695816,
|
||||||
|
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-23.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1713361204,
|
||||||
|
"narHash": "sha256-TA6EDunWTkc5FvDCqU3W2T3SFn0gRZqh6D/hJnM02MM=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "devenv-nixpkgs",
|
||||||
|
"rev": "285676e87ad9f0ca23d8714a6ab61e7e027020c6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"ref": "rolling",
|
||||||
|
"repo": "devenv-nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715530780,
|
"lastModified": 1715530780,
|
||||||
"narHash": "sha256-bBz4/T/zBzv9Xi5XUlFDeosmSNppLaCQTizMKSksAvk=",
|
"narHash": "sha256-bBz4/T/zBzv9Xi5XUlFDeosmSNppLaCQTizMKSksAvk=",
|
||||||
|
@ -199,7 +414,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706487304,
|
"lastModified": 1706487304,
|
||||||
"narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
|
"narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
|
||||||
|
@ -215,7 +430,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1708475490,
|
"lastModified": 1708475490,
|
||||||
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
|
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
|
||||||
|
@ -231,97 +446,73 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"parts": {
|
"poetry2nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"flake-utils": "flake-utils",
|
||||||
"nci",
|
"nix-github-actions": "nix-github-actions",
|
||||||
|
"nixpkgs": [
|
||||||
|
"devenv",
|
||||||
|
"cachix",
|
||||||
|
"devenv",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714641030,
|
"lastModified": 1692876271,
|
||||||
"narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=",
|
"narHash": "sha256-IXfZEkI0Mal5y1jr6IRWMqK8GW2/f28xJenZIPQqkY0=",
|
||||||
"owner": "hercules-ci",
|
"owner": "nix-community",
|
||||||
"repo": "flake-parts",
|
"repo": "poetry2nix",
|
||||||
"rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e",
|
"rev": "d5006be9c2c2417dafb2e2e5034d83fabd207ee3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "nix-community",
|
||||||
"repo": "flake-parts",
|
"repo": "poetry2nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"purescript-overlay": {
|
"pre-commit-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"devenv",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"gitignore": "gitignore",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nci",
|
"devenv",
|
||||||
"dream2nix",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"slimlock": "slimlock"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696022621,
|
"lastModified": 1713775815,
|
||||||
"narHash": "sha256-eMjFmsj2G1E0Q5XiibUNgFjTiSz0GxIeSSzzVdoN730=",
|
"narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=",
|
||||||
"owner": "thomashoneyman",
|
"owner": "cachix",
|
||||||
"repo": "purescript-overlay",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"rev": "047c7933abd6da8aa239904422e22d190ce55ead",
|
"rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "thomashoneyman",
|
"owner": "cachix",
|
||||||
"repo": "purescript-overlay",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pyproject-nix": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1702448246,
|
|
||||||
"narHash": "sha256-hFg5s/hoJFv7tDpiGvEvXP0UfFvFEDgTdyHIjDVHu1I=",
|
|
||||||
"owner": "davhau",
|
|
||||||
"repo": "pyproject.nix",
|
|
||||||
"rev": "5a06a2697b228c04dd2f35659b4b659ca74f7aeb",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "davhau",
|
|
||||||
"ref": "dream2nix",
|
|
||||||
"repo": "pyproject.nix",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"crane": "crane",
|
||||||
|
"devenv": "devenv",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nci": "nci",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"rust-overlay": "rust-overlay",
|
||||||
"rust-overlay": "rust-overlay_2",
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1715566659,
|
|
||||||
"narHash": "sha256-OpI0TnN+uE0vvxjPStlTzf5RTohIXVSMwrP9NEgMtaY=",
|
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"rev": "6c465248316cd31502c82f81f1a3acf2d621b01c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rust-overlay_2": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_3",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715566659,
|
"lastModified": 1715566659,
|
||||||
|
@ -337,29 +528,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"slimlock": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nci",
|
|
||||||
"dream2nix",
|
|
||||||
"purescript-overlay",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1688610262,
|
|
||||||
"narHash": "sha256-Wg0ViDotFWGWqKIQzyYCgayeH8s4U1OZcTiWTQYdAp4=",
|
|
||||||
"owner": "thomashoneyman",
|
|
||||||
"repo": "slimlock",
|
|
||||||
"rev": "b5c6cdcaf636ebbebd0a1f32520929394493f1a6",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "thomashoneyman",
|
|
||||||
"repo": "slimlock",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
@ -390,30 +558,24 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt": {
|
"systems_3": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nci",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714058656,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
"owner": "numtide",
|
"owner": "nix-systems",
|
||||||
"repo": "treefmt-nix",
|
"repo": "default",
|
||||||
"rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f",
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "numtide",
|
"owner": "nix-systems",
|
||||||
"repo": "treefmt-nix",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714058656,
|
"lastModified": 1714058656,
|
||||||
|
|
97
flake.nix
97
flake.nix
|
@ -1,76 +1,75 @@
|
||||||
{
|
{
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
devenv.url = "github:cachix/devenv";
|
||||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
treefmt-nix.url = "github:numtide/treefmt-nix";
|
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||||
nci.url = "github:yusdacra/nix-cargo-integration";
|
crane.url = "github:ipetkov/crane";
|
||||||
devshell = {
|
crane.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
url = "github:numtide/devshell";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixConfig = {
|
nixConfig = {
|
||||||
extra-trusted-public-keys =
|
extra-trusted-public-keys = [
|
||||||
[ "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" ];
|
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
|
||||||
extra-substituters = [ "https://devenv.cachix.org" ];
|
"surrealdb.cachix.org-1:rbm7Qs+s36pxbfk9jhIa5HRld6gZ63koZz1h/9sSxaA="
|
||||||
|
];
|
||||||
|
extra-substituters =
|
||||||
|
[ "https://devenv.cachix.org" "https://surrealdb.cachix.org" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-parts, ... }@inputs:
|
outputs = { flake-parts, ... }@inputs:
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
imports = [
|
imports = [ inputs.devenv.flakeModule inputs.treefmt-nix.flakeModule ];
|
||||||
inputs.devshell.flakeModule
|
|
||||||
inputs.treefmt-nix.flakeModule
|
|
||||||
inputs.nci.flakeModule
|
|
||||||
];
|
|
||||||
systems = inputs.nixpkgs.lib.systems.flakeExposed;
|
systems = inputs.nixpkgs.lib.systems.flakeExposed;
|
||||||
perSystem = { config, pkgs, ... }: rec {
|
perSystem = { config, pkgs, system, ... }: {
|
||||||
|
_module.args.pkgs = import inputs.nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
overlays = [ inputs.rust-overlay.overlays.default ];
|
||||||
|
};
|
||||||
|
|
||||||
treefmt = {
|
treefmt = {
|
||||||
|
package = pkgs.treefmt;
|
||||||
programs = {
|
programs = {
|
||||||
|
leptosfmt.enable = true;
|
||||||
|
prettier.enable = true;
|
||||||
nixfmt-rfc-style.enable = true;
|
nixfmt-rfc-style.enable = true;
|
||||||
rustfmt.enable = true;
|
rustfmt.enable = true;
|
||||||
};
|
};
|
||||||
projectRootFile = ./flake.nix;
|
projectRootFile = ./flake.nix;
|
||||||
};
|
};
|
||||||
|
|
||||||
nci.projects."nite".path = ./.;
|
devenv.shells.default = rec {
|
||||||
nci.crates."nite" = { };
|
packages = with pkgs; [
|
||||||
|
pkg-config
|
||||||
|
fontconfig.dev
|
||||||
|
freetype.dev
|
||||||
|
openssl
|
||||||
|
|
||||||
packages = config.nci.outputs."nite".packages.release;
|
# If on x11
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXcursor
|
||||||
|
xorg.libXi
|
||||||
|
xorg.libXrandr
|
||||||
|
# If on wayland
|
||||||
|
libxkbcommon
|
||||||
|
wayland
|
||||||
|
|
||||||
devshells.default = let
|
vulkan-tools
|
||||||
zcommands = [ "ar" "cc" "c++" ];
|
vulkan-headers
|
||||||
zcc = pkgs.writeShellScriptBin "zcc" ''
|
vulkan-validation-layers
|
||||||
zig cc $@
|
vulkan-loader
|
||||||
'';
|
udev
|
||||||
|
|
||||||
libs = with pkgs; [ fontconfig freetype ];
|
|
||||||
in {
|
|
||||||
imports = [ (inputs.devshell + "/extra/language/c.nix") ];
|
|
||||||
env = [{
|
|
||||||
name = "AR";
|
|
||||||
value = pkgs.writeShellScript "zar" ''
|
|
||||||
zig ar $@
|
|
||||||
'';
|
|
||||||
}];
|
|
||||||
|
|
||||||
devshell.name = "nite";
|
|
||||||
language.c.compiler = zcc;
|
|
||||||
language.c.includes = libs;
|
|
||||||
|
|
||||||
commands = [
|
|
||||||
{
|
|
||||||
help = "format the entire tree";
|
|
||||||
name = "format";
|
|
||||||
command = "${config.treefmt.build.wrapper}/bin/treefmt .";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
help = "launch the editor";
|
|
||||||
name = "nite";
|
|
||||||
command = "RUST_LOG=info,nite=trace cargo run";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
env.LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath packages;
|
||||||
|
|
||||||
|
scripts = {
|
||||||
|
fmt.exec = "${config.treefmt.build.wrapper}/bin/treefmt .";
|
||||||
|
nite.exec = "RUST_LOG=info,nite=trace,ming=trace cargo run";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue