feat(katwine): more work

This commit is contained in:
Kat Inskip 2025-10-06 07:51:13 -07:00
parent 9f4d7a5ade
commit 433d6435e2
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
28 changed files with 453 additions and 297 deletions

View file

@ -1,8 +1,4 @@
{
channels,
config,
...
}: {
{channels, ...}: {
bootstrap.packages.nix = channels.nixpkgs.lix;
nixpkgs.args = {
localSystem = "x86_64-linux";

View file

@ -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"];

267
flake.lock generated
View file

@ -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": {

View file

@ -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 = {

View file

@ -8,6 +8,7 @@
interval = 30 * 60;
rotate = true;
tags = [
"rating:s"
"score:>=100"
"width:>=1500"
];

View file

@ -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";
}

View file

@ -1,3 +1,3 @@
{pkgs, ...}: {
nix.package = pkgs.lix;
nix.package = pkgs.lixPackageSets.stable.lix;
}

View file

@ -30,6 +30,7 @@
wappalyzer
auto-tab-discard
bitwarden
asbplayer
darkreader
decentraleyes
clearurls

View file

@ -1,6 +1,5 @@
{
config,
options,
lib,
...
}: let

View file

@ -1,6 +1,5 @@
{
cfg,
config,
lib,
moduleName,
}:

View file

@ -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)
];
}

View file

@ -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;

View file

@ -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
];
}

View file

@ -1,6 +1,11 @@
_: {
{pkgs, ...}: {
programs.steam = {
enable = true;
package = pkgs.steam.override {
extraProfile = ''
unset TZ
'';
};
remotePlay.openFirewall = true;
platformOptimizations.enable = true;
extraCompatPackages = [

View file

@ -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";
};
};
}

View file

@ -1,6 +1,4 @@
{lib, ...}: let
inherit (lib.generators) toJSON;
_: let
mullvadSettings = builtins.toJSON {
allow_lan = true;
auto_connect = true;

View file

@ -1,4 +1,4 @@
{config, ...}: {
_: {
home-manager.users.kat.programs.weechat.config.buflist = {
format = {
indent = " "; # default " "

View file

@ -1,5 +1,4 @@
{
config,
pkgs,
inputs,
...

View file

@ -1,4 +1,4 @@
{config, ...}: {
_: {
home-manager.users.kat = {
services.weechat.enable = true;
programs.weechat = {

View file

@ -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: {

View file

@ -2,16 +2,20 @@
lib,
writeShellScriptBin,
coreutils,
wine-tkg-ntsync,
wine-discord-ipc-bridge,
}: let
inherit (lib) makeBinPath;
in
writeShellScriptBin "katwine" ''
umu-launcher,
mangohud,
vkbasalt,
wine-tkg,
}:
writeShellScriptBin "katwine" ''
export PATH="$PATH:${lib.makeBinPath [
coreutils
wine-tkg-ntsync
umu-launcher
mangohud
vkbasalt
wine-tkg
]}"
export DISCORDINTEGRATION="${wine-discord-ipc-bridge}";
exec ${./script.sh} "$@"
''
source ${./script.sh}
''

View file

@ -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 "$@"

View file

@ -6,10 +6,8 @@
jq,
lix,
curl,
}: let
inherit (lib) makeBinPath;
in
writeShellScriptBin "nf-build-system" ''
}:
writeShellScriptBin "nf-build-system" ''
export PATH="$PATH:${lib.makeBinPath [
git
cachix
@ -18,4 +16,4 @@ in
curl
]}"
exec ${./build-system.sh} "$@"
''
''

View file

@ -6,10 +6,8 @@
jq,
lix,
curl,
}: let
inherit (lib) makeBinPath;
in
writeShellScriptBin "nf-update" ''
}:
writeShellScriptBin "nf-update" ''
export PATH="$PATH:${lib.makeBinPath [
git
cachix
@ -18,4 +16,4 @@ in
curl
]}"
exec ${./update.sh} "$@"
''
''

View file

@ -3,13 +3,11 @@
linuxPackages,
bc,
writeShellScriptBin,
}: let
inherit (lib) makeBinPath;
in
writeShellScriptBin "nvidia-vram" ''
}:
writeShellScriptBin "nvidia-vram" ''
export PATH="$PATH:${lib.makeBinPath [
linuxPackages.nvidia_x11
bc
]}"
exec ${./nvidia-vram.sh} "$@"
''
''

View file

@ -1,5 +1,4 @@
{
lib,
tree,
inputs,
std,

View file

@ -1,7 +1,6 @@
{
pkgs,
inputs,
checks,
...
}:
with pkgs; let

View file

@ -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