Question: Project description Volume control applet for Pipewire, written in Rust. <!-- Describe the project a little: --Metadata homepage URL: source URL: license: mit, bsd, gpl2+ , ... platforms: unix, linux, darwin, ...

<ins> # This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 3 [[package]] name = "aho-corasick" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c" dependencies = [ "memchr", ] [[package]] name = "anyhow" version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" [[package]] name = "autocfg" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "bindgen" version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" dependencies = [ "bitflags 1.3.2", "cexpr", "clang-sys", "lazy_static", "lazycell", "peeking_take_while", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", "syn 1.0.109", ] [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" [[package]] name = "bitmaps" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" dependencies = [ "typenum", ] [[package]] name = "block" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "cairo-rs" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d859b656775a6b1dd078d3e5924884e6ea88aa649a7fdde03d5b2ec56ffcc10b" dependencies = [ "bitflags 2.3.3", "cairo-sys-rs", "glib", "libc", "once_cell", "thiserror", ] [[package]] name = "cairo-sys-rs" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd4d115132e01c0165e3bf5f56aedee8980b0b96ede4eb000b693c05a8adb8ff" dependencies = [ "glib-sys", "libc", "system-deps", ] [[package]] name = "cc" version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" dependencies = [ "libc", ] [[package]] name = "cexpr" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ "nom", ] [[package]] name = "cfg-expr" version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9" dependencies = [ "smallvec", "target-lexicon", ] [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clang-sys" version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" dependencies = [ "glob", "libc", ] [[package]] name = "convert_case" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" dependencies = [ "unicode-segmentation", ] [[package]] name = "cookie-factory" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b" [[package]] name = "equivalent" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "field-offset" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" dependencies = [ "memoffset 0.9.0", "rustc_version", ] [[package]] name = "futures" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", "futures-executor", "futures-io", "futures-sink", "futures-task", "futures-util", ] [[package]] name = "futures-channel" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", ] [[package]] name = "futures-core" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", "futures-util", ] [[package]] name = "futures-io" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-macro" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", "syn 2.0.28", ] [[package]] name = "futures-sink" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-util" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-channel", "futures-core", "futures-io", "futures-macro", "futures-sink", "futures-task", "memchr", "pin-project-lite", "pin-utils", "slab", ] [[package]] name = "gdk-pixbuf" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbc9c2ed73a81d556b65d08879ba4ee58808a6b1927ce915262185d6d547c6f3" dependencies = [ "gdk-pixbuf-sys", "gio", "glib", "libc", "once_cell", ] [[package]] name = "gdk-pixbuf-sys" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" dependencies = [ "gio-sys", "glib-sys", "gobject-sys", "libc", "system-deps", ] [[package]] name = "gdk4" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8965ed5455cbfa1eb45c14a3b971cbacb43481913a3a5b9078b2ef0d9a01bd4b" dependencies = [ "cairo-rs", "gdk-pixbuf", "gdk4-sys", "gio", "glib", "libc", "pango", ] [[package]] name = "gdk4-sys" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aeffd4a7d68046c28666d817071bf025254aaed4df35099443f0c306ca6177f3" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gio-sys", "glib-sys", "gobject-sys", "libc", "pango-sys", "pkg-config", "system-deps", ] [[package]] name = "gettext-rs" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364" dependencies = [ "gettext-sys", "locale_config", ] [[package]] name = "gettext-sys" version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d" dependencies = [ "cc", "temp-dir", ] [[package]] name = "gio" version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7884cba6b1c5db1607d970cadf44b14a43913d42bc68766eea6a5e2fe0891524" dependencies = [ "futures-channel", "futures-core", "futures-io", "futures-util", "gio-sys", "glib", "libc", "once_cell", "pin-project-lite", "smallvec", "thiserror", ] [[package]] name = "gio-sys" version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" dependencies = [ "glib-sys", "gobject-sys", "libc", "system-deps", "winapi", ] [[package]] name = "glib" version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "331156127e8166dd815cf8d2db3a5beb492610c716c03ee6db4f2d07092af0a7" dependencies = [ "bitflags 2.3.3", "futures-channel", "futures-core", "futures-executor", "futures-task", "futures-util", "gio-sys", "glib-macros", "glib-sys", "gobject-sys", "libc", "log", "memchr", "once_cell", "smallvec", "thiserror", ] [[package]] name = "glib-macros" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "179643c50bf28d20d2f6eacd2531a88f2f5d9747dd0b86b8af1e8bb5dd0de3c0" dependencies = [ "heck", "proc-macro-crate", "proc-macro-error", "proc-macro2", "quote", "syn 2.0.28", ] [[package]] name = "glib-sys" version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" dependencies = [ "libc", "system-deps", ] [[package]] name = "glob" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "gobject-sys" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" dependencies = [ "glib-sys", "libc", "system-deps", ] [[package]] name = "graphene-rs" version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401" dependencies = [ "glib", "graphene-sys", "libc", ] [[package]] name = "graphene-sys" version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59" dependencies = [ "glib-sys", "libc", "pkg-config", "system-deps", ] [[package]] name = "gsk4" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53b3b9e8090acb325d08cde84b30fc29b963a75fbac93160e9c5a30d2b335742" dependencies = [ "cairo-rs", "gdk4", "glib", "graphene-rs", "gsk4-sys", "libc", "pango", ] [[package]] name = "gsk4-sys" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0770d1ede7189092748c4ef5b6921264eb945fd2318a58e8f59dc273000810f8" dependencies = [ "cairo-sys-rs", "gdk4-sys", "glib-sys", "gobject-sys", "graphene-sys", "libc", "pango-sys", "system-deps", ] [[package]] name = "gtk4" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0973f9b9ade10fc22403810b7283d47b533033715f2aaa36288cd3bf90d63efc" dependencies = [ "cairo-rs", "field-offset", "futures-channel", "gdk-pixbuf", "gdk4", "gio", "glib", "graphene-rs", "gsk4", "gtk4-macros", "gtk4-sys", "libc", "pango", ] [[package]] name = "gtk4-macros" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae9f2c4530f3168fe506b0be7bc15f7a93ef38d020edb27d81a921a26cbca851" dependencies = [ "anyhow", "proc-macro-crate", "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", ] [[package]] name = "gtk4-sys" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19fde71ef2e78ac8fb18073c345b5f29609048d4045a345613645aa1163243c1" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gdk4-sys", "gio-sys", "glib-sys", "gobject-sys", "graphene-sys", "gsk4-sys", "libc", "pango-sys", "system-deps", ] [[package]] name = "hashbrown" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" [[package]] name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "im-rc" version = "15.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" dependencies = [ "bitmaps", "rand_core", "rand_xoshiro", "sized-chunks", "typenum", "version_check", ] [[package]] name = "indexmap" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" dependencies = [ "equivalent", "hashbrown", ] [[package]] name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "lazycell" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libadwaita" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06444f4ca05a60693da6e9e2b591bd40a298e65a118a8d5e830771718b3e0253" dependencies = [ "gdk-pixbuf", "gdk4", "gio", "glib", "gtk4", "libadwaita-sys", "libc", "pango", ] [[package]] name = "libadwaita-sys" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "021cfe3d1fcfa82411765a791f7e9b32f35dd98ce88d2e3fa10e7320f5cc8ce7" dependencies = [ "gdk4-sys", "gio-sys", "glib-sys", "gobject-sys", "gtk4-sys", "libc", "pango-sys", "system-deps", ] [[package]] name = "libc" version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "libspa" version = "0.6.0" source = "git+https://gitlab.freedesktop.org/saivert/pipewire-rs?branch=misc_fixes#46bfbd8bdf0ad3ff1d25d02b2e36f97333c78e23" dependencies = [ "bitflags 2.3.3", "cc", "convert_case", "cookie-factory", "libc", "libspa-sys", "nix", "nom", "system-deps", ] [[package]] name = "libspa-sys" version = "0.6.0" source = "git+https://gitlab.freedesktop.org/saivert/pipewire-rs?branch=misc_fixes#46bfbd8bdf0ad3ff1d25d02b2e36f97333c78e23" dependencies = [ "bindgen", "cc", "system-deps", ] [[package]] name = "locale_config" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934" dependencies = [ "lazy_static", "objc", "objc-foundation", "regex", "winapi", ] [[package]] name = "log" version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" [[package]] name = "malloc_buf" version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" dependencies = [ "libc", ] [[package]] name = "memchr" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memoffset" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ "autocfg", ] [[package]] name = "memoffset" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ "autocfg", ] [[package]] name = "minimal-lexical" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "nix" version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.7.1", "pin-utils", "static_assertions", ] [[package]] name = "nom" version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", ] [[package]] name = "objc" version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", ] [[package]] name = "objc-foundation" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" dependencies = [ "block", "objc", "objc_id", ] [[package]] name = "objc_id" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" dependencies = [ "objc", ] [[package]] name = "once_cell" version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "pango" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06a9e54b831d033206160096b825f2070cf5fda7e35167b1c01e9e774f9202d1" dependencies = [ "gio", "glib", "libc", "once_cell", "pango-sys", ] [[package]] name = "pango-sys" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" dependencies = [ "glib-sys", "gobject-sys", "libc", "system-deps", ] [[package]] name = "peeking_take_while" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "pin-project-lite" version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" [[package]] name = "pin-utils" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pipewire" version = "0.6.0" source = "git+https://gitlab.freedesktop.org/saivert/pipewire-rs?branch=misc_fixes#46bfbd8bdf0ad3ff1d25d02b2e36f97333c78e23" dependencies = [ "anyhow", "bitflags 2.3.3", "libc", "libspa", "libspa-sys", "nix", "once_cell", "pipewire-sys", "thiserror", ] [[package]] name = "pipewire-sys" version = "0.6.0" source = "git+https://gitlab.freedesktop.org/saivert/pipewire-rs?branch=misc_fixes#46bfbd8bdf0ad3ff1d25d02b2e36f97333c78e23" dependencies = [ "bindgen", "libspa-sys", "system-deps", ] [[package]] name = "pkg-config" version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "proc-macro-crate" version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", "toml_edit", ] [[package]] name = "proc-macro-error" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", "syn 1.0.109", "version_check", ] [[package]] name = "proc-macro-error-attr" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ "proc-macro2", "quote", "version_check", ] [[package]] name = "proc-macro2" version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] [[package]] name = "pwvucontrol" version = "0.1.0" dependencies = [ "anyhow", "futures", "gettext-rs", "glib", "gtk4", "im-rc", "libadwaita", "log", "once_cell", "pipewire", "wireplumber", ] [[package]] name = "quote" version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] [[package]] name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" [[package]] name = "rand_xoshiro" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" dependencies = [ "rand_core", ] [[package]] name = "regex" version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" dependencies = [ "aho-corasick", "memchr", "regex-automata", "regex-syntax", ] [[package]] name = "regex-automata" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" dependencies = [ "aho-corasick", "memchr", "regex-syntax", ] [[package]] name = "regex-syntax" version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "rustc-hash" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ "semver", ] [[package]] name = "semver" version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" [[package]] name = "serde" version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" [[package]] name = "serde_spanned" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" dependencies = [ "serde", ] [[package]] name = "shlex" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "sized-chunks" version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" dependencies = [ "bitmaps", "typenum", ] [[package]] name = "slab" version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] [[package]] name = "smallvec" version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "static_assertions" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "syn" version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[package]] name = "syn" version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[package]] name = "system-deps" version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3" dependencies = [ "cfg-expr", "heck", "pkg-config", "toml", "version-compare", ] [[package]] name = "target-lexicon" version = "0.12.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" [[package]] name = "temp-dir" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab" [[package]] name = "thiserror" version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ "proc-macro2", "quote", "syn 2.0.28", ] [[package]] name = "toml" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" dependencies = [ "serde", "serde_spanned", "toml_datetime", "toml_edit", ] [[package]] name = "toml_datetime" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" dependencies = [ "serde", ] [[package]] name = "toml_edit" version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ "indexmap", "serde", "serde_spanned", "toml_datetime", "winnow", ] [[package]] name = "typenum" version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "unicode-ident" version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-segmentation" version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "version-compare" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "winapi" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ "winapi-i686-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu", ] [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "winnow" version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acaaa1190073b2b101e15083c38ee8ec891b5e05cbee516521e94ec008f61e64" dependencies = [ "memchr", ] [[package]] name = "wireplumber" version = "0.1.0" source = "git+https://github.com/saivert/wireplumber.rs.git?branch=use_pipewire_from_git#8dbf383ce54dee7b8d578b87c13f3507a65291f8" dependencies = [ "bitflags 1.3.2", "gio", "glib", "libc", "libspa-sys", "pipewire-sys", "pkg-config", "semver", "wireplumber-sys", ] [[package]] name = "wireplumber-sys" version = "0.1.0" source = "git+https://github.com/saivert/wireplumber.rs.git?branch=use_pipewire_from_git#8dbf383ce54dee7b8d578b87c13f3507a65291f8" dependencies = [ "gio-sys", "glib-sys", "gobject-sys", "libc", "libspa-sys", "pipewire-sys", "system-deps", ] </ins>


Question: Project description Volume control applet for Pipewire, written in Rust. <!-- Describe the project a little: --Metadata homepage URL: source URL: license: mit, bsd, gpl2+ , ... platforms: unix, linux, darwin, ...

<ins> { lib , stdenv , fetchFromGitHub , cargo , desktop-file-utils , meson , ninja , pkg-config , rustPlatform , rustc , wrapGAppsHook4 , cairo , gdk-pixbuf , glib , gtk4 , libadwaita , pango , pipewire , wireplumber }: stdenv.mkDerivation rec { pname = "pwvucontrol"; version = "0.2"; src = fetchFromGitHub { owner = "saivert"; repo = "pwvucontrol"; rev = version; hash = "sha256-jBvMLewBZi4LyX//YUyJQjqPvxnKqlpuLZAm9zpDMrA="; }; cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; outputHashes = { "libspa-0.6.0" = "sha256-CVLQ9JXRMo78/kay1TpRgRuk5v/Z5puPVMzLA30JRk8="; "wireplumber-0.1.0" = "sha256-wkku9vqIMdV+HTkWCPXKH2KM1Xzf0xApC5zrVmgxhsA="; }; }; nativeBuildInputs = [ cargo desktop-file-utils meson ninja pkg-config rustPlatform.bindgenHook rustPlatform.cargoSetupHook rustc wrapGAppsHook4 ]; buildInputs = [ cairo gdk-pixbuf glib gtk4 libadwaita pango pipewire wireplumber ]; meta = with lib; { description = "Pipewire Volume Control"; homepage = "https://github.com/saivert/pwvucontrol"; license = licenses.gpl3Plus; maintainers = with maintainers; [ figsoda ]; mainProgram = "pwvucontrol"; platforms = platforms.linux; }; } </ins>


Question: Project description Volume control applet for Pipewire, written in Rust. <!-- Describe the project a little: --Metadata homepage URL: source URL: license: mit, bsd, gpl2+ , ... platforms: unix, linux, darwin, ...

pwdsafety = callPackage ../tools/security/pwdsafety { }; <ins> pwvucontrol = callPackage ../applications/audio/pwvucontrol { }; </ins> pyload-ng = callPackage ../applications/networking/pyload-ng {}; pyrosimple = callPackage ../applications/networking/p2p/pyrosimple { };


Question: Package name: cava Latest released version: 0.9.1 <!-- Search your package here: --- Current version on the unstable channel: 0.9.0 Current version on the stable/release channel: 0.8.3 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

<del> { lib, stdenv, fetchFromGitHub, autoreconfHook, alsa-lib, fftw, libpulseaudio, ncurses, iniparser }: </del> <ins> { lib , stdenv , fetchFromGitHub , autoreconfHook , alsa-lib , fftw , iniparser , libpulseaudio , ncurses , pkgconf }: </ins> stdenv.mkDerivation rec { pname = "cava"; <del> version = "0.9.0"; </del> <ins> version = "0.9.1"; src = fetchFromGitHub { owner = "karlstav"; repo = "cava"; rev = version; hash = "sha256-W/2B9iTcO2F2vHQzcbg/6pYBwe+rRNfADdOiw4NY9Jk="; }; </ins> buildInputs = [ alsa-lib


Question: Package name: cava Latest released version: 0.9.1 <!-- Search your package here: --- Current version on the unstable channel: 0.9.0 Current version on the stable/release channel: 0.8.3 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

iniparser ]; <del> src = fetchFromGitHub { owner = "karlstav"; repo = "cava"; rev = version; sha256 = "sha256-mIgkvgVcbRdE29lSLojIzIsnwZgnQ+B2sgScDWrLyd8="; }; </del> <ins> nativeBuildInputs = [ autoreconfHook pkgconf ]; </ins> <del> nativeBuildInputs = [ autoreconfHook ]; </del> <ins> preAutoreconf = '' echo ${version} > version ''; </ins> meta = with lib; { description = "Console-based Audio Visualizer for Alsa";


Question:
NixOS on boot loops waiting for devices with wrong names. According to device paths are split by ":", but for some persistent block device names we have ":" in valid paths. The boot is stuck trying to load: Steps to reproduce the behavior: NixOS using /dev/disk/by-path devices boot waiting loop Boot without waiting for nonexistant devices ! Please run and paste the result.
This is a recent phenomenon I've experienced a few times, on bcachefs. I'm not entirely sure why this happens, but since Linux 6.4.8 I believe, I haven't had this issue. There are two reasons why this could happen AFAIK: is messed up between the linux kernel and stage-1. needs to have all the devices loaded before trying to mount multiple. That's the best I have ATM. Current nix-info for reference: system: host os: multi-user?: sandbox: version: channels(mado): channels(root): nixpkgs:
I should also clarify in my case that it was a breaking bug, where I would have to reboot because one of the devices never loaded and would drop me into an error, until it worked.
it seems like you're describing a different issue with bcachefs and multiple devices separated by . This bug, as far as I understand, is about non-bcachefs block device paths that contain incidentally (not as a multi-device delimiter). I'd suggest filing a separate issue for your problem.
(But as the author of the change that introduced that behavior - - I suspect you might want to be involved here regardless :P)
My bad, the usual bad reading comprehension and I didn't look at the paths that were listed closely enough. I would suggest, if possible, using something like instead until this is fixed. As for the fix, while it would break the use-case of colon-separated if it is the aforementioned path.
This should be considered a bug. There are a lot of paths in that have colons in their name (including RAID UUID devices). Requiring users to know that devices with colons in their name are treated special is unreasonable, especially if it's not documented. If bcachefs requires this then I think we need a new configuration option or the stage 1 function needs to be extended so it considers the file system type before setting .
IMO, we should get rid of it for bcachefs (it's only use) and just use the new ` mechanism.
I don't use bcachefs so I don't know what the mechanism is. Is it safe to simply revert your patch to ?
Unfortunately no, because many people's auto-generated configs still use the ':' separator. It's something I think we'll have to do at some point though. I think the better option may be to omit a warning if it's being used (i.e: using bcachefs) until 24.05, backport that to 23.11, and remove it in 24.05.
I would suggest that we change the function to take an optional second argument, the file system type. If that argument is set and it is set to "" then (and only then) do we set . Of course, this only works if the auto-generated configs correctly set the file system type. Can you point me to the commit where you changed the auto-generation process?
Should be fixed in

- `screen`'s module has been cleaned, and will now require you to set `programs.screen.enable` in order to populate `screenrc` and add the program to the environment. <del> - `linuxPackages_testing_bcachefs` is now fully deprecated by `linuxPackages_testing`, and is therefore no longer available. </del> <ins> - `linuxPackages_testing_bcachefs` is now fully deprecated by `linuxPackages_latest`, and is therefore no longer available. </ins> - NixOS now installs a stub ELF loader that prints an informative error message when users attempt to run binaries not made for NixOS. - This can be disabled through the `environment.stub-ld.enable` option.


Question:
NixOS on boot loops waiting for devices with wrong names. According to device paths are split by ":", but for some persistent block device names we have ":" in valid paths. The boot is stuck trying to load: Steps to reproduce the behavior: NixOS using /dev/disk/by-path devices boot waiting loop Boot without waiting for nonexistant devices ! Please run and paste the result.
This is a recent phenomenon I've experienced a few times, on bcachefs. I'm not entirely sure why this happens, but since Linux 6.4.8 I believe, I haven't had this issue. There are two reasons why this could happen AFAIK: is messed up between the linux kernel and stage-1. needs to have all the devices loaded before trying to mount multiple. That's the best I have ATM. Current nix-info for reference: system: host os: multi-user?: sandbox: version: channels(mado): channels(root): nixpkgs:
I should also clarify in my case that it was a breaking bug, where I would have to reboot because one of the devices never loaded and would drop me into an error, until it worked.
it seems like you're describing a different issue with bcachefs and multiple devices separated by . This bug, as far as I understand, is about non-bcachefs block device paths that contain incidentally (not as a multi-device delimiter). I'd suggest filing a separate issue for your problem.
(But as the author of the change that introduced that behavior - - I suspect you might want to be involved here regardless :P)
My bad, the usual bad reading comprehension and I didn't look at the paths that were listed closely enough. I would suggest, if possible, using something like instead until this is fixed. As for the fix, while it would break the use-case of colon-separated if it is the aforementioned path.
This should be considered a bug. There are a lot of paths in that have colons in their name (including RAID UUID devices). Requiring users to know that devices with colons in their name are treated special is unreasonable, especially if it's not documented. If bcachefs requires this then I think we need a new configuration option or the stage 1 function needs to be extended so it considers the file system type before setting .
IMO, we should get rid of it for bcachefs (it's only use) and just use the new ` mechanism.
I don't use bcachefs so I don't know what the mechanism is. Is it safe to simply revert your patch to ?
Unfortunately no, because many people's auto-generated configs still use the ':' separator. It's something I think we'll have to do at some point though. I think the better option may be to omit a warning if it's being used (i.e: using bcachefs) until 24.05, backport that to 23.11, and remove it in 24.05.
I would suggest that we change the function to take an optional second argument, the file system type. If that argument is set and it is set to "" then (and only then) do we set . Of course, this only works if the auto-generated configs correctly set the file system type. Can you point me to the commit where you changed the auto-generation process?
Should be fixed in

# Function for waiting for device(s) to appear. waitDevice() { local device="$1" <del> # Split device string using ':' as a delimiter as bcachefs # uses this for multi-device filesystems, i.e. /dev/sda1:/dev/sda2:/dev/sda3 local IFS=':' </del> <ins> # Split device string using ':' as a delimiter, bcachefs uses # this for multi-device filesystems, i.e. /dev/sda1:/dev/sda2:/dev/sda3 local IFS # bcachefs is the only known use for this at the moment # Preferably, the 'UUID=' syntax should be enforced, but # this is kept for compatibility reasons if [ "$fsType" = bcachefs ]; then IFS=':'; fi </ins> # USB storage devices tend to appear with some delay.  It would be # great if we had a way to synchronously wait for them, but


Question:
NixOS on boot loops waiting for devices with wrong names. According to device paths are split by ":", but for some persistent block device names we have ":" in valid paths. The boot is stuck trying to load: Steps to reproduce the behavior: NixOS using /dev/disk/by-path devices boot waiting loop Boot without waiting for nonexistant devices ! Please run and paste the result.
This is a recent phenomenon I've experienced a few times, on bcachefs. I'm not entirely sure why this happens, but since Linux 6.4.8 I believe, I haven't had this issue. There are two reasons why this could happen AFAIK: is messed up between the linux kernel and stage-1. needs to have all the devices loaded before trying to mount multiple. That's the best I have ATM. Current nix-info for reference: system: host os: multi-user?: sandbox: version: channels(mado): channels(root): nixpkgs:
I should also clarify in my case that it was a breaking bug, where I would have to reboot because one of the devices never loaded and would drop me into an error, until it worked.
it seems like you're describing a different issue with bcachefs and multiple devices separated by . This bug, as far as I understand, is about non-bcachefs block device paths that contain incidentally (not as a multi-device delimiter). I'd suggest filing a separate issue for your problem.
(But as the author of the change that introduced that behavior - - I suspect you might want to be involved here regardless :P)
My bad, the usual bad reading comprehension and I didn't look at the paths that were listed closely enough. I would suggest, if possible, using something like instead until this is fixed. As for the fix, while it would break the use-case of colon-separated if it is the aforementioned path.
This should be considered a bug. There are a lot of paths in that have colons in their name (including RAID UUID devices). Requiring users to know that devices with colons in their name are treated special is unreasonable, especially if it's not documented. If bcachefs requires this then I think we need a new configuration option or the stage 1 function needs to be extended so it considers the file system type before setting .
IMO, we should get rid of it for bcachefs (it's only use) and just use the new ` mechanism.
I don't use bcachefs so I don't know what the mechanism is. Is it safe to simply revert your patch to ?
Unfortunately no, because many people's auto-generated configs still use the ':' separator. It's something I think we'll have to do at some point though. I think the better option may be to omit a warning if it's being used (i.e: using bcachefs) until 24.05, backport that to 23.11, and remove it in 24.05.
I would suggest that we change the function to take an optional second argument, the file system type. If that argument is set and it is set to "" then (and only then) do we set . Of course, this only works if the auto-generated configs correctly set the file system type. Can you point me to the commit where you changed the auto-generation process?
Should be fixed in

inherit assertions; # needed for systemd-remount-fs system.fsPackages = [ pkgs.bcachefs-tools ]; <del> # FIXME: Remove this line when the default kernel has bcachefs </del> <ins> # FIXME: Remove this line when the LTS (default) kernel is at least version 6.7 </ins> boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; <del> systemd.services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems); </del> <ins> services.udev.packages = [ pkgs.bcachefs-tools ]; systemd = { packages = [ pkgs.bcachefs-tools ]; services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems); }; </ins> } (lib.mkIf ((lib.elem "bcachefs" config.boot.initrd.supportedFilesystems) || (bootFs != {})) {


Question:
NixOS on boot loops waiting for devices with wrong names. According to device paths are split by ":", but for some persistent block device names we have ":" in valid paths. The boot is stuck trying to load: Steps to reproduce the behavior: NixOS using /dev/disk/by-path devices boot waiting loop Boot without waiting for nonexistant devices ! Please run and paste the result.
This is a recent phenomenon I've experienced a few times, on bcachefs. I'm not entirely sure why this happens, but since Linux 6.4.8 I believe, I haven't had this issue. There are two reasons why this could happen AFAIK: is messed up between the linux kernel and stage-1. needs to have all the devices loaded before trying to mount multiple. That's the best I have ATM. Current nix-info for reference: system: host os: multi-user?: sandbox: version: channels(mado): channels(root): nixpkgs:
I should also clarify in my case that it was a breaking bug, where I would have to reboot because one of the devices never loaded and would drop me into an error, until it worked.
it seems like you're describing a different issue with bcachefs and multiple devices separated by . This bug, as far as I understand, is about non-bcachefs block device paths that contain incidentally (not as a multi-device delimiter). I'd suggest filing a separate issue for your problem.
(But as the author of the change that introduced that behavior - - I suspect you might want to be involved here regardless :P)
My bad, the usual bad reading comprehension and I didn't look at the paths that were listed closely enough. I would suggest, if possible, using something like instead until this is fixed. As for the fix, while it would break the use-case of colon-separated if it is the aforementioned path.
This should be considered a bug. There are a lot of paths in that have colons in their name (including RAID UUID devices). Requiring users to know that devices with colons in their name are treated special is unreasonable, especially if it's not documented. If bcachefs requires this then I think we need a new configuration option or the stage 1 function needs to be extended so it considers the file system type before setting .
IMO, we should get rid of it for bcachefs (it's only use) and just use the new ` mechanism.
I don't use bcachefs so I don't know what the mechanism is. Is it safe to simply revert your patch to ?
Unfortunately no, because many people's auto-generated configs still use the ':' separator. It's something I think we'll have to do at some point though. I think the better option may be to omit a warning if it's being used (i.e: using bcachefs) until 24.05, backport that to 23.11, and remove it in 24.05.
I would suggest that we change the function to take an optional second argument, the file system type. If that argument is set and it is set to "" then (and only then) do we set . Of course, this only works if the auto-generated configs correctly set the file system type. Can you point me to the commit where you changed the auto-generation process?
Should be fixed in

, rustPlatform , makeWrapper , writeScript <ins> , python3 </ins> , fuseSupport ? false }:


Question:
NixOS on boot loops waiting for devices with wrong names. According to device paths are split by ":", but for some persistent block device names we have ":" in valid paths. The boot is stuck trying to load: Steps to reproduce the behavior: NixOS using /dev/disk/by-path devices boot waiting loop Boot without waiting for nonexistant devices ! Please run and paste the result.
This is a recent phenomenon I've experienced a few times, on bcachefs. I'm not entirely sure why this happens, but since Linux 6.4.8 I believe, I haven't had this issue. There are two reasons why this could happen AFAIK: is messed up between the linux kernel and stage-1. needs to have all the devices loaded before trying to mount multiple. That's the best I have ATM. Current nix-info for reference: system: host os: multi-user?: sandbox: version: channels(mado): channels(root): nixpkgs:
I should also clarify in my case that it was a breaking bug, where I would have to reboot because one of the devices never loaded and would drop me into an error, until it worked.
it seems like you're describing a different issue with bcachefs and multiple devices separated by . This bug, as far as I understand, is about non-bcachefs block device paths that contain incidentally (not as a multi-device delimiter). I'd suggest filing a separate issue for your problem.
(But as the author of the change that introduced that behavior - - I suspect you might want to be involved here regardless :P)
My bad, the usual bad reading comprehension and I didn't look at the paths that were listed closely enough. I would suggest, if possible, using something like instead until this is fixed. As for the fix, while it would break the use-case of colon-separated if it is the aforementioned path.
This should be considered a bug. There are a lot of paths in that have colons in their name (including RAID UUID devices). Requiring users to know that devices with colons in their name are treated special is unreasonable, especially if it's not documented. If bcachefs requires this then I think we need a new configuration option or the stage 1 function needs to be extended so it considers the file system type before setting .
IMO, we should get rid of it for bcachefs (it's only use) and just use the new ` mechanism.
I don't use bcachefs so I don't know what the mechanism is. Is it safe to simply revert your patch to ?
Unfortunately no, because many people's auto-generated configs still use the ':' separator. It's something I think we'll have to do at some point though. I think the better option may be to omit a warning if it's being used (i.e: using bcachefs) until 24.05, backport that to 23.11, and remove it in 24.05.
I would suggest that we change the function to take an optional second argument, the file system type. If that argument is set and it is set to "" then (and only then) do we set . Of course, this only works if the auto-generated configs correctly set the file system type. Can you point me to the commit where you changed the auto-generation process?
Should be fixed in

pname = "bcachefs-tools"; version = "1.4.1"; src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools";


Question:
NixOS on boot loops waiting for devices with wrong names. According to device paths are split by ":", but for some persistent block device names we have ":" in valid paths. The boot is stuck trying to load: Steps to reproduce the behavior: NixOS using /dev/disk/by-path devices boot waiting loop Boot without waiting for nonexistant devices ! Please run and paste the result.
This is a recent phenomenon I've experienced a few times, on bcachefs. I'm not entirely sure why this happens, but since Linux 6.4.8 I believe, I haven't had this issue. There are two reasons why this could happen AFAIK: is messed up between the linux kernel and stage-1. needs to have all the devices loaded before trying to mount multiple. That's the best I have ATM. Current nix-info for reference: system: host os: multi-user?: sandbox: version: channels(mado): channels(root): nixpkgs:
I should also clarify in my case that it was a breaking bug, where I would have to reboot because one of the devices never loaded and would drop me into an error, until it worked.
it seems like you're describing a different issue with bcachefs and multiple devices separated by . This bug, as far as I understand, is about non-bcachefs block device paths that contain incidentally (not as a multi-device delimiter). I'd suggest filing a separate issue for your problem.
(But as the author of the change that introduced that behavior - - I suspect you might want to be involved here regardless :P)
My bad, the usual bad reading comprehension and I didn't look at the paths that were listed closely enough. I would suggest, if possible, using something like instead until this is fixed. As for the fix, while it would break the use-case of colon-separated if it is the aforementioned path.
This should be considered a bug. There are a lot of paths in that have colons in their name (including RAID UUID devices). Requiring users to know that devices with colons in their name are treated special is unreasonable, especially if it's not documented. If bcachefs requires this then I think we need a new configuration option or the stage 1 function needs to be extended so it considers the file system type before setting .
IMO, we should get rid of it for bcachefs (it's only use) and just use the new ` mechanism.
I don't use bcachefs so I don't know what the mechanism is. Is it safe to simply revert your patch to ?
Unfortunately no, because many people's auto-generated configs still use the ':' separator. It's something I think we'll have to do at some point though. I think the better option may be to omit a warning if it's being used (i.e: using bcachefs) until 24.05, backport that to 23.11, and remove it in 24.05.
I would suggest that we change the function to take an optional second argument, the file system type. If that argument is set and it is set to "" then (and only then) do we set . Of course, this only works if the auto-generated configs correctly set the file system type. Can you point me to the commit where you changed the auto-generation process?
Should be fixed in

udev ] ++ lib.optional fuseSupport fuse3; <ins> # FIXME: Try enabling this once the default linux kernel is at least 6.7 </ins> doCheck = false; # needs bcachefs module loaded on builder checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ]; makeFlags = [ <del> "DESTDIR=${placeholder "out"}" "PREFIX=" </del> <ins> "PREFIX=${placeholder "out"}" </ins> "VERSION=${finalAttrs.version}" "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools" ];


Question:
NixOS on boot loops waiting for devices with wrong names. According to device paths are split by ":", but for some persistent block device names we have ":" in valid paths. The boot is stuck trying to load: Steps to reproduce the behavior: NixOS using /dev/disk/by-path devices boot waiting loop Boot without waiting for nonexistant devices ! Please run and paste the result.
This is a recent phenomenon I've experienced a few times, on bcachefs. I'm not entirely sure why this happens, but since Linux 6.4.8 I believe, I haven't had this issue. There are two reasons why this could happen AFAIK: is messed up between the linux kernel and stage-1. needs to have all the devices loaded before trying to mount multiple. That's the best I have ATM. Current nix-info for reference: system: host os: multi-user?: sandbox: version: channels(mado): channels(root): nixpkgs:
I should also clarify in my case that it was a breaking bug, where I would have to reboot because one of the devices never loaded and would drop me into an error, until it worked.
it seems like you're describing a different issue with bcachefs and multiple devices separated by . This bug, as far as I understand, is about non-bcachefs block device paths that contain incidentally (not as a multi-device delimiter). I'd suggest filing a separate issue for your problem.
(But as the author of the change that introduced that behavior - - I suspect you might want to be involved here regardless :P)
My bad, the usual bad reading comprehension and I didn't look at the paths that were listed closely enough. I would suggest, if possible, using something like instead until this is fixed. As for the fix, while it would break the use-case of colon-separated if it is the aforementioned path.
This should be considered a bug. There are a lot of paths in that have colons in their name (including RAID UUID devices). Requiring users to know that devices with colons in their name are treated special is unreasonable, especially if it's not documented. If bcachefs requires this then I think we need a new configuration option or the stage 1 function needs to be extended so it considers the file system type before setting .
IMO, we should get rid of it for bcachefs (it's only use) and just use the new ` mechanism.
I don't use bcachefs so I don't know what the mechanism is. Is it safe to simply revert your patch to ?
Unfortunately no, because many people's auto-generated configs still use the ':' separator. It's something I think we'll have to do at some point though. I think the better option may be to omit a warning if it's being used (i.e: using bcachefs) until 24.05, backport that to 23.11, and remove it in 24.05.
I would suggest that we change the function to take an optional second argument, the file system type. If that argument is set and it is set to "" then (and only then) do we set . Of course, this only works if the auto-generated configs correctly set the file system type. Can you point me to the commit where you changed the auto-generation process?
Should be fixed in

rm tests/test_fuse.py ''; <ins> # Tries to install to the 'systemd-minimal' and 'udev' nix installation paths installFlags = [ "PKGCONFIG_SERVICEDIR=$(out)/lib/systemd/system" "PKGCONFIG_UDEVDIR=$(out)/lib/udev" ]; postInstall = '' substituteInPlace $out/libexec/bcachefsck_all  --replace "/usr/bin/python3" "${python3}/bin/python3" ''; </ins> passthru = { tests = { smoke-test = nixosTests.bcachefs;


Question:
NixOS on boot loops waiting for devices with wrong names. According to device paths are split by ":", but for some persistent block device names we have ":" in valid paths. The boot is stuck trying to load: Steps to reproduce the behavior: NixOS using /dev/disk/by-path devices boot waiting loop Boot without waiting for nonexistant devices ! Please run and paste the result.
This is a recent phenomenon I've experienced a few times, on bcachefs. I'm not entirely sure why this happens, but since Linux 6.4.8 I believe, I haven't had this issue. There are two reasons why this could happen AFAIK: is messed up between the linux kernel and stage-1. needs to have all the devices loaded before trying to mount multiple. That's the best I have ATM. Current nix-info for reference: system: host os: multi-user?: sandbox: version: channels(mado): channels(root): nixpkgs:
I should also clarify in my case that it was a breaking bug, where I would have to reboot because one of the devices never loaded and would drop me into an error, until it worked.
it seems like you're describing a different issue with bcachefs and multiple devices separated by . This bug, as far as I understand, is about non-bcachefs block device paths that contain incidentally (not as a multi-device delimiter). I'd suggest filing a separate issue for your problem.
(But as the author of the change that introduced that behavior - - I suspect you might want to be involved here regardless :P)
My bad, the usual bad reading comprehension and I didn't look at the paths that were listed closely enough. I would suggest, if possible, using something like instead until this is fixed. As for the fix, while it would break the use-case of colon-separated if it is the aforementioned path.
This should be considered a bug. There are a lot of paths in that have colons in their name (including RAID UUID devices). Requiring users to know that devices with colons in their name are treated special is unreasonable, especially if it's not documented. If bcachefs requires this then I think we need a new configuration option or the stage 1 function needs to be extended so it considers the file system type before setting .
IMO, we should get rid of it for bcachefs (it's only use) and just use the new ` mechanism.
I don't use bcachefs so I don't know what the mechanism is. Is it safe to simply revert your patch to ?
Unfortunately no, because many people's auto-generated configs still use the ':' separator. It's something I think we'll have to do at some point though. I think the better option may be to omit a warning if it's being used (i.e: using bcachefs) until 24.05, backport that to 23.11, and remove it in 24.05.
I would suggest that we change the function to take an optional second argument, the file system type. If that argument is set and it is set to "" then (and only then) do we set . Of course, this only works if the auto-generated configs correctly set the file system type. Can you point me to the commit where you changed the auto-generation process?
Should be fixed in

''; linux_latest_hardened = linuxPackages_latest_hardened; <del> # Added 2023-11-18 linuxPackages_testing_bcachefs = throw "'linuxPackages_testing_bcachefs' has been removed, please use 'linuxPackages_testing', or any other linux kernel with bcachefs support"; linux_testing_bcachefs = throw "'linux_testing_bcachefs' has been removed, please use 'linux_testing', or any other linux kernel with bcachefs support"; </del> <ins> # Added 2023-11-18, modified 2024-01-09 linuxPackages_testing_bcachefs = throw "'linuxPackages_testing_bcachefs' has been removed, please use 'linuxPackages_latest', any kernel version at least 6.7, or any other linux kernel with bcachefs support"; linux_testing_bcachefs = throw "'linux_testing_bcachefs' has been removed, please use 'linux_latest', any kernel version at least 6.7, or any other linux kernel with bcachefs support"; </ins> lld_6 = throw "lld_6 has been removed from nixpkgs"; # Added 2024-01-08 lld_7 = throw "lld_7 has been removed from nixpkgs"; # Added 2023-11-19


Question: Project description zcfan is a Zero-configuration fan control daemon for ThinkPads. Metadata homepage URL: source URL: license: mit platforms: linux

<ins> { lib , stdenv , fetchFromGitHub }: # Testing this requires a Thinkpad or the presence of /proc/acpi/ibm/fan stdenv.mkDerivation (finalAttrs: { pname = "zcfan"; version = "1.2.1"; src = fetchFromGitHub { owner = "cdown"; repo = "zcfan"; rev = finalAttrs.version; hash = "sha256-XngchR06HP2iExKJVe+XKBDgsv98AEYWOkl1a/Hktgs="; }; postPatch = '' substituteInPlace Makefile  --replace "/usr/local" $out ''; doInstallCheck = true; installCheckPhase = '' runHook preInstallCheck $out/bin/${finalAttrs.pname} -h runHook postInstallCheck ''; meta = with lib; { description = "A zero-configuration fan daemon for ThinkPads"; homepage = "https://github.com/cdown/zcfan"; changelog = "https://github.com/cdown/zcfan/tags/${finalAttrs.version}"; license = licenses.mit; maintainers = with maintainers; [ kashw2 ]; platforms = platforms.linux; }; }) </ins>


Question:
Project description Streaming media player for Plex Metadata homepage URL: source URL: license: proprietary platforms: linux Unfortunately, this app is only available as a Snap or a Flatpak. It looks like Snap is easier to unpack, as we have . There is also , which appears to be unmaintened.
would also appreciate this being packaged, the flatpak version does not start for me ( I don't like using flatpak anyways).
It also supports Darwin and Windows.
Just to be clear this is not this package This is a completely different package with different build steps that just looks the exact same.
Submitted a draft PR that adds this to nixpkgs. What's there now works on my machine™ (3 of them). I'd appreciate people testing this out on different hardware and suggesting any improvements that makes this more reliable. I have a couple more things I'd like to do before officially submitting this. Edit: Also need help with Darwin. I'm guessing it doesn't work there and I don't have a convenient way to test that platform.

github = "Detegr"; githubId = 724433; }; <ins> detroyejr = { name = "Jonathan De Troye"; email = "detroyejr@outlook.com"; github = "detroyejr"; githubId = 12815411; }; </ins> Dettorer = { name = "Paul Hervot"; email = "paul.hervot@dettorer.net";


Question:
Project description Streaming media player for Plex Metadata homepage URL: source URL: license: proprietary platforms: linux Unfortunately, this app is only available as a Snap or a Flatpak. It looks like Snap is easier to unpack, as we have . There is also , which appears to be unmaintened.
would also appreciate this being packaged, the flatpak version does not start for me ( I don't like using flatpak anyways).
It also supports Darwin and Windows.
Just to be clear this is not this package This is a completely different package with different build steps that just looks the exact same.
Submitted a draft PR that adds this to nixpkgs. What's there now works on my machine™ (3 of them). I'd appreciate people testing this out on different hardware and suggesting any improvements that makes this more reliable. I have a couple more things I'd like to do before officially submitting this. Edit: Also need help with Darwin. I'm guessing it doesn't work there and I don't have a convenient way to test that platform.

<ins> { alsa-lib , autoPatchelfHook , buildFHSEnv , dbus , elfutils , expat , extraEnv ? { } , fetchFromGitLab , fetchurl , glib , glibc , lib , libGL , libapparmor , libbsd , libedit , libffi_3_3 , libgcrypt , libglvnd , makeShellWrapper , sqlite , squashfsTools , stdenv , tcp_wrappers , udev , waylandpp , writeShellScript , xkeyboard_config , xorg , xz , zstd }: let pname = "plex-desktop"; version = "1.96.0"; rev = "69"; meta = { homepage = "https://plex.tv/"; description = "Streaming media player for Plex"; longDescription = '' Plex for Linux is your client for playback on the Linux desktop. It features the point and click interface you see in your browser but uses a more powerful playback engine as well as some other advance features. ''; maintainers = with lib.maintainers; [ detroyejr ]; license = lib.licenses.unfree; platforms = [ "x86_64-linux" ]; mainProgram = "plex-desktop"; }; # The latest unstable version isn't compatible with libraries that ship in the snap. libglvnd-1_4_0 = libglvnd.overrideAttrs { src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "glvnd"; repo = "libglvnd"; rev = "v1.4.0"; sha256 = "sha256-Y6JHRygXcZtnrdnqi1Lzyvh/635gwZWnMeW9aRCpxxs"; }; }; plex-desktop = stdenv.mkDerivation { inherit pname version meta; src = fetchurl { url = "https://api.snapcraft.io/api/v1/snaps/download/qc6MFRM433ZhI1XjVzErdHivhSOhlpf0_${rev}.snap"; hash = "sha512-rECc8rK1ENAL5mXdabO8ynudCaSzz0yygOyg4gMbCtddgqwSOanP24/oguzPLr3zdRMC3VSf9B3hr2BGQ54tzg=="; }; nativeBuildInputs = [ squashfsTools ]; buildInputs = [ alsa-lib autoPatchelfHook dbus elfutils expat glib glibc libGL libapparmor libbsd libedit libffi_3_3 libgcrypt makeShellWrapper sqlite squashfsTools stdenv.cc.cc tcp_wrappers udev waylandpp xorg.libXinerama xz zstd ]; unpackPhase = '' runHook preUnpack unsquashfs "$src" cd squashfs-root runHook postUnpack ''; dontWrapQtApps = true; installPhase = '' runHook preInstall cp -r . $out ln -s ${libedit}/lib/libedit.so.0 $out/lib/libedit.so.2 rm $out/usr/lib/x86_64-linux-gnu/libasound.so.2 ln -s ${alsa-lib}/lib/libasound.so.2 $out/usr/lib/x86_64-linux-gnu/libasound.so.2 rm $out/usr/lib/x86_64-linux-gnu/libasound.so.2.0.0 ln -s ${alsa-lib}/lib/libasound.so.2.0.0 $out/usr/lib/x86_64-linux-gnu/libasound.so.2.0.0 runHook postInstall ''; }; in buildFHSEnv { name = "${pname}-${version}"; targetPkgs = pkgs: [ xkeyboard_config ]; extraInstallCommands = '' mkdir -p $out/share/applications $out/share/icons/hicolor/scalable/apps install -m 444 -D ${plex-desktop}/meta/gui/plex-desktop.desktop $out/share/applications/plex-desktop.desktop substituteInPlace $out/share/applications/plex-desktop.desktop  --replace-fail  'Icon=''${SNAP}/meta/gui/icon.png'  'Icon=${plex-desktop}/meta/gui/icon.png'  --replace-fail  'Exec=plex-desktop'  'Exec=plex-desktop-${version}' ''; runScript = writeShellScript "plex-desktop.sh" '' # Widevine won't download unless this directory exists. mkdir -p $HOME/.cache/plex/ PLEX_USR_PATH=${lib.makeSearchPath "usr/lib/x86_64-linux-gnu"  [ plex-desktop ]} set -o allexport LD_LIBRARY_PATH=${lib.makeLibraryPath [ plex-desktop libglvnd-1_4_0 ]}:$PLEX_USR_PATH LIBGL_DRIVERS_PATH=$PLEX_USR_PATH/dri ${lib.toShellVars extraEnv} exec ${plex-desktop}/Plex.sh ''; } </ins>


Question:
Project description Streaming media player for Plex Metadata homepage URL: source URL: license: proprietary platforms: linux Unfortunately, this app is only available as a Snap or a Flatpak. It looks like Snap is easier to unpack, as we have . There is also , which appears to be unmaintened.
would also appreciate this being packaged, the flatpak version does not start for me ( I don't like using flatpak anyways).
It also supports Darwin and Windows.
Just to be clear this is not this package This is a completely different package with different build steps that just looks the exact same.
Submitted a draft PR that adds this to nixpkgs. What's there now works on my machine™ (3 of them). I'd appreciate people testing this out on different hardware and suggesting any improvements that makes this more reliable. I have a couple more things I'd like to do before officially submitting this. Edit: Also need help with Darwin. I'm guessing it doesn't work there and I don't have a convenient way to test that platform.

<ins> #!/usr/bin/env nix-shell #! nix-shell -i bash -p curl jq git gnused gnugrep # executing this script without arguments will # - find the newest stable plex-desktop version avaiable on snapcraft (https://snapcraft.io/plex-desktop) # - read the current plex-desktop version from the current nix expression # - update the nix expression if the versions differ # - try to build the updated version, exit if that fails # - give instructions for upstreaming # As an optional argument you can specify the snapcraft channel to update to. # Default is `stable` and only stable updates should be pushed to nixpkgs. For # testing you may specify `candidate` or `edge`. channel="${1:-stable}" # stable/candidate/edge nixpkgs="$(git rev-parse --show-toplevel)" plex_nix="$nixpkgs/pkgs/by-name/pl/plex-desktop/package.nix" # # find the newest stable plex-desktop version avaiable on snapcraft # # create bash array from snap info snap_info=($( curl -s -H 'X-Ubuntu-Series: 16'  "https://api.snapcraft.io/api/v1/snaps/details/plex-desktop?channel=$channel"  | jq --raw-output  '.revision,.download_sha512,.version,.last_updated' )) # "revision" is the actual version identifier on snapcraft, the "version" is # just for human consumption. Revision is just an integer that gets increased # by one every (stable or unstable) release. revision="${snap_info[0]}" # We need to escape the slashes hash="$(nix-hash --to-sri --type sha512 ${snap_info[1]} | sed 's|/|/|g')" upstream_version="${snap_info[2]}" last_updated="${snap_info[3]}" echo "Latest $channel release is $upstream_version from $last_updated." # # read the current plex-desktop version from the currently *committed* nix expression # current_version=$( grep 'versions*=' "$plex_nix"  | sed -Ene 's/.*"(.*)".*/1/p' ) echo "Current version: $current_version" # # update the nix expression if the versions differ # if [[ "$current_version" == "$upstream_version" ]]; then echo "Plex is already up-to-date" exit 0 fi echo "Updating from ${current_version} to ${upstream_version}, released on ${last_updated}" # search-and-replace revision, hash and version sed --regexp-extended  -e 's/revs*=s*"[0-9]+"s*;/rev = "'"${revision}"'";/'  -e 's/hashs*=s*"[^"]*"s*;/hash = "'"${hash}"'";/'  -e 's/versions*=s*".*"s*;/version = "'"${upstream_version}"'";/'  -i "$plex_nix" # # try to build the updated version # if ! nix-build -A plex-desktop "$nixpkgs"; then echo "The updated plex-desktop failed to build." exit 1 fi # Commit changes git add "$plex_nix" git commit -m "plex-desktop: ${current_version} -> ${upstream_version}" </ins>


Question:
Project description onedriver is a native Linux filesystem for Microsoft OneDrive. It contains GUI and CLI tools for mounting Onedrive cloud shares as local drives, downloading files accessed on demand. Metadata homepage URL: source URL: license: gpl3 platforms: linux
I am very excited about this one, I am actually a DM in a D&D campaign and onedriver has always been my best tool for rapid storage and edit of the stuff. Thanks everyone!

githubId = 29855073; name = "Michael Colicchia"; }; <ins> massimogengarelli = { email = "massimo.gengarelli@gmail.com"; github = "massix"; githubId = 585424; name = "Massimo Gengarelli"; }; </ins> matejc = { email = "cotman.matej@gmail.com"; github = "matejc";


Question:
Project description onedriver is a native Linux filesystem for Microsoft OneDrive. It contains GUI and CLI tools for mounting Onedrive cloud shares as local drives, downloading files accessed on demand. Metadata homepage URL: source URL: license: gpl3 platforms: linux
I am very excited about this one, I am actually a DM in a D&D campaign and onedriver has always been my best tool for rapid storage and edit of the stuff. Thanks everyone!

<ins> { buildGoModule , fetchFromGitHub , lib , pkg-config , webkitgtk , glib , fuse , installShellFiles }: let pname = "onedriver"; version = "0.13.0-2"; src = fetchFromGitHub { owner = "jstaf"; repo = "onedriver"; rev = "v${version}"; hash = "sha256-Bcjgmx9a4pTRhkzR3tbOB6InjvuH71qomv4t+nRNc+w="; }; in buildGoModule { inherit pname version src; vendorHash = "sha256-OOiiKtKb+BiFkoSBUQQfqm4dMfDW3Is+30Kwcdg8LNA="; nativeBuildInputs = [ pkg-config installShellFiles ]; buildInputs = [ webkitgtk glib fuse ]; ldflags = [ "-X github.com/jstaf/onedriver/cmd/common.commit=v${version}" ]; subPackages = [ "cmd/onedriver" "cmd/onedriver-launcher" ]; postInstall = '' echo "Running postInstall" install -Dm644 ./resources/onedriver.svg $out/share/icons/onedriver/onedriver.svg install -Dm644 ./resources/onedriver.png $out/share/icons/onedriver/onedriver.png install -Dm644 ./resources/onedriver-128.png $out/share/icons/onedriver/onedriver-128.png install -Dm644 ./resources/onedriver.desktop $out/share/applications/onedriver.desktop mkdir -p $out/share/man/man1 installManPage ./resources/onedriver.1 substituteInPlace $out/share/applications/onedriver.desktop  --replace "/usr/bin/onedriver-launcher" "$out/bin/onedriver-launcher"  --replace "/usr/share/icons" "$out/share/icons" ''; meta = with lib; { description = "A network filesystem for Linux"; longDescription = '' onedriver is a network filesystem that gives your computer direct access to your files on Microsoft OneDrive. This is not a sync client. Instead of syncing files, onedriver performs an on-demand download of files when your computer attempts to use them. onedriver allows you to use files on OneDrive as if they were files on your local computer. ''; inherit (src.meta) homepage; license = licenses.gpl3Plus; maintainers = [ maintainers.massimogengarelli ]; platforms = platforms.linux; }; } </ins>


Question:
Steps to reproduce the behavior: itch system: host os: multi-user?: sandbox: version: channels(root): channels(username): nixpkgs:
Looks like there is an issue already posted for this package NixOS/nixpkgs and there was a PR (NixOS/nixpkgs which uses a canary build instead) posted. Since there is no stable update (the canary builds uses a separate config directory, which is also explained here ) this is still a upstream issue.

, fetchzip , fetchFromGitHub , butler <del> , electron_11 </del> <ins> , electron </ins> , steam-run , makeWrapper , copyDesktopItems


Question:
Steps to reproduce the behavior: itch system: host os: multi-user?: sandbox: version: channels(root): channels(username): nixpkgs:
Looks like there is an issue already posted for this package NixOS/nixpkgs and there was a PR (NixOS/nixpkgs which uses a canary build instead) posted. Since there is no stable update (the canary builds uses a separate config directory, which is also explained here ) this is still a upstream issue.

}: stdenvNoCC.mkDerivation rec { pname = "itch"; <del> version = "25.6.2"; </del> <ins> version = "26.1.2"; # TODO: Using kitch instead of itch, revert when possible </ins> src = fetchzip { <del> url = "https://broth.itch.ovh/${pname}/linux-amd64/${version}/itch.zip"; </del> <ins> url = "https://broth.itch.ovh/k${pname}/linux-amd64/${version}/archive/default#.zip"; </ins> stripRoot = false; <del> sha256 = "sha256-F/vaYBHCygseiKNMJ+jBy31YDIFqYToAETGUl/pkHII="; </del> <ins> sha256 = "sha256-thXe+glpltSiKNGIRgvOZQZPJWfDHWo3dLdziyp2BM4="; </ins> }; itch-setup = fetchzip {


Question:
Steps to reproduce the behavior: itch system: host os: multi-user?: sandbox: version: channels(root): channels(username): nixpkgs:
Looks like there is an issue already posted for this package NixOS/nixpkgs and there was a PR (NixOS/nixpkgs which uses a canary build instead) posted. Since there is no stable update (the canary builds uses a separate config directory, which is also explained here ) this is still a upstream issue.

fetchFromGitHub { owner = "itchio"; repo = pname; <del> rev = "v25.6.1-canary"; # Use ${version} if possible hash = "sha256-iBp7K7AW97SOlRa8N8TW2LcVtmUi9JU00fYUuPwKORc="; </del> <ins> rev = "v${version}-canary"; sha256 = "sha256-veZiKs9qHge+gCEpJ119bAT56ssXJAH3HBcYkEHqBFg="; </ins> sparseCheckout = [ sparseCheckout ]; } + sparseCheckout;


Question:
Steps to reproduce the behavior: itch system: host os: multi-user?: sandbox: version: channels(root): channels(username): nixpkgs:
Looks like there is an issue already posted for this package NixOS/nixpkgs and there was a PR (NixOS/nixpkgs which uses a canary build instead) posted. Since there is no stable update (the canary builds uses a separate config directory, which is also explained here ) this is still a upstream issue.

installPhase = '' runHook preInstall <ins> # TODO: Remove when the next stable Itch is stabilized substituteInPlace ./resources/app/package.json  --replace "kitch" "itch" </ins> mkdir -p $out/bin $out/share/${pname}/resources/app cp -r resources/app "$out/share/${pname}/resources/"


Question:
Steps to reproduce the behavior: itch system: host os: multi-user?: sandbox: version: channels(root): channels(username): nixpkgs:
Looks like there is an issue already posted for this package NixOS/nixpkgs and there was a PR (NixOS/nixpkgs which uses a canary build instead) posted. Since there is no stable update (the canary builds uses a separate config directory, which is also explained here ) this is still a upstream issue.

postFixup = '' makeWrapper ${steam-run}/bin/steam-run $out/bin/${pname}  <del> --add-flags ${electron_11}/bin/electron  </del> <ins> --add-flags ${electron}/bin/electron  </ins> --add-flags $out/share/${pname}/resources/app  --set BROTH_USE_LOCAL butler,itch-setup  --prefix PATH : ${butler}/bin/:${itch-setup}


Question:
After a recent Nixpkgs git update, my Firefox browser can no longer download files to the local disk. At the point where the file browser is supposed to pop up to let me choose the directory in which to save the file, the entire browser just crashes. The console doesn't say much: This issue occurs in and earlier. I'll try to find a commit that causes the issue by way of git bisect, but that's no not easy to pull off (for obvious reasons).
There are and ; there are and . Adding some combination of these to could help. I guess the wrapper needs updating…
~This one should be just IIRC.~ I was wrong.
I don't understand why it doesn't crash on 17.03.
The fix worked! Thank you very much.

<ins> {stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}: stdenv.mkDerivation rec { version = "0.15.2"; name = "vala-${version}"; src = fetchurl { url = "mirror://gnome/sources/vala/0.15/${name}.tar.xz"; sha256 = "0g71zq6dpqrw2f40wfzdf18fdw41ymr17laqniy2kr622hkxdi8w"; }; buildNativeInputs = [ yacc flex pkgconfig xz ]; buildInputs = [ glib ]; meta = { description = "Compiler for the GObject type system"; homepage = "http://live.gnome.org/Vala"; license = "free-copyleft"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.antono ]; }; } </ins>


Question:
After a recent Nixpkgs git update, my Firefox browser can no longer download files to the local disk. At the point where the file browser is supposed to pop up to let me choose the directory in which to save the file, the entire browser just crashes. The console doesn't say much: This issue occurs in and earlier. I'll try to find a commit that causes the issue by way of git bisect, but that's no not easy to pull off (for obvious reasons).
There are and ; there are and . Adding some combination of these to could help. I guess the wrapper needs updating…
~This one should be just IIRC.~ I was wrong.
I don't understand why it doesn't crash on 17.03.
The fix worked! Thank you very much.

<ins> {stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}: stdenv.mkDerivation rec { version = "0.16.1"; name = "vala-${version}"; src = fetchurl { url = "mirror://gnome/sources/vala/0.16/${name}.tar.xz"; sha256 = "1n708n9ixyy9qrzyv1wf4ybvcclx43ib9ki028wwpvkz6kv8zqlb"; }; buildNativeInputs = [ yacc flex pkgconfig xz ]; buildInputs = [ glib ]; meta = { description = "Compiler for the GObject type system"; homepage = "http://live.gnome.org/Vala"; license = "free-copyleft"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.antono ]; }; } </ins>


Question:
After a recent Nixpkgs git update, my Firefox browser can no longer download files to the local disk. At the point where the file browser is supposed to pop up to let me choose the directory in which to save the file, the entire browser just crashes. The console doesn't say much: This issue occurs in and earlier. I'll try to find a commit that causes the issue by way of git bisect, but that's no not easy to pull off (for obvious reasons).
There are and ; there are and . Adding some combination of these to could help. I guess the wrapper needs updating…
~This one should be just IIRC.~ I was wrong.
I don't understand why it doesn't crash on 17.03.
The fix worked! Thank you very much.

{stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}: stdenv.mkDerivation rec { <del> name = "vala-0.14.2"; </del> <ins> version = "0.17.2"; name = "vala-${version}"; </ins> src = fetchurl { <del> url = mirror://gnome/sources/vala/0.14/vala-0.14.2.tar.xz; sha256 = "1l5kllw9vpwv24lzv9fp64l3sad46wpxgvsgryrwlrjg91w6jzl0"; </del> <ins> url = "mirror://gnome/sources/vala/0.17/${name}.tar.xz"; sha256 = "09i2s0dwmrk147ind2dx7nq845g12fp6fsjqrphhrr0dbi0zzgh3"; </ins> }; buildNativeInputs = [ yacc flex pkgconfig xz ];


Question:
After a recent Nixpkgs git update, my Firefox browser can no longer download files to the local disk. At the point where the file browser is supposed to pop up to let me choose the directory in which to save the file, the entire browser just crashes. The console doesn't say much: This issue occurs in and earlier. I'll try to find a commit that causes the issue by way of git bisect, but that's no not easy to pull off (for obvious reasons).
There are and ; there are and . Adding some combination of these to could help. I guess the wrapper needs updating…
~This one should be just IIRC.~ I was wrong.
I don't understand why it doesn't crash on 17.03.
The fix worked! Thank you very much.

meta = { description = "Compiler for the GObject type system"; homepage = "http://live.gnome.org/Vala"; <ins> license = "free-copyleft"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.antono ]; </ins> }; }


Question:
After a recent Nixpkgs git update, my Firefox browser can no longer download files to the local disk. At the point where the file browser is supposed to pop up to let me choose the directory in which to save the file, the entire browser just crashes. The console doesn't say much: This issue occurs in and earlier. I'll try to find a commit that causes the issue by way of git bisect, but that's no not easy to pull off (for obvious reasons).
There are and ; there are and . Adding some combination of these to could help. I guess the wrapper needs updating…
~This one should be just IIRC.~ I was wrong.
I don't understand why it doesn't crash on 17.03.
The fix worked! Thank you very much.

urweb = callPackage ../development/compilers/urweb { }; <del> vala = callPackage ../development/compilers/vala { }; </del> <ins> vala = vala17; vala15 = callPackage ../development/compilers/vala/15.2.nix { }; vala16 = callPackage ../development/compilers/vala/16.1.nix { }; vala17 = callPackage ../development/compilers/vala/default.nix { }; </ins> visualcpp = callPackage ../development/compilers/visual-c++ { };


Question:
Steps to reproduce the behavior: that build exited with success code, but directory is empty. Removing the following fixes the issue for me. Disclaimer: I'm not familiar with golang so I'm not sure what this does or why it was in the first place. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result.
thank you for your bugreport, we need cgo because a dependency needs cgo

buildGoModule rec { pname = "katana"; <del> version = "1.0.3"; </del> <ins> version = "1.0.4"; </ins> src = fetchFromGitHub { owner = "projectdiscovery"; repo = pname; rev = "refs/tags/v${version}"; <del> hash = "sha256-0OXpA+sa97YjbHhIq3Uj65OWg53PH9y2cY8bjCqC3tQ="; </del> <ins> hash = "sha256-wpGRpgRJtywkTJ3YBk5TzXc2taPPWjOhj+Kg8hAgm7M="; </ins> }; <del> vendorHash = "sha256-rb0fNAOP4y2yvJb7FIlAIfXF0uw0eLKgup75f9cwT6U="; CGO_ENABLED = 0; </del> <ins> vendorHash = "sha256-qqivaKipe7lfUq3Neod8JMvtMVQN4O03JpDMSMHf8YY="; </ins> subPackages = [ "cmd/katana" ];


Question:
A clear and concise description of what the bug is. Steps to reproduce the behavior: Try to configure to work on all keyboards. Note that, although this is a common use case, trying to do so with the exposed API leads to errors. For instance: This code throws the following It's expected to have some way of declaratively configuring kanata, such that a given configuration block works for all keyboards. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
Does setting work for you?
Yes, that seems to work! Thank you :)

options = { devices = mkOption { type = types.listOf types.str; <ins> default = [ ]; </ins> example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ]; <del> description = mdDoc "Paths to keyboard devices."; </del> <ins> description = mdDoc '' Paths to keyboard devices. An empty list, the default value, lets kanata detect which input devices are keyboards and intercept them all. ''; </ins> }; config = mkOption { type = types.lines;


Question:
A clear and concise description of what the bug is. Steps to reproduce the behavior: Try to configure to work on all keyboards. Note that, although this is a common use case, trying to do so with the exposed API leads to errors. For instance: This code throws the following It's expected to have some way of declaratively configuring kanata, such that a given configuration block works for all keyboards. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
Does setting work for you?
Yes, that seems to work! Thank you :)

}; config = mkIf cfg.enable { <ins> warnings = let keyboardsWithEmptyDevices = filterAttrs (name: keyboard: keyboard.devices == [ ]) cfg.keyboards; existEmptyDevices = length (attrNames keyboardsWithEmptyDevices) > 0; moreThanOneKeyboard = length (attrNames cfg.keyboards) > 1; in optional (existEmptyDevices && moreThanOneKeyboard) "One device can only be intercepted by one kanata instance.  Setting services.kanata.keyboards.${head (attrNames keyboardsWithEmptyDevices)}.devices = [ ] and using more than one services.kanata.keyboards may cause a race condition."; </ins> hardware.uinput.enable = true; systemd.services = mapAttrs' mkService cfg.keyboards;


Question: Project description Floorp is a firefox fork. Metadata homepage URL: source URL: license: MPLv2.0 platforms: windows, macos, linux

firewall-nftables = handleTest ./firewall.nix { nftables = true; }; fish = handleTest ./fish.nix {}; flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {}; <ins> floorp = handleTest ./firefox.nix { firefoxPackage = pkgs.floorp; }; </ins> fluentd = handleTest ./fluentd.nix {}; fluidd = handleTest ./fluidd.nix {}; fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};


Question: Project description Floorp is a firefox fork. Metadata homepage URL: source URL: license: MPLv2.0 platforms: windows, macos, linux

{ pname , version <ins> , packageVersion ? version </ins> , meta , updateScript ? null , binaryName ? "firefox"


Question: Project description Floorp is a firefox fork. Metadata homepage URL: source URL: license: MPLv2.0 platforms: windows, macos, linux

buildStdenv.mkDerivation { pname = "${pname}-unwrapped"; <del> inherit version; </del> <ins> version = packageVersion; </ins> inherit src unpackPhase meta;


Question: Project description Floorp is a firefox fork. Metadata homepage URL: source URL: license: MPLv2.0 platforms: windows, macos, linux

passthru = { inherit application extraPatches; inherit updateScript; <del> inherit version; </del> inherit alsaSupport; inherit binaryName; inherit jackSupport;


Question: Project description Floorp is a firefox fork. Metadata homepage URL: source URL: license: MPLv2.0 platforms: windows, macos, linux

inherit tests; inherit gtk3; inherit wasiSysRoot; <ins> version = packageVersion; </ins> } // extraPassthru; hardeningDisable = [ "format" ]; # -Werror=format-security


Question: Project description Floorp is a firefox fork. Metadata homepage URL: source URL: license: MPLv2.0 platforms: windows, macos, linux

<ins> { stdenv , lib , fetchFromGitHub , buildMozillaMach , nixosTests }: ((buildMozillaMach rec { pname = "floorp"; packageVersion = "11.5.0"; applicationName = "Floorp"; binaryName = "floorp"; version = "155.4.0"; src = fetchFromGitHub { owner = "Floorp-Projects"; repo = "Floorp"; fetchSubmodules = true; rev = "v${packageVersion}"; hash = "sha256-adK3LAu3cDh6d+GvtnkWmSnxansnSZoIgtA9TAqIMyA="; }; extraConfigureFlags = [ "--with-app-name=${pname}" "--with-app-basename=${applicationName}" "--with-branding=browser/branding/official" "--with-distribution-id=app.floorp.Floorp" "--with-unsigned-addon-scopes=app,system" "--allow-addon-sideload" ]; meta = { description = "A fork of Firefox, focused on keeping the Open, Private and Sustainable Web alive, built in Japan"; homepage = "https://floorp.app/"; maintainers = with lib.maintainers; [ christoph-heiss ]; platforms = lib.platforms.unix; badPlatforms = lib.platforms.darwin; broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". # not in `badPlatforms` because cross-compilation on 64-bit machine might work. maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) license = lib.licenses.mpl20; }; tests = [ nixosTests.floorp ]; }).override { privacySupport = true; enableOfficialBranding = false; }).overrideAttrs (prev: { MOZ_REQUIRE_SIGNING = ""; }) </ins>


Question: Project description Floorp is a firefox fork. Metadata homepage URL: source URL: license: MPLv2.0 platforms: windows, macos, linux

flex-ndax = callPackage ../applications/radio/flex-ndax { }; <ins> floorp-unwrapped = callPackage ../applications/networking/browsers/floorp { }; floorp = wrapFirefox floorp-unwrapped { }; </ins> fluxbox = callPackage ../applications/window-managers/fluxbox { }; hackedbox = callPackage ../applications/window-managers/hackedbox { };


Question:
Project description A wayland native, highly customizable runner. <!-- Describe the project a little: --Metadata homepage URL: source URL: license: gpl3 platforms: linux
NB: they have a flake
You have to compile it if you add the flake and the Cachix currently doesn't work. I rather it to nixpkgs because it way more dependent here.
I can work on getting it into nixpkgs shortly.
Oo nice :3 Thank you so much

<ins> { lib , rustPlatform , fetchFromGitHub , pkg-config , wrapGAppsHook , atk , cairo , gdk-pixbuf , glib , gtk3 , pango , stdenv , darwin , wayland , gtk-layer-shell , unstableGitUpdater }: rustPlatform.buildRustPackage rec { pname = "anyrun"; version = "0-unstable-2023-12-01"; src = fetchFromGitHub { owner = "kirottu"; repo = "anyrun"; rev = "e14da6c37337ffa3ee1bc66965d58ef64c1590e5"; hash = "sha256-hI9+KBShsSfvWX7bmRa/1VI20WGat3lDXmbceMZzMS4="; }; cargoHash = "sha256-apOQc9Z6YANoaeKcbNxBfAv7mmGFB+CagrYRPgC5wLY="; strictDeps = true; enableParallelBuilding = true; doCheck = true; nativeBuildInputs = [ pkg-config wrapGAppsHook ]; buildInputs = [ atk cairo gdk-pixbuf glib gtk3 gtk-layer-shell pango ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ] ++ lib.optionals stdenv.isLinux [ wayland ]; preFixup = '' gappsWrapperArgs+=( --prefix ANYRUN_PLUGINS : $out/lib ) ''; postInstall = '' install -Dm444 anyrun/res/style.css examples/config.ron -t $out/share/doc/${pname}/examples/ ''; passthru.updateScript = unstableGitUpdater { }; meta = { description = "A wayland-native, highly customizable runner"; homepage = "https://github.com/kirottu/anyrun"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ eclairevoyant NotAShelf ]; mainProgram = "anyrun"; }; } </ins>


Question: Project description A Steam Achievements Manager for Linux Metadata homepage URL: source URL: license: gpl platforms: inux

<ins> { lib , stdenv , fetchFromGitHub , unstableGitUpdater , curl , gtkmm3 , glibmm , gnutls , yajl , pkg-config }: stdenv.mkDerivation (finalAttrs: { pname = "samrewritten"; version = "unstable-2023-05-23"; src = fetchFromGitHub { owner = "PaulCombal"; repo = "SamRewritten"; # The latest release is too old, use latest commit instead rev = "39d524a72678a226bf9140db6b97641f554563c3"; hash = "sha256-sS/lVY5EWXdTOg7cDWPbi/n5TNt+pRAF1x7ZEaYG4wM="; }; makeFlags = [ "PREFIX=$(out)" ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ curl gtkmm3 glibmm gnutls yajl ]; passthru.updateScript = unstableGitUpdater { }; meta = { description = "Steam Achievement Manager For Linux. Rewritten in C++"; homepage = "https://github.com/PaulCombal/SamRewritten"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ ludovicopiero ]; platforms = lib.platforms.linux; }; }) </ins>


Question:
When the tooling is updated, it should be run on Nixpkgs in the same PR. This also relates to This could be achieved using on the derivation which copies Nixpkgs to the store and then runs the tooling on it in a derivation. This would then automatically be run when a commit with the prefix is in the PR. This is however fairly slow and expensive due to the Nixpkgs copy.
OfBorg performs checkouts all the time. I don't think this is significant. To run it locally, this style of test runner is not great, but we can refer readers to the instructions for a manual run.
It's not just a local checkout though, if we use derivations to run the check, then Nixpkgs also needs to be copied into the store. Should probably be fine though, other parts of Nixpkgs also copy Nixpkgs into the store.
I don't think this should be done after all. With the latest idea , the latest version of the tooling in Nixpkgs needs to stay independent of the pinned version used for CI.
Agree that for the PR checking, the currently implemented approach is fine. However, I think it is still good to have the "simple" version that doesn't refer to other Nixpkgs / channels as a attribute. The point of this is not to catch CIs, but to just sanity check with hydra after the fact that everything worked out the way it should. The impure tricky business with channels is still necessary, but the idea is that it is an optimization and the simple self-contained version is the reference implementation that ultimately defines the behavior we want.
Implemented in , turns out this would've been really useful :sweat_smile:

clippy, mkShell, makeWrapper, <ins> runCommand, </ins> }: let runtimeExprPath = ./src/eval.nix; nixpkgsLibPath = ../../../lib; <ins> # Needed to make Nix evaluation work inside nix builds initNix = '' export TEST_ROOT=$(pwd)/test-tmp export NIX_CONF_DIR=$TEST_ROOT/etc export NIX_LOCALSTATE_DIR=$TEST_ROOT/var export NIX_LOG_DIR=$TEST_ROOT/var/log/nix export NIX_STATE_DIR=$TEST_ROOT/var/nix export NIX_STORE_DIR=$TEST_ROOT/store # Ensure that even if tests run in parallel, we don't get an error # We'd run into https://github.com/NixOS/nix/issues/2706 unless the store is initialised first nix-store --init ''; </ins> package = rustPlatform.buildRustPackage { name = "nixpkgs-check-by-name";


Question:
When the tooling is updated, it should be run on Nixpkgs in the same PR. This also relates to This could be achieved using on the derivation which copies Nixpkgs to the store and then runs the tooling on it in a derivation. This would then automatically be run when a commit with the prefix is in the PR. This is however fairly slow and expensive due to the Nixpkgs copy.
OfBorg performs checkouts all the time. I don't think this is significant. To run it locally, this style of test runner is not great, but we can refer readers to the instructions for a manual run.
It's not just a local checkout though, if we use derivations to run the check, then Nixpkgs also needs to be copied into the store. Should probably be fine though, other parts of Nixpkgs also copy Nixpkgs into the store.
I don't think this should be done after all. With the latest idea , the latest version of the tooling in Nixpkgs needs to stay independent of the pinned version used for CI.
Agree that for the PR checking, the currently implemented approach is fine. However, I think it is still good to have the "simple" version that doesn't refer to other Nixpkgs / channels as a attribute. The point of this is not to catch CIs, but to just sanity check with hydra after the fact that everything worked out the way it should. The impure tricky business with channels is still necessary, but the idea is that it is an optimization and the simple self-contained version is the reference implementation that ultimately defines the behavior we want.
Implemented in , turns out this would've been really useful :sweat_smile:

makeWrapper ]; env.NIX_CHECK_BY_NAME_EXPR_PATH = "${runtimeExprPath}"; <del> # Needed to make Nix evaluation work inside the nix build preCheck = '' export TEST_ROOT=$(pwd)/test-tmp export NIX_CONF_DIR=$TEST_ROOT/etc export NIX_LOCALSTATE_DIR=$TEST_ROOT/var export NIX_LOG_DIR=$TEST_ROOT/var/log/nix export NIX_STATE_DIR=$TEST_ROOT/var/nix export NIX_STORE_DIR=$TEST_ROOT/store export NIXPKGS_LIB_PATH=${nixpkgsLibPath} # Ensure that even if tests run in parallel, we don't get an error # We'd run into https://github.com/NixOS/nix/issues/2706 unless the store is initialised first nix-store --init ''; </del> <ins> env.NIXPKGS_LIB_PATH = "${nixpkgsLibPath}"; preCheck = initNix; </ins> postCheck = '' cargo fmt --check cargo clippy -- -D warnings