diff --git a/ci/common.nix b/ci/common.nix index 24b41118..73175223 100644 --- a/ci/common.nix +++ b/ci/common.nix @@ -1,8 +1,4 @@ -{ - channels, - config, - ... -}: { +{channels, ...}: { bootstrap.packages.nix = channels.nixpkgs.lix; nixpkgs.args = { localSystem = "x86_64-linux"; diff --git a/common/nix.nix b/common/nix.nix index b9bc933d..73de974b 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -2,6 +2,7 @@ config, lib, std, + pkgs, inputs, ... }: let @@ -13,6 +14,7 @@ in { nixPath = set.mapToValues (name: flake: "${name}=${flake.outPath}") inputs'; registry = set.map (_: flake: {inherit flake;}) inputs'; + package = pkgs.lixPackageSets.stable.lix; settings = { experimental-features = list.optional (versionAtLeast config.nix.package.version "2.4") "nix-command flakes"; substituters = ["https://arc.cachix.org" "https://kittywitch.cachix.org" "https://nix-gaming.cachix.org" "https://nix-community.cachix.org"]; diff --git a/flake.lock b/flake.lock index 58f568a3..e09edd50 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ ] }, "locked": { - "lastModified": 1757182941, - "narHash": "sha256-81TKa5U84gRc6krwhVOwb5gpgXgYxIeS1kkwOTw1GN4=", + "lastModified": 1758886919, + "narHash": "sha256-4y+Z3EIIFw61+uGVgsNpWx3STmNbex8rTyHJPsPwyjE=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "11bfa4c0dc07da1e7e49c5111cc9bfa1260ba98f", + "rev": "39a646acc74e720d337edb57cf8473e96f6164ef", "type": "github" }, "original": { @@ -223,11 +223,11 @@ ] }, "locked": { - "lastModified": 1757130842, - "narHash": "sha256-4i7KKuXesSZGUv0cLPLfxbmF1S72Gf/3aSypgvVkwuA=", + "lastModified": 1758805352, + "narHash": "sha256-BHdc43Lkayd+72W/NXRKHzX5AZ+28F3xaUs3a88/Uew=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "15f067638e2887c58c4b6ba1bdb65a0b61dc58c5", + "rev": "c48e963a5558eb1c3827d59d21c5193622a1477c", "type": "github" }, "original": { @@ -422,24 +422,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flakelib": { "inputs": { "fl-config": "fl-config", @@ -461,21 +443,6 @@ "type": "github" } }, - "flakey-profile": { - "locked": { - "lastModified": 1712898590, - "narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=", - "owner": "lf-", - "repo": "flakey-profile", - "rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d", - "type": "github" - }, - "original": { - "owner": "lf-", - "repo": "flakey-profile", - "type": "github" - } - }, "freetype2": { "flake": false, "locked": { @@ -520,11 +487,11 @@ ] }, "locked": { - "lastModified": 1755960406, - "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", + "lastModified": 1758108966, + "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", + "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", "type": "github" }, "original": { @@ -617,11 +584,11 @@ ] }, "locked": { - "lastModified": 1757075491, - "narHash": "sha256-a+NMGl5tcvm+hyfSG2DlVPa8nZLpsumuRj1FfcKb2mQ=", + "lastModified": 1758899649, + "narHash": "sha256-Z6IxPlvIS83lKbTIliP2xFj4hJ699/eM7Ubte4iytgQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "f56bf065f9abedc7bc15e1f2454aa5c8edabaacf", + "rev": "6238bbc0ae04951b64a3ad1b69d3e03b8b329e51", "type": "github" }, "original": { @@ -719,11 +686,11 @@ ] }, "locked": { - "lastModified": 1757228245, - "narHash": "sha256-mJS5AlKjPOjh3cEqlCLtpt/8pQI6J6VruSAkQhAkIeY=", + "lastModified": 1758838296, + "narHash": "sha256-/9nsPuRF/2wQjElYVM4b7q7hTynNa27kvqGr/2JuQ1k=", "owner": "gensokyo-zone", "repo": "infrastructure", - "rev": "ad6da1d8d45bd9a48de66e1516449391579f2c6f", + "rev": "8595762c7bccc904f1549c89b6d5b6569f4b8d87", "type": "github" }, "original": { @@ -742,11 +709,11 @@ ] }, "locked": { - "lastModified": 1757052778, - "narHash": "sha256-rYszJwY0EArAqK6q0i5bB1zxNCNRk6gVmD9SIvnoXW8=", + "lastModified": 1757230583, + "narHash": "sha256-4uqu7sFPOaVTCogsxaGMgbzZ2vK40GVGMfUmrvK3/LY=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "ceaa413a68f28bbf6731464594fdb2c3513e9110", + "rev": "fc3960e6c32c9d4f95fff2ef84444284d24d3bea", "type": "github" }, "original": { @@ -827,44 +794,6 @@ "type": "github" } }, - "lix": { - "flake": false, - "locked": { - "lastModified": 1753306948, - "narHash": "sha256-Y733rfa66tmE+kzYEgeOThOPWRRMy/0QN+Mmj7uHBNE=", - "rev": "88302eaaf423897d5cc84272fc00846749261d1b", - "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/88302eaaf423897d5cc84272fc00846749261d1b.tar.gz?rev=88302eaaf423897d5cc84272fc00846749261d1b" - }, - "original": { - "type": "tarball", - "url": "https://git.lix.systems/lix-project/lix/archive/release-2.92.tar.gz" - } - }, - "lix-module": { - "inputs": { - "flake-utils": "flake-utils_2", - "flakey-profile": "flakey-profile", - "lix": "lix", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1756126040, - "narHash": "sha256-fGKofLHVsro1kE/vZK9Jbdn4DT10IsifO++TLbD+u6U=", - "ref": "release-2.92", - "rev": "1392ba36a33db0328796e23d3cdc57ab656a709b", - "revCount": 141, - "type": "git", - "url": "https://git.lix.systems/lix-project/nixos-module" - }, - "original": { - "ref": "release-2.92", - "type": "git", - "url": "https://git.lix.systems/lix-project/nixos-module" - } - }, "microvm": { "inputs": { "flake-utils": [ @@ -876,11 +805,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1756913421, - "narHash": "sha256-bApi+D4wQJe4tG03VySlb4lJOBWqpl8DK8niSfKT87U=", + "lastModified": 1758113222, + "narHash": "sha256-Q5i/qaj6v6F4N1Q5gI/4aL0IEEUE/LjQuwcA8L5IOMc=", "owner": "microvm-nix", "repo": "microvm.nix", - "rev": "2ba6697616834ff8c58ebc6180e4833c6d781b82", + "rev": "b9206e245c07c0782beff58e1e94bb48b2531d15", "type": "github" }, "original": { @@ -903,11 +832,11 @@ ] }, "locked": { - "lastModified": 1757210363, - "narHash": "sha256-9HMbjEk+/BOsJorm6GWyDYUAnbmCOjiUormYNexjSZU=", + "lastModified": 1758765258, + "narHash": "sha256-orU21BYUJn/7zMhIYbY7T5EDqZ8NtRMSH/f8Qtu047Q=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "a5aca63fe1d54a6b2ac4adf11a019d9d064ae98f", + "rev": "5a6c66b90ab4519b7578b54300abc308008c544e", "type": "github" }, "original": { @@ -940,11 +869,11 @@ "neorg": { "flake": false, "locked": { - "lastModified": 1757182962, - "narHash": "sha256-lVpk98h5q+yux4+TeNJHG11m1fb23337ynHqUbTC0dY=", + "lastModified": 1758674675, + "narHash": "sha256-DFpbdBfyW32d4QhH59+melM7cHK9tzm9awKjTDPJOvs=", "owner": "nvim-neorg", "repo": "neorg", - "rev": "c429af26352fc5194b24a4aa88fc5ecc406e23f9", + "rev": "4da2159b3f3420d43613f43e159f4253b8544474", "type": "github" }, "original": { @@ -971,11 +900,11 @@ ] }, "locked": { - "lastModified": 1757189806, - "narHash": "sha256-fnng5M7emGytCFZ8+mh8MEnbBA/YpT9m5UlVywedvaM=", + "lastModified": 1758838444, + "narHash": "sha256-r+lgeW52Xnoj9h8kO3SH1L0Vx3nBPs+LT3LHDL1Zrsc=", "owner": "nvim-neorg", "repo": "nixpkgs-neorg-overlay", - "rev": "b90b37d343654a6c34c270f5f92805976b6cb956", + "rev": "5c6198c38b308c2de94b9fe04b90609752903382", "type": "github" }, "original": { @@ -1007,11 +936,11 @@ ] }, "locked": { - "lastModified": 1757153783, - "narHash": "sha256-HtnGRQX7BCze1eNlcc5ejAMExPk4DSqBPh6j2Byov7E=", + "lastModified": 1757846222, + "narHash": "sha256-papocgox6HOM+BJrWmWZuRnuDXi625diuC3sajCXd9A=", "owner": "nix-community", "repo": "nh", - "rev": "036c141e2f14fb481f12c4d1498bc5d03d9e1865", + "rev": "8bf323483166797a204579a43ed8810113eb128c", "type": "github" }, "original": { @@ -1034,11 +963,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1757215047, - "narHash": "sha256-WV0+7nvxnUDaLqDO3UpUQcpz7najlwMin7otgDnB+EI=", + "lastModified": 1758901074, + "narHash": "sha256-R7XQL6ixYywDsGkorX05KnTlsIeQr9DzQ3geD9Ba6kU=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "298efb7f882c6e4496f6c770a8fe45dc68b5970c", + "rev": "397234705a9fa05464107c58286a8308be0c50c2", "type": "github" }, "original": { @@ -1067,11 +996,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1756926064, - "narHash": "sha256-5/1vyFRLvJWxhBgpPaV2orC0pjSgIny6JM6+joLyZok=", + "lastModified": 1758691861, + "narHash": "sha256-CYgoGrY/Fx+hjzp8graTxJw1M7mn1f2jBkK26M04T0s=", "owner": "YaLTeR", "repo": "niri", - "rev": "c69464c1288789020d9a086f86c970a7dc49b8c7", + "rev": "e837e39623457dc5ad29c34a5ce4d4616e5fbf1e", "type": "github" }, "original": { @@ -1104,11 +1033,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1757641478, - "narHash": "sha256-PZp0uvF6++tVln91cX8t0ZALMZHHoX++eeG7ysKgt1c=", + "lastModified": 1758851551, + "narHash": "sha256-7tKDTarLl/WSktFUDBRwLEOE0UV/OV0r3nEMzKXI8jY=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "5cba556b6c1a6fa4ea9c28d2e4cf946eff45ac07", + "rev": "b08fc1a88b61430a48761e5e6d3e977886391a54", "type": "github" }, "original": { @@ -1147,11 +1076,11 @@ ] }, "locked": { - "lastModified": 1757218147, - "narHash": "sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk=", + "lastModified": 1758427679, + "narHash": "sha256-xwjWRJTKDCjQ0iwfh7WhDhgcS0Wt3d1Yscg83mKBCn4=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "9b144dc3ef6e42b888c4190e02746aab13b0e97f", + "rev": "fd2569ca2ef7d69f244cd9ffcb66a0540772ff85", "type": "github" }, "original": { @@ -1203,11 +1132,11 @@ ] }, "locked": { - "lastModified": 1756766840, - "narHash": "sha256-02fYcmMTFNtoZz1vr1L29PcTGNzOi7TTBpa9R7Vt5KE=", + "lastModified": 1758151193, + "narHash": "sha256-G2OEzk56papp9ff6xYgs75sTS11HhaH7/0LC+SNNxMI=", "owner": "nix-community", "repo": "nixos-cli", - "rev": "d0e936af647599dafe2abea5054a9fa5136b5ad6", + "rev": "3e55bf23928fcaa0f426ec2cb3f509c62f7ca7e7", "type": "github" }, "original": { @@ -1218,11 +1147,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1757103352, - "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", + "lastModified": 1758663926, + "narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", + "rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1", "type": "github" }, "original": { @@ -1287,17 +1216,17 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_2", + "systems": "systems", "treefmt-nix": [ "treefmt-nix" ] }, "locked": { - "lastModified": 1757121626, - "narHash": "sha256-hSv9cR2IYOUPGnOEim5+LdmlOaEwaETZPNDZCfyOcws=", + "lastModified": 1758504570, + "narHash": "sha256-Ip1FZU7t84E1vFVFUyIGiNyMD5MYjJWZegrDDL6duwA=", "owner": "nix-community", "repo": "nixpkgs-xr", - "rev": "24d4fd0386d5b5e26807aa4996ab0f97903e5055", + "rev": "cc5ab1f8e3edfbb7b8a0d41a86a7b38ccea933a0", "type": "github" }, "original": { @@ -1308,11 +1237,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1756989294, - "narHash": "sha256-vh3F0p7pGvj9tItYjlqiZ3zTJCuw9+d74RhYCYLuaBQ=", + "lastModified": 1758815401, + "narHash": "sha256-Nj4iA2Msx0qfHPFDc0biubSsaChuZQlJrS3aNIaQ/T8=", "owner": "PedroHLC", "repo": "nixpkgs", - "rev": "f04ea9d87566cfe950cf45d7311a9964dcf3bf38", + "rev": "0cc09391d851ec12e1dcbb8d105a75ab6344432b", "type": "github" }, "original": { @@ -1324,11 +1253,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1756911493, - "narHash": "sha256-6n/n1GZQ/vi+LhFXMSyoseKdNfc2QQaSBXJdgamrbkE=", + "lastModified": 1758262103, + "narHash": "sha256-aBGl3XEOsjWw6W3AHiKibN7FeoG73dutQQEqnd/etR8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c6a788f552b7b7af703b1a29802a7233c0067908", + "rev": "12bd230118a1901a4a5d393f9f56b6ad7e571d01", "type": "github" }, "original": { @@ -1401,11 +1330,11 @@ ] }, "locked": { - "lastModified": 1757237279, - "narHash": "sha256-u0cJc2Thq0QF8fzTSy3617E83aAPsGKjnIKgaZBXW+I=", + "lastModified": 1758905102, + "narHash": "sha256-AG0VmMkLMkFDC4SedMVTcPy3I+vXtSa1KoHXOmaT77A=", "owner": "nix-community", "repo": "NUR", - "rev": "4dcb0b2bddd4456fc10d7f29862a1f1b1fd304e9", + "rev": "04411e57c6bb84f5c2250d9571d12d4bdd47c249", "type": "github" }, "original": { @@ -1490,7 +1419,6 @@ "infrastructure": "infrastructure", "konawall-py": "konawall-py", "lanzaboote": "lanzaboote", - "lix-module": "lix-module", "microvm": "microvm", "minecraft": "minecraft", "naersk": "naersk", @@ -1521,7 +1449,7 @@ "spicetify-nix": "spicetify-nix", "std": "std", "stylix": "stylix", - "systems": "systems_3", + "systems": "systems_2", "tree": "tree", "treefmt-nix": "treefmt-nix", "wezterm": "wezterm", @@ -1572,11 +1500,11 @@ ] }, "locked": { - "lastModified": 1757212513, - "narHash": "sha256-ZTHwY7u8BQF1JUazhGk+ftCjsS57Ht6KSnnkxQoUBA8=", + "lastModified": 1758854041, + "narHash": "sha256-kZ+24pbf4FiHlYlcvts64BhpxpHkPKIQXBmx1OmBAIo=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a8c2f9348abb14647d8a4899d1b3acd0155ce2cd", + "rev": "02227ca8c229c968dbb5de95584cfb12b4313104", "type": "github" }, "original": { @@ -1644,11 +1572,11 @@ ] }, "locked": { - "lastModified": 1754988908, - "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", + "lastModified": 1758425756, + "narHash": "sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ+Y=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", + "rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762", "type": "github" }, "original": { @@ -1683,11 +1611,11 @@ ] }, "locked": { - "lastModified": 1757219159, - "narHash": "sha256-bpiaovTLPeScpnOdqfgq3oy4B/sD2Wnb5EdQZZM2tCY=", + "lastModified": 1758584568, + "narHash": "sha256-FDxTheW6ynpbro/8eTZHhAY7J+HOf0jXeXq3jrJDcS8=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "404130798716449bbd02e5f1b54272be55218644", + "rev": "9e9e48ca16628bf09a02bc5449d4b0761e15eebd", "type": "github" }, "original": { @@ -1761,11 +1689,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1757172691, - "narHash": "sha256-VOn/s24rb+iO6auhmGfT5kyr0ixRK6weBsNCKkGo2yY=", + "lastModified": 1758905463, + "narHash": "sha256-8ANQ3MxULwolfkJEdUYlL5usISAxtysWctqqeSiJ/OE=", "owner": "nix-community", "repo": "stylix", - "rev": "9991299fe9aad330fb6b96bb58def37033271177", + "rev": "4aae0ebc2b0d37d4f90ace2c8bbadffadb2e2a97", "type": "github" }, "original": { @@ -1775,21 +1703,6 @@ } }, "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_2": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -1804,7 +1717,7 @@ "type": "github" } }, - "systems_3": { + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1933,11 +1846,11 @@ ] }, "locked": { - "lastModified": 1756662192, - "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=", + "lastModified": 1758728421, + "narHash": "sha256-ySNJ008muQAds2JemiyrWYbwbG+V7S5wg3ZVKGHSFu8=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", + "rev": "5eda4ee8121f97b218f7cc73f5172098d458f1d1", "type": "github" }, "original": { @@ -1964,11 +1877,11 @@ }, "locked": { "dir": "nix", - "lastModified": 1753901871, - "narHash": "sha256-l/ZFg1KW506CvkQKstNkEHnfY7p9aX5q4L6rFmxiKbo=", + "lastModified": 1757426712, + "narHash": "sha256-z+jxV8FrUqmCS+aa3R38frr5dOVdA85P8SPIM7AkuMs=", "owner": "wez", "repo": "wezterm", - "rev": "6a493f88fab06a792308e0c704790390fd3c6232", + "rev": "bf9a2aeebacec19fd07b55234d626f006b22d369", "type": "github" }, "original": { @@ -1999,11 +1912,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1757179758, - "narHash": "sha256-TIvyWzRt1miQj6Cf5Wy8Qz43XIZX7c4vTVwRLAT5S4Y=", + "lastModified": 1758577423, + "narHash": "sha256-sB2GAOjhjoWnjU6A/uHNJiY6O3UeztV5pJAN2g1FkXU=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "970728d0d9d1eada342bb8860af214b601139e58", + "rev": "03368548ba745e17a85bd631613a59cb2d8469a4", "type": "github" }, "original": { @@ -2020,11 +1933,11 @@ ] }, "locked": { - "lastModified": 1757218898, - "narHash": "sha256-mB3z1ssPry/wHgLd8gFOaltwQ9kIRTqrzikkcnxG720=", + "lastModified": 1758860615, + "narHash": "sha256-ZNzHF498lMfv1N/tlfD/Oaanu+REnIhJdreo2rSzU1w=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "2255b29eece0757827b9911ef685c963996542b6", + "rev": "a5f59feaf757aecb12e2fa2490e8a7c1eed12173", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ac2a7462..7ca22bce 100644 --- a/flake.nix +++ b/flake.nix @@ -30,14 +30,6 @@ nixpkgs.follows = "nixpkgs"; }; }; - lix-module = { - url = "git+https://git.lix.systems/lix-project/nixos-module?ref=release-2.92"; - inputs.nixpkgs.follows = "nixpkgs"; - #inputs.lix = { - # url = "git+https://git.lix.systems/lix-project/lix"; - # inputs.nixpkgs.follows = "nixpkgs"; - #}; - }; microvm = { url = "github:microvm-nix/microvm.nix/main"; inputs = { diff --git a/home/environments/niri/konawall.nix b/home/environments/niri/konawall.nix index b38a61ad..1d89fb29 100644 --- a/home/environments/niri/konawall.nix +++ b/home/environments/niri/konawall.nix @@ -8,6 +8,7 @@ interval = 30 * 60; rotate = true; tags = [ + "rating:s" "score:>=100" "width:>=1500" ]; diff --git a/home/environments/niri/window-rules.nix b/home/environments/niri/window-rules.nix index 5622c9d7..5da961fd 100644 --- a/home/environments/niri/window-rules.nix +++ b/home/environments/niri/window-rules.nix @@ -15,18 +15,39 @@ _: { { matches = [ - {app-id = "^firefox$";} - {app-id = "^zen-beta$";} - {app-id = "^zen$";} + { + app-id = "^firefox$"; + at-startup = true; + } + { + app-id = "^zen-beta$"; + at-startup = true; + } + { + app-id = "^zen$"; + at-startup = true; + } ]; open-on-workspace = "browser"; } { matches = [ - {app-id = "^vesktop$";} - {app-id = "^discord$";} - {app-id = "^org.telegram.desktop$";} - {app-id = "^Signal$";} + { + app-id = "^vesktop$"; + at-startup = true; + } + { + app-id = "^discord$"; + at-startup = true; + } + { + app-id = "^org.telegram.desktop$"; + at-startup = true; + } + { + app-id = "^Signal$"; + at-startup = true; + } ]; open-on-workspace = "chat"; } diff --git a/home/profiles/ci.nix b/home/profiles/ci.nix index 89f48568..a1fa43ce 100644 --- a/home/profiles/ci.nix +++ b/home/profiles/ci.nix @@ -1,3 +1,3 @@ {pkgs, ...}: { - nix.package = pkgs.lix; + nix.package = pkgs.lixPackageSets.stable.lix; } diff --git a/home/profiles/graphical/firefox/main.nix b/home/profiles/graphical/firefox/main.nix index 70c01b7b..d041249f 100644 --- a/home/profiles/graphical/firefox/main.nix +++ b/home/profiles/graphical/firefox/main.nix @@ -30,6 +30,7 @@ wappalyzer auto-tab-discard bitwarden + asbplayer darkreader decentraleyes clearurls diff --git a/modules/home/files-force.nix b/modules/home/files-force.nix index 930e4802..1b641d30 100644 --- a/modules/home/files-force.nix +++ b/modules/home/files-force.nix @@ -1,6 +1,5 @@ { config, - options, lib, ... }: let diff --git a/modules/home/i3/functions.nix b/modules/home/i3/functions.nix index 9115d3fb..391e5756 100644 --- a/modules/home/i3/functions.nix +++ b/modules/home/i3/functions.nix @@ -1,6 +1,5 @@ { cfg, - config, lib, moduleName, }: diff --git a/modules/home/waybar.nix b/modules/home/waybar.nix index 8740942d..06686bed 100644 --- a/modules/home/waybar.nix +++ b/modules/home/waybar.nix @@ -7,6 +7,6 @@ in mkIf config.programs.waybar.enable { systemd.user.services.waybar.Unit.X-Restart-Triggers = [ - (builtins.toString config.programs.waybar.style) + (builtins.hashString "sha256" config.programs.waybar.style) ]; } diff --git a/nixos/common/nix.nix b/nixos/common/nix.nix index 32e9ad09..606a6fb8 100644 --- a/nixos/common/nix.nix +++ b/nixos/common/nix.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +_: { nix = { gc = { automatic = true; @@ -10,7 +10,7 @@ "deploy" ]; }; - package = pkgs.lix; + #package = pkgs.lixPackageSets.stable.lix; }; system = { rebuild.enableNg = true; diff --git a/nixos/profiles/dev/packages.nix b/nixos/profiles/dev/packages.nix index 4a3f2836..abc96534 100644 --- a/nixos/profiles/dev/packages.nix +++ b/nixos/profiles/dev/packages.nix @@ -1,17 +1,6 @@ {pkgs, ...}: { environment.systemPackages = with pkgs; [ - (callPackage ida-pro { - runfile = pkgs.requireFile { - name = "ida-pro_92_x64linux.run"; - message = "Don't copy that floppy~!"; - hash = "sha256-qt0PiulyuE+U8ql0g0q/FhnzvZM7O02CdfnFAAjQWuE="; - }; - normalScript = pkgs.requireFile { - name = "ida-normalScript.py"; - message = "Floppy; copied."; - hash = "sha256-8UWf1RKsRNWJ8CC6ceDeIOv4eY3ybxZ9tv5MCHx80NY="; - }; - }) + ida-pro-kat android-studio ]; } diff --git a/nixos/profiles/gaming/steam.nix b/nixos/profiles/gaming/steam.nix index 6419a90c..3bd1f217 100644 --- a/nixos/profiles/gaming/steam.nix +++ b/nixos/profiles/gaming/steam.nix @@ -1,6 +1,11 @@ -_: { +{pkgs, ...}: { programs.steam = { enable = true; + package = pkgs.steam.override { + extraProfile = '' + unset TZ + ''; + }; remotePlay.openFirewall = true; platformOptimizations.enable = true; extraCompatPackages = [ diff --git a/nixos/profiles/gaming/wine.nix b/nixos/profiles/gaming/wine.nix index 50daac40..907b49e8 100644 --- a/nixos/profiles/gaming/wine.nix +++ b/nixos/profiles/gaming/wine.nix @@ -1,16 +1,88 @@ -{pkgs, ...}: { +{ + pkgs, + inputs, + ... +}: { + systemd.user.services.gw = { + description = "Guild Wars"; + serviceConfig = { + ExecStart = "${pkgs.katwine}/bin/katwine gw"; + Type = "simple"; + }; + environment = { + PROTON_CACHYOS = "${inputs.chaotic.packages.${pkgs.system}.proton-cachyos_x86_64_v3.out}/bin"; + PROTON_GE = "${inputs.chaotic.packages.${pkgs.system}.proton-ge-custom.out}/bin"; + }; + }; + systemd.user.services.gw2 = { + description = "Guild Wars 2"; + serviceConfig = { + ExecStart = "${pkgs.katwine}/bin/katwine gw2"; + Type = "simple"; + }; + environment = { + PROTON_CACHYOS = "${inputs.chaotic.packages.${pkgs.system}.proton-cachyos_x86_64_v3.out}/bin"; + PROTON_GE = "${inputs.chaotic.packages.${pkgs.system}.proton-ge-custom.out}/bin"; + }; + }; + systemd.user.services.battlenet = { + description = "Battle.net"; + serviceConfig = { + ExecStart = "${pkgs.katwine}/bin/katwine bnet"; + Type = "simple"; + }; + environment = { + PROTON_CACHYOS = "${inputs.chaotic.packages.${pkgs.system}.proton-cachyos_x86_64_v3.out}/bin"; + PROTON_GE = "${inputs.chaotic.packages.${pkgs.system}.proton-ge-custom.out}/bin"; + }; + }; + systemd.user.services.sc = { + description = "Starcraft"; + serviceConfig = { + ExecStart = "${pkgs.katwine}/bin/katwine sc"; + Type = "simple"; + }; + environment = { + PROTON_CACHYOS = "${inputs.chaotic.packages.${pkgs.system}.proton-cachyos_x86_64_v3.out}/bin"; + PROTON_GE = "${inputs.chaotic.packages.${pkgs.system}.proton-ge-custom.out}/bin"; + }; + }; + systemd.user.services.sc2 = { + description = "Starcraft 2"; + serviceConfig = { + ExecStart = "${pkgs.katwine}/bin/katwine sc2"; + Type = "simple"; + }; + environment = { + PROTON_CACHYOS = "${inputs.chaotic.packages.${pkgs.system}.proton-cachyos_x86_64_v3.out}/bin"; + PROTON_GE = "${inputs.chaotic.packages.${pkgs.system}.proton-ge-custom.out}/bin"; + }; + }; + systemd.user.services.wc3 = { + description = "Warcraft 3"; + serviceConfig = { + ExecStart = "${pkgs.katwine}/bin/katwine wc3 wc3"; + Type = "simple"; + }; + environment = { + PROTON_CACHYOS = "${inputs.chaotic.packages.${pkgs.system}.proton-cachyos_x86_64_v3.out}/bin"; + PROTON_GE = "${inputs.chaotic.packages.${pkgs.system}.proton-ge-custom.out}/bin"; + #PROTON_WC3 = "/home/kat/.local/share/Steam/compatibilitytools.d/GE-Proton10-3"; + PROTON_WC3 = "/home/kat/.local/share/Steam/steamapps/common/Proton - Experimental"; + }; + }; systemd.user.services.kanon = { description = "Kanon"; serviceConfig = { ExecStart = "${pkgs.katwine}/bin/katwine kanon"; - Type = "forking"; + Type = "simple"; }; }; systemd.user.services.hanahira = { description = "Hanahira"; serviceConfig = { ExecStart = "${pkgs.katwine}/bin/katwine hanahira"; - Type = "forking"; + Type = "simple"; }; }; } diff --git a/nixos/profiles/graphical/mullvad/default.nix b/nixos/profiles/graphical/mullvad/default.nix index 57b9ea8d..e3b784e9 100644 --- a/nixos/profiles/graphical/mullvad/default.nix +++ b/nixos/profiles/graphical/mullvad/default.nix @@ -1,6 +1,4 @@ -{lib, ...}: let - inherit (lib.generators) toJSON; - +_: let mullvadSettings = builtins.toJSON { allow_lan = true; auto_connect = true; diff --git a/nixos/servers/weechat/buflist.nix b/nixos/servers/weechat/buflist.nix index 534021f1..bdf87efa 100644 --- a/nixos/servers/weechat/buflist.nix +++ b/nixos/servers/weechat/buflist.nix @@ -1,4 +1,4 @@ -{config, ...}: { +_: { home-manager.users.kat.programs.weechat.config.buflist = { format = { indent = " "; # default " " diff --git a/nixos/servers/weechat/python.nix b/nixos/servers/weechat/python.nix index c1b64e7f..1b6e999e 100644 --- a/nixos/servers/weechat/python.nix +++ b/nixos/servers/weechat/python.nix @@ -1,5 +1,4 @@ { - config, pkgs, inputs, ... diff --git a/nixos/servers/weechat/weechat.nix b/nixos/servers/weechat/weechat.nix index 0ab50afd..13f15b6f 100644 --- a/nixos/servers/weechat/weechat.nix +++ b/nixos/servers/weechat/weechat.nix @@ -1,4 +1,4 @@ -{config, ...}: { +_: { home-manager.users.kat = { services.weechat.enable = true; programs.weechat = { diff --git a/overlays.nix b/overlays.nix index 5d512805..806dbaa7 100644 --- a/overlays.nix +++ b/overlays.nix @@ -3,13 +3,37 @@ tree, ... }: [ + # https://lix.systems/add-to-config/#flake-based-configurations + (_final: prev: { + inherit + (prev.lixPackageSets.stable) + nixpkgs-review + nix-eval-jobs + nix-fast-build + colmena + ; + }) + inputs.ida-pro-overlay.overlays.default + (final: prev: { + ida-pro-kat = prev.callPackage final.ida-pro { + runfile = final.requireFile { + name = "ida-pro_92_x64linux.run"; + message = "Don't copy that floppy~!"; + hash = "sha256-qt0PiulyuE+U8ql0g0q/FhnzvZM7O02CdfnFAAjQWuE="; + }; + normalScript = final.requireFile { + name = "ida-normalScript.py"; + message = "Floppy; copied."; + hash = "sha256-8UWf1RKsRNWJ8CC6ceDeIOv4eY3ybxZ9tv5MCHx80NY="; + }; + }; + }) inputs.rbw-bitw.overlays.default #inputs.arcexprs.overlays.default inputs.darwin.overlays.default inputs.deploy-rs.overlays.default inputs.neorg-overlay.overlays.default inputs.nix-gaming.overlays.default - inputs.ida-pro-overlay.overlays.default inputs.niri.overlays.niri (import tree.packages.default {inherit inputs tree;}) (_final: prev: { diff --git a/packages/katwine/default.nix b/packages/katwine/default.nix index efe00d91..3f5c9871 100644 --- a/packages/katwine/default.nix +++ b/packages/katwine/default.nix @@ -2,16 +2,20 @@ lib, writeShellScriptBin, coreutils, - wine-tkg-ntsync, wine-discord-ipc-bridge, -}: let - inherit (lib) makeBinPath; -in - writeShellScriptBin "katwine" '' - export PATH="$PATH:${lib.makeBinPath [ - coreutils - wine-tkg-ntsync - ]}" - export DISCORDINTEGRATION="${wine-discord-ipc-bridge}"; - exec ${./script.sh} "$@" - '' + umu-launcher, + mangohud, + vkbasalt, + wine-tkg, +}: +writeShellScriptBin "katwine" '' + export PATH="$PATH:${lib.makeBinPath [ + coreutils + umu-launcher + mangohud + vkbasalt + wine-tkg + ]}" + export DISCORDINTEGRATION="${wine-discord-ipc-bridge}"; + source ${./script.sh} +'' diff --git a/packages/katwine/script.sh b/packages/katwine/script.sh index 5620d2af..2411a7ac 100755 --- a/packages/katwine/script.sh +++ b/packages/katwine/script.sh @@ -1,32 +1,182 @@ #!/usr/bin/env bash set -eoux pipefail -WINEARCH="win64" -GAME="$1" -runner() { - env TZ="$TZ_JP" LC_ALL="$LC_JP" WINEARCH="$WINEARCH" WINEPREFIX="$WINEPREFIX" wine "$@" +# +# Subsystem configuration +# + +system_conf() { + WINE_CPU_TOPOLOGY=$(nproc --all) + export WINE_CPU_TOPOLOGY } +dxvk_conf() { + export DXVK_CONFIG_FILE="${GAMES_DIR}/dxvk/dxvk.conf" + export DXVK_USE_PIPECOMPILER=1 +} + +vkbasalt_conf() { + export ENABLE_VKBASALT=1 + export VKBASALT_CONFIG_FILE="${GAMES_DIR}/vkbasalt/vkBasalt_FilmicMedium.cfg" + export VKBASALT_LOG_FILE="${GAMES_DIR}/vkbasalt/vkBasalt_FilmicMedium.log" + export VKBASALT_LOG_LEVEL="info" +} + +caches_conf() { + export MESA_SHADER_CACHE_DIR="${GAMEDIR}/shader-cache"; + export __GL_SHADER_DISK_CACHE=1 + export __GL_SHADER_DISK_CACHE_PATH="$WINEPREFIX" +} + +mangohud_conf() { + export MANGOHUD=1 + export MANGOHUD_CONFIG="no_display,vsync=1,gl_vsync=0,engine_version,ram,vram,gpu_name,cpu_stats,gpu_stats,frametime,time,wine,winesync,vkbasalt,position=bottom-right,font_size=36" +} + +proton_conf() { + export PROTON_USE_NTSYNC=1 +} + +proton_setup() { + system_conf + mangohud_conf + proton_conf + caches_conf + vkbasalt_conf + dxvk_conf +} + +# +# Runners (Wine, Proton, ...) +# + +wine_runner() { + env TZ="$TZ_IN" LC_ALL="$LC_IN" WINEARCH="$WINEARCH" WINEPREFIX="$WINEPREFIX" wine "$@" +} + +proton_runner() { + # https://www.ibm.com/docs/en/idr/11.4.0?topic=zos-time-zone-codes-tz-environment-variable + # I don't know why, but for some reason proton uses UTC no matter what. I've tried: + # * --unset=TZ + # * changing the TZDIR + # * not providing any change to TZ or TZDIR + # The only thing! The only thing that has worked is using something from the link above. + env TZ="PST8PDT" WINEARCH="$WINEARCH" WINEPREFIX="$WINEPREFIX" STORE="none" PROTONPATH="$PROTONPATH" umu-run "$@" +} + +# +# Common executable category abstraction +# + vn() { - WINEPREFIX="/home/kat/Games/VNs" + WINEPREFIX="${GAMES_DIR}/VNs" cd "$WINEPREFIX" - LC_JP="ja_JP.UTF-8" - TZ_JP="Asia/Tokyo" - runner "./drive_c/cmd.exe" /k "C:/script.bat" "$@" + LC_IN="ja_JP.UTF-8" + TZ_IN="Asia/Tokyo" + wine_runner "./drive_c/cmd.exe" /k "C:/script.bat" "$@" } -main() { - if [[ "$GAME" == "kanon" ]]; then - VN_DIR="C:/KEY/KANON_SE_ALL" - VN_EXE="./REALLIVE.exe" - VN_ARCH="x86" - vn "$VN_DIR" "$VN_EXE" "$VN_ARCH" - elif [[ "$GAME" == "hanahira" ]]; then - VN_DIR="C:/hanahira" - VN_EXE="./HANA9.exe" - VN_ARCH="x86" - vn "$VN_DIR" "$VN_EXE" "$VN_ARCH" +battlenet() { + WINEPREFIX="${GAMES_DIR}/battlenet" + GAMEDIR="${WINEPREFIX}/drive_c/Program Files (x86)/Battle.net" + GAME_EXE="${GAMEDIR}/Battle.net.exe" + proton_setup + if [ "$#" -ge 1 ]; then + case $1 in + (sc1|s1|sc) + proton_runner "$GAME_EXE" "--exec=\"launch S1\"" ;; + (sc2|s2) + proton_runner "$GAME_EXE" "--exec=\"launch S2\"" ;; + (wc3|w3) + export STAGING_SHARED_MEMORY=1 + export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 + proton_runner "$GAME_EXE" "--exec=\"launch W3\"" ;; + esac + else + proton_runner "$GAME_EXE" fi } -main +# +# Core decision making +# + +main() { + WINEARCH="win64" + + if [ "$#" -ge 1 ]; then + GAME="$1" + else + echo "Please provide at least one parameter"; + exit 1 + fi + + GAMES_DIR="/home/kat/Games"; + + # Allow dynamic choice of Proton type to avoid hardcoding + if [ "$#" -ge 2 ]; then + PROTONTYPE="${2^^}" + PROTONVAR="PROTON_${PROTONTYPE}" + # indirection <3 + PROTONPATH="${!PROTONVAR}" + DEFAULT_PROTON=0 + else + # at least have a default, though (sorry users <3) + DEFAULT_PROTON=1 + fi + + export PROTON_LOG=1 + + case "$GAME" in + (kanon) + VN_DIR="C:/KEY/KANON_SE_ALL" + VN_EXE="./REALLIVE.exe" + VN_ARCH="x86" + vn "$VN_DIR" "$VN_EXE" "$VN_ARCH" ;; + (hanahira) + VN_DIR="C:/hanahira" + VN_EXE="./HANA9.exe" + VN_ARCH="x86" + vn "$VN_DIR" "$VN_EXE" "$VN_ARCH" ;; + (gw2) + WINEPREFIX="${GAMES_DIR}/guild-wars-2"; + GAMEDIR="${WINEPREFIX}/drive_c/Program Files/Guild Wars 2" + GAME_EXE="${GAMEDIR}/Gw2-64.exe" + export GAMEID="umu-1284210" + cd "$GAMEDIR" + if [ $DEFAULT_PROTON -ne 0 ]; then + PROTONPATH="$PROTON_CACHYOS" + fi + proton_setup + proton_runner "$GAME_EXE" "-autologin" "-windowed" ;; + (gw|gw1) + WINEPREFIX="${GAMES_DIR}/guild-wars"; + GAMEDIR="${WINEPREFIX}/drive_c/Program Files/Guild Wars" + GAME_EXE="${GAMEDIR}/Gw.exe" + cd "$GAMEDIR" + if [ $DEFAULT_PROTON -ne 0 ]; then + # GW1 doesn't work with Proton CachyOS at the moment + PROTONPATH="$PROTON_GE" + fi + proton_setup + proton_runner "$GAME_EXE" "-lodfull" "-bmp" "-dsound" ;; + (bnet|battlenet) + if [ $DEFAULT_PROTON -ne 0 ]; then + PROTONPATH="$PROTON_GE" + fi + battlenet ;; + (sc1|s1|sc|sc2|s2|wc3|w3) + if [ $DEFAULT_PROTON -ne 0 ]; then + PROTONPATH="$PROTON_GE" + fi + battlenet "${GAME}" ;; + (*) + echo "Unhandled case for \$GAME: \"${GAME}\"" ;; + esac +} + +# +# Entrypoint +# + +main "$@" diff --git a/packages/nf-build-system/default.nix b/packages/nf-build-system/default.nix index 4ca0af59..121d49fc 100644 --- a/packages/nf-build-system/default.nix +++ b/packages/nf-build-system/default.nix @@ -6,16 +6,14 @@ jq, lix, curl, -}: let - inherit (lib) makeBinPath; -in - writeShellScriptBin "nf-build-system" '' - export PATH="$PATH:${lib.makeBinPath [ - git - cachix - jq - lix - curl - ]}" - exec ${./build-system.sh} "$@" - '' +}: +writeShellScriptBin "nf-build-system" '' + export PATH="$PATH:${lib.makeBinPath [ + git + cachix + jq + lix + curl + ]}" + exec ${./build-system.sh} "$@" +'' diff --git a/packages/nf-update/default.nix b/packages/nf-update/default.nix index 63e7930f..d67f7683 100644 --- a/packages/nf-update/default.nix +++ b/packages/nf-update/default.nix @@ -6,16 +6,14 @@ jq, lix, curl, -}: let - inherit (lib) makeBinPath; -in - writeShellScriptBin "nf-update" '' - export PATH="$PATH:${lib.makeBinPath [ - git - cachix - jq - lix - curl - ]}" - exec ${./update.sh} "$@" - '' +}: +writeShellScriptBin "nf-update" '' + export PATH="$PATH:${lib.makeBinPath [ + git + cachix + jq + lix + curl + ]}" + exec ${./update.sh} "$@" +'' diff --git a/packages/nvidia-vram/default.nix b/packages/nvidia-vram/default.nix index f84d0f6b..42fbdd3d 100644 --- a/packages/nvidia-vram/default.nix +++ b/packages/nvidia-vram/default.nix @@ -3,13 +3,11 @@ linuxPackages, bc, writeShellScriptBin, -}: let - inherit (lib) makeBinPath; -in - writeShellScriptBin "nvidia-vram" '' - export PATH="$PATH:${lib.makeBinPath [ - linuxPackages.nvidia_x11 - bc - ]}" - exec ${./nvidia-vram.sh} "$@" - '' +}: +writeShellScriptBin "nvidia-vram" '' + export PATH="$PATH:${lib.makeBinPath [ + linuxPackages.nvidia_x11 + bc + ]}" + exec ${./nvidia-vram.sh} "$@" +'' diff --git a/shells/default.nix b/shells/default.nix index 51059d85..6f8ad081 100644 --- a/shells/default.nix +++ b/shells/default.nix @@ -1,5 +1,4 @@ { - lib, tree, inputs, std, diff --git a/shells/repo.nix b/shells/repo.nix index d48ea8f7..a925a825 100644 --- a/shells/repo.nix +++ b/shells/repo.nix @@ -1,7 +1,6 @@ { pkgs, inputs, - checks, ... }: with pkgs; let diff --git a/tree.nix b/tree.nix index f46f03e5..06e521e4 100644 --- a/tree.nix +++ b/tree.nix @@ -89,7 +89,6 @@ nix-gaming.nixosModules.platformOptimizations clipboard-sync.nixosModules.default niri.nixosModules.niri - lix-module.nixosModules.default nixos-cli.nixosModules.nixos-cli nix-flatpak.nixosModules.nix-flatpak stylix.nixosModules.stylix