Compare commits

..

No commits in common. "c8509fbf7b7c77e2e72a67cee89d97d02b1cdb8f" and "56955abbe8993347c78799048387333a1af59d1e" have entirely different histories.

17 changed files with 571 additions and 365 deletions

268
flake.lock generated
View file

@ -3,11 +3,11 @@
"aphorme_launcher": { "aphorme_launcher": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1719922896, "lastModified": 1713530567,
"narHash": "sha256-mOtCz42NFQn+0xPF3gBX4WHfo5UEClSsJ/tF8RdFQkY=", "narHash": "sha256-p1ZIMMDyQWVzoeyHb3sbeV6XQwbIDoQwJU8ynI8hGUI=",
"owner": "Iaphetes", "owner": "Iaphetes",
"repo": "aphorme_launcher", "repo": "aphorme_launcher",
"rev": "c7c7ce9f91a31cced181fa501a2cad3c68035def", "rev": "abc42c3d9e98dfd2c910cf348110232ff25129b4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -20,11 +20,11 @@
"ath11k-firmware": { "ath11k-firmware": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1729352325, "lastModified": 1720482684,
"narHash": "sha256-U2rdpaKV09mLDIt7MNdbolE8HBzXawXoo7uo3HY5gBk=", "narHash": "sha256-p6ifwtRNUOyQ2FN2VhSXS6dcrvrtiFZawu/iVXQ4uR0=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "4c8ae2fb2b78d5b0bebed63fe8b0f348f9fbc33e", "rev": "bb527dcebac835c47ed4f5428a7687769fa9b1b2",
"revCount": 160, "revCount": 152,
"type": "git", "type": "git",
"url": "https://git.codelinaro.org/clo/ath-firmware/ath11k-firmware.git" "url": "https://git.codelinaro.org/clo/ath-firmware/ath11k-firmware.git"
}, },
@ -43,11 +43,11 @@
"stable": "stable" "stable": "stable"
}, },
"locked": { "locked": {
"lastModified": 1728263678, "lastModified": 1711386353,
"narHash": "sha256-gyUVsPAWY9AgVKjrNPoowrIr5BvK4gI0UkDXvv8iSxA=", "narHash": "sha256-gWEpb8Hybnoqb4O4tmpohGZk6+aerAbJpywKcFIiMlg=",
"owner": "zhaofengli", "owner": "zhaofengli",
"repo": "colmena", "repo": "colmena",
"rev": "b0a62f234fae02a006123e661ff70e62af16106b", "rev": "cd65ef7a25cdc75052fbd04b120aeb066c3881db",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -57,12 +57,17 @@
} }
}, },
"crane": { "crane": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1730060262, "lastModified": 1720226507,
"narHash": "sha256-RMgSVkZ9H03sxC+Vh4jxtLTCzSjPq18UWpiM0gq6shQ=", "narHash": "sha256-yHVvNsgrpyNTXZBEokL8uyB2J6gB1wEx0KOJzoeZi1A=",
"owner": "ipetkov", "owner": "ipetkov",
"repo": "crane", "repo": "crane",
"rev": "498d9f122c413ee1154e8131ace5a35a80d8fa76", "rev": "0aed560c5c0a61c9385bddff471a13036203e11c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -79,11 +84,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727359191, "lastModified": 1718008439,
"narHash": "sha256-5PltTychnExFwzpEnY3WhOywaMV/M6NxYI/y3oXuUtw=", "narHash": "sha256-nlh/2uD5p2SAdkn6Zuey20yaR5FFWvhL3poapDGNE4Y=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "67dc29be3036cc888f0b9d4f0a788ee0f6768700", "rev": "c1cfbfad7cb45f0c177b35b59ba67d1b5fc7ca82",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -118,11 +123,11 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1730442928, "lastModified": 1713421495,
"narHash": "sha256-U1DWb5c3EfkA7pqx5V1H4AWRA+EaE6UJ0lIRvK1RxgM=", "narHash": "sha256-5vVF9W1tJT+WdfpWAEG76KywktKDAW/71mVmNHEHjac=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "87b4d20f896c99018dde4702a9c6157b516f2a76", "rev": "fd47b1f9404fae02a4f38bd9f4b12bad7833c96b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -165,11 +170,11 @@
}, },
"flake-compat_3": { "flake-compat_3": {
"locked": { "locked": {
"lastModified": 1717312683, "lastModified": 1688025799,
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=", "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea", "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -183,11 +188,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1727826117, "lastModified": 1712014858,
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -204,11 +209,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726153070, "lastModified": 1717285511,
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -226,11 +231,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722555600, "lastModified": 1701473968,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -277,11 +282,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1726560853, "lastModified": 1710146030,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -310,11 +315,11 @@
}, },
"get-flake": { "get-flake": {
"locked": { "locked": {
"lastModified": 1714237590, "lastModified": 1694475786,
"narHash": "sha256-9gtHdGbzFHaR20xORN8IYd67ROWS+1nqQ5CsPf9MD8I=", "narHash": "sha256-s5wDmPooMUNIAAsxxCMMh9g68AueGg63DYk2hVZJbc8=",
"owner": "ursi", "owner": "ursi",
"repo": "get-flake", "repo": "get-flake",
"rev": "a6c57417d1b857b8be53aba4095869a0f438c502", "rev": "ac54750e3b95dab6ec0726d77f440efe6045bec1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -326,11 +331,11 @@
"jay": { "jay": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1730371037, "lastModified": 1713529603,
"narHash": "sha256-oMVScShS67LZz3BeZTABDQWHv8hZqBXuj+ng14OIr9E=", "narHash": "sha256-PjHxMABsAbQ6ZkjsmdREQ5D4CTtxCF1aRlyEqKsXMls=",
"owner": "mahkoh", "owner": "mahkoh",
"repo": "jay", "repo": "jay",
"rev": "f36993eb6eea000f386fbf5bfa3d08dac1bd43c1", "rev": "670588fe4dc5ea1051e34d51c99282f6c8c4d2b2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -345,11 +350,11 @@
"nixpkgs-lib": "nixpkgs-lib_2" "nixpkgs-lib": "nixpkgs-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1730031145, "lastModified": 1713105314,
"narHash": "sha256-GZz0LGkeduajnF7zUuPu5evNyoOATcSsRZCkG1OqiwY=", "narHash": "sha256-X3URKbcgIy4UaQGrsy3DmY5x+fePQ5IYaa76YewoUE0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lib-aggregate", "repo": "lib-aggregate",
"rev": "7d235f23a84b54c39b1579b68b13e1ff83f5b1ad", "rev": "f347ed9a1cab12c27541ed4d173e2f2d5c9bc0bb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -378,11 +383,11 @@
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1730389079, "lastModified": 1705242886,
"narHash": "sha256-g/CJ/KKe5MGsVx1oCBl0F9aCdcNSDeOw8H7e5QDGa2c=", "narHash": "sha256-TLj334vRwFtSym3m+NnKcNCnKKPNoTC/TDZL40vmOso=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-eval-jobs", "repo": "nix-eval-jobs",
"rev": "7f9159a16584ee86eed077c8a73e845690b7d513", "rev": "6b03a93296faf174b97546fd573c8b379f523a8d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -400,11 +405,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1720066371, "lastModified": 1701208414,
"narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", "narHash": "sha256-xrQ0FyhwTZK6BwKhahIkUVZhMNk21IEI1nUcWSONtpo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-github-actions", "repo": "nix-github-actions",
"rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", "rev": "93e39cc1a087d65bcf7a132e75a650c44dd2b734",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -420,11 +425,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1730426202, "lastModified": 1729216050,
"narHash": "sha256-swwKpE3lrdvcSh6Hjyf/eSe/zPnsZgeVlSl+B4yBpeo=", "narHash": "sha256-eVfbrE7JnaxFeGndHjTGGxuFoqZ6+/CjS2qfvV1HsXg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "96dcbddd24edc60ad47f41bb2a73e06099eba4af", "rev": "4dfd7581aaf0f25d3b7695a10dcfb1dfe4ebb953",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -445,11 +450,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1729496181, "lastModified": 1718803059,
"narHash": "sha256-LrCxIU6laEf4JD1QtOBNr+PASY6CbNPpUrjLIUizt+Y=", "narHash": "sha256-MYvDgSPWdF0hP6vzOhpqY+2a66ZLELFj+MUP5S/+dBY=",
"owner": "numtide", "owner": "numtide",
"repo": "nixos-anywhere", "repo": "nixos-anywhere",
"rev": "51d347d35caec995d36d1450cb5bb183318c7fb7", "rev": "ce18c086d8ca143d43ab20b3db20ab1e3e62c519",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -471,11 +476,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727367213, "lastModified": 1717994219,
"narHash": "sha256-7O4pi8MmcJpA0nYUQkdolvKGyu6zNjf2gFYD1Q0xppc=", "narHash": "sha256-ueTu01bYU5QXdL77psMkApYHpk339xNHg/M7ZzP3uPI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-images", "repo": "nixos-images",
"rev": "3e7978bab153f39f3fc329ad346d35a8871420f7", "rev": "e2fd329c3a39a90bb43e1e2cf47c180ed57831bf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -486,11 +491,11 @@
}, },
"nixos-stable": { "nixos-stable": {
"locked": { "locked": {
"lastModified": 1727264057, "lastModified": 1717696253,
"narHash": "sha256-KQPI8CTTnB9CrJ7LrmLC4VWbKZfljEPBXOFGZFRpxao=", "narHash": "sha256-1+ua0ggXlYYPLTmMl3YeYYsBXDSCqT+Gw3u6l4gvMhA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "759537f06e6999e141588ff1c9be7f3a5c060106", "rev": "9b5328b7f761a7bbdc0e332ac4cf076a3eedb89b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -550,11 +555,11 @@
}, },
"nixpkgs-2311": { "nixpkgs-2311": {
"locked": { "locked": {
"lastModified": 1720535198, "lastModified": 1713344939,
"narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=", "narHash": "sha256-jpHkAt0sG2/J7ueKnG7VvLLkBYUMQbXQ2L8OBpVG53s=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5", "rev": "e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -566,11 +571,11 @@
}, },
"nixpkgs-2405": { "nixpkgs-2405": {
"locked": { "locked": {
"lastModified": 1730327045, "lastModified": 1717144377,
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=", "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "080166c15633801df010977d9d7474b4a6c549d7", "rev": "805a384895c696f802a9bf5bf4720f37385df547",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -598,23 +603,29 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1727825735, "dir": "lib",
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", "lastModified": 1711703276,
"type": "tarball", "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" "owner": "NixOS",
"repo": "nixpkgs",
"rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
"type": "github"
}, },
"original": { "original": {
"type": "tarball", "dir": "lib",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" "owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-lib_2": { "nixpkgs-lib_2": {
"locked": { "locked": {
"lastModified": 1729990941, "lastModified": 1713055793,
"narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", "narHash": "sha256-vIrZQykYW32RnlI2lT/gCcB59BOIqqrAmPirBdiirrc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "7d68864343650322045894951602d6e82b5296d7", "rev": "361d8a4f443bbfab20bd6d222f9022b8c6665906",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -625,27 +636,27 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1729973466, "lastModified": 1713434076,
"narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=", "narHash": "sha256-+/p5edwlkqKZc6GDAQl+92Hoe1f3NNbUF9uj+X9H3pU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cd3e8833d70618c4eea8df06f95b364b016d4950", "rev": "8494ae076b7878d61a7d2d25e89a847fe8f8364c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "release-24.05", "ref": "release-23.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1730200266, "lastModified": 1713297878,
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", "narHash": "sha256-hOkzkhLT59wR8VaMbh1ESjtZLbGi+XNaBN6h49SPqEc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", "rev": "66adc1e47f8784803f2deb6cacd5e07264ec2d5c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -657,11 +668,11 @@
}, },
"nixpkgs-vscodium": { "nixpkgs-vscodium": {
"locked": { "locked": {
"lastModified": 1730200266, "lastModified": 1713297878,
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", "narHash": "sha256-hOkzkhLT59wR8VaMbh1ESjtZLbGi+XNaBN6h49SPqEc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", "rev": "66adc1e47f8784803f2deb6cacd5e07264ec2d5c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -679,11 +690,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1730425081, "lastModified": 1713543674,
"narHash": "sha256-c8JK1Zuc9QjfLfbnAEtB3uHz5pd+RMgMiR263TEtwAs=", "narHash": "sha256-vQPF8Y36O99EuS0aVIZDlO9SuwlXzGfzQGNKeaBTFxg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs-wayland", "repo": "nixpkgs-wayland",
"rev": "968d7a95604a2ec252ce9912199dfa9ec6410ff0", "rev": "ee21b656ea43b305c8f7e25ab2994aec375083eb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -694,11 +705,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1723221148, "lastModified": 1703134684,
"narHash": "sha256-7pjpeQlZUNQ4eeVntytU3jkw9dFK3k1Htgk2iuXjaD8=", "narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "154bcb95ad51bc257c2ce4043a725de6ca700ef6", "rev": "d6863cbcbbb80e71cecfc03356db1cda38919523",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -710,11 +721,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1730200266, "lastModified": 1713297878,
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", "narHash": "sha256-hOkzkhLT59wR8VaMbh1ESjtZLbGi+XNaBN6h49SPqEc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", "rev": "66adc1e47f8784803f2deb6cacd5e07264ec2d5c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -727,11 +738,11 @@
"ofi-pass": { "ofi-pass": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723412133, "lastModified": 1691863924,
"narHash": "sha256-rOVbz4v1+DHPJMvRtxdOFWdOHlaxI7G2vm0bgEV/0Cg=", "narHash": "sha256-Vkm3QXjkLIu0RnM0w+upzAF9M7atKBPYqiV7f+eBKJY=",
"owner": "sereinity", "owner": "sereinity",
"repo": "ofi-pass", "repo": "ofi-pass",
"rev": "2b6aa6a3fc0504e63df4ac3449e0065a1a4d19d0", "rev": "b20bd3440686429b113821c51a68b799675d5bb0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -810,6 +821,7 @@
"nixpkgs-2211" "nixpkgs-2211"
], ],
"rperf": "rperf", "rperf": "rperf",
"salut": "salut",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"srvos": "srvos", "srvos": "srvos",
"x13s-bt-firmware": "x13s-bt-firmware", "x13s-bt-firmware": "x13s-bt-firmware",
@ -835,11 +847,11 @@
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1730386175, "lastModified": 1713373173,
"narHash": "sha256-0Uq+/B8eu7pw8B8pxuGdFYKjcVLwNMcHfDxU9sXh7rg=", "narHash": "sha256-octd9BFY9G/Gbr4KfwK4itZp4Lx+qvJeRRcYnN+dEH8=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "0ba893e1a00d92557ac91efb771d72eee36ca687", "rev": "46702ffc1a02a2ac153f1d1ce619ec917af8f3a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -849,6 +861,22 @@
"type": "github" "type": "github"
} }
}, },
"salut": {
"flake": false,
"locked": {
"lastModified": 1671283721,
"narHash": "sha256-W0lhhImSXtYJDeMbxyEioYu/Bh7ZclwR1/5DzNbxM8o=",
"owner": "snakedye",
"repo": "salut",
"rev": "aa57c4d190812908a9c32cd49cff14390c6dfdcb",
"type": "gitlab"
},
"original": {
"owner": "snakedye",
"repo": "salut",
"type": "gitlab"
}
},
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -857,11 +885,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1729999681, "lastModified": 1713532771,
"narHash": "sha256-qm0uCtM9bg97LeJTKQ8dqV/FvqRN+ompyW4GIJruLuw=", "narHash": "sha256-vfKxhYVMzG2tg48/1rewBoSLCrKIjQsG1j7Nm/Y2gf4=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "1666d16426abe79af5c47b7c0efa82fd31bf4c56", "rev": "a929a011a09db735abc45a8a45d1ff7fdee62755",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -877,11 +905,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1730335989, "lastModified": 1713533513,
"narHash": "sha256-hG7H+EcNZfNa5tsUzMX+NBYpG4viCTvfRp5t7ZUnKW8=", "narHash": "sha256-nv5GmWaGryyZU8ihQIYLZWasqaXTZKGTjsypG0TRw9Q=",
"owner": "numtide", "owner": "numtide",
"repo": "srvos", "repo": "srvos",
"rev": "b80b3ffabd20e39b579f45a33e638bbb1b297b60", "rev": "d8945920cb8e98dc737d1fc2d42607f5916c34cf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -892,16 +920,16 @@
}, },
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1724316499, "lastModified": 1696039360,
"narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.05", "ref": "nixos-23.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -959,11 +987,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727252110, "lastModified": 1717850719,
"narHash": "sha256-3O7RWiXpvqBcCl84Mvqa8dXudZ1Bol1ubNdSmQt7nF4=", "narHash": "sha256-npYqVg+Wk4oxnWrnVG7416fpfrlRhp/lQ6wQ4DHI8YE=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "1bff2ba6ec22bc90e9ad3f7e94cca0d37870afa3", "rev": "4fc1c45a5f50169f9f29f6a98a438fb910b834ed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -981,11 +1009,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723303070, "lastModified": 1702979157,
"narHash": "sha256-krGNVA30yptyRonohQ+i9cnK+CfCpedg6z3qzqVJcTs=", "narHash": "sha256-RnFBbLbpqtn4AoJGXKevQMCGhra4h6G2MPcuTSZZQ+g=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "14c092e0326de759e16b37535161b3cb9770cea3", "rev": "2961375283668d867e64129c22af532de8e77734",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1014,11 +1042,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1725018627, "lastModified": 1710356110,
"narHash": "sha256-uBEU/aKl9jlJ8vIK556TaqSBEHx6/t6AE4fbt/AoRfA=", "narHash": "sha256-dLYYHNiimcY5WMOnYs9zHVKdjqoPhdFhbEJa2h5hel0=",
"owner": "l4l", "owner": "l4l",
"repo": "yofi", "repo": "yofi",
"rev": "09901e75cbdf2147553ab888adde480e57baa0d1", "rev": "0d7af4653fa8f119a4aee0b7981edc88a6c7e892",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -73,6 +73,11 @@
flake = false; flake = false;
}; };
salut = {
url = "gitlab:snakedye/salut";
flake = false;
};
prs = { prs = {
# https://gitlab.com/timvisee/prs/-/merge_requests/42/ # https://gitlab.com/timvisee/prs/-/merge_requests/42/
# $ find "$(dirname $(readlink $(which prs)))/.." -name "_prs" # $ find "$(dirname $(readlink $(which prs)))/.." -name "_prs"
@ -230,8 +235,32 @@
dcpj4110dwDriver = dcpj4110dw.driver; dcpj4110dwDriver = dcpj4110dw.driver;
dcpj4110dwCupswrapper = dcpj4110dw.cupswrapper; dcpj4110dwCupswrapper = dcpj4110dw.cupswrapper;
# broken as of 2023-04-27 because it doesn't load without a config
# aphorme_launcher = craneLib.buildPackage {src = inputs.aphorme_launcher;};
# yofi = inputs'.yofi.packages.default;
# ofi-pass = craneLibOfiPass.buildPackage {src = inputs.ofi-pass;};
inherit (inputs'.colmena.packages) colmena; inherit (inputs'.colmena.packages) colmena;
# jay = pkgs.callPackage (self + /nix/pkgs/jay.nix) {
# src = inputs.jay;
# rustPlatform = pkgs.makeRustPlatform {
# cargo = inputs'.fenix.packages.stable.toolchain;
# rustc = inputs'.fenix.packages.stable.toolchain;
# };
# };
salut = craneLib.buildPackage {
src = inputs.salut;
nativeBuildInputs = [
pkgs.pkg-config
];
buildInputs = [
pkgs.libxkbcommon
pkgs.fontconfig
];
};
prs = prs =
pkgs.callPackage pkgs.callPackage
({ ({
@ -300,6 +329,12 @@
ssh root@${self.colmena.sj-vps-htz0.deployment.targetHost} -L 8385:syncthing.containers:8384 ssh root@${self.colmena.sj-vps-htz0.deployment.targetHost} -L 8385:syncthing.containers:8384
''; '';
logseq =
pkgs.callPackage ./nix/pkgs/logseq
(lib.attrsets.optionalAttrs pkgs.stdenv.isAarch64 {
overrideSrc = self.inputs.logseq_0_10_9_aarch64_appimage;
});
rperf = craneLib.buildPackage { rperf = craneLib.buildPackage {
src = inputs.rperf; src = inputs.rperf;
nativeBuildInputs = [ nativeBuildInputs = [
@ -335,5 +370,9 @@
}; };
in (all // {default = all.develop;}); in (all // {default = all.develop;});
}; };
flake.nixosModules = {
# thinkpad-x13s = { pkgs, config, lib, options, ... } @ args: (import ./nix/os/modules/hardware.thinkpad-x13s.nix (args // { inherit self; }));
};
}); });
} }

View file

@ -50,17 +50,6 @@ in {
"electron-27.3.11" "electron-27.3.11"
]; ];
nixpkgs.config.allowUnfree = [
"electron-28.3.3"
"electron-27.3.11"
];
# nixpkgs.config.allowUnfreePredicate = pkg:
# builtins.elem (lib.getName pkg) [
# "smartgithg"
# "electron-27.3.11"
# ];
home.packages = home.packages =
[] []
++ (with pkgs; [ ++ (with pkgs; [
@ -120,7 +109,7 @@ in {
aspellDicts.de aspellDicts.de
# skypeforlinux # skypeforlinux
# pkgsUnstable.jitsi-meet-electron # pkgsUnstable.jitsi-meet-electron
thunderbird-128 thunderbird-115
# betterbird # betterbird
# FIXME: depends on insecure openssl 1.1.1t # FIXME: depends on insecure openssl 1.1.1t
@ -129,6 +118,8 @@ in {
# TODO: remove or reuse this depending on whether waydroid signal works # TODO: remove or reuse this depending on whether waydroid signal works
pkgsUnstable.signal-desktop pkgsUnstable.signal-desktop
# gnome.cheese
# Virtualization # Virtualization
virt-manager virt-manager
@ -145,8 +136,6 @@ in {
yt-dlp yt-dlp
(writeShellScriptBin "youtube-dl-audio" "${yt-dlp}/bin/yt-dlp --extract-audio --audio-format best --audio-quality 9 \${@:?}") (writeShellScriptBin "youtube-dl-audio" "${yt-dlp}/bin/yt-dlp --extract-audio --audio-format best --audio-quality 9 \${@:?}")
libwebcam libwebcam
libcamera
snapshot
# Network Tools # Network Tools
tcpdump tcpdump
@ -211,7 +200,7 @@ in {
# dex # dex
coreutils coreutils
lsof lsof
xdg-utils xdg_utils
xdg-user-dirs xdg-user-dirs
dconf dconf
picocom picocom
@ -240,26 +229,14 @@ in {
# libretro.snes9x2010 # libretro.snes9x2010
# retroarchFull # retroarchFull
( packages'.logseq
pkgs.logseq.overrideAttrs ( # (pkgs.runCommand "logseq-wrapper"
attrs: # {
lib.attrsets.recursiveUpdate # nativeBuildInputs = [ pkgs.makeWrapper ];
attrs # } ''
( # makeWrapper ${pkgs.logseq}/bin/logseq $out/bin/logseq \
lib.attrsets.optionalAttrs pkgs.stdenv.isAarch64 { # --set NIXOS_OZONE_WL ""
src = repoFlake.inputs.logseq_0_10_9_aarch64_appimage; # '')
meta.platforms = ["aarch64-linux"];
}
)
)
)
# (
# pkgsUnstable.callPackage (repoFlake + "/nix/pkgs/logseq")
# (lib.attrsets.optionalAttrs pkgs.stdenv.isAarch64 {
# overrideSrc = repoFlake.inputs.logseq_0_10_9_aarch64_appimage;
# })
# )
]) ])
++ (lib.lists.optionals (!pkgs.stdenv.targetPlatform.isAarch64) [ ++ (lib.lists.optionals (!pkgs.stdenv.targetPlatform.isAarch64) [
]) ])

View file

@ -13,27 +13,9 @@
nixpkgs.config = { nixpkgs.config = {
allowBroken = false; allowBroken = false;
allowUnfree = true; allowUnfree = true;
allowUnsupportedSystem = true;
allowInsecurePredicate = pkg:
builtins.elem (lib.getName pkg) [
"electron-28.3.3"
"electron-27.3.11"
"electron"
];
permittedInsecurePackages = [ permittedInsecurePackages = [
"electron-28.3.3"
"electron-27.3.11"
"electron"
]; ];
allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"obsidian"
"vivaldi"
"aspell-dict-en-science"
];
}; };
home.keyboard = { home.keyboard = {

View file

@ -33,8 +33,22 @@ in {
imports = [ imports = [
../profiles/wayland-desktop.nix ../profiles/wayland-desktop.nix
../programs/waybar.nix ../programs/waybar.nix
# ../programs/salut.nix
]; ];
# TODO: autostart
# environment.loginShellInit = ''
# if [[ "$(tty)" == /dev/tty1 ]]; then
# echo starting sway..
# exec sway
# fi
# '';
services = {
# TODO: doesn't work with 2 screens
# flameshot.enable = true;
};
services.dunst = { services.dunst = {
enable = true; enable = true;
}; };
@ -59,6 +73,7 @@ in {
pkgs.ttf_bitstream_vera pkgs.ttf_bitstream_vera
pkgs.noto-fonts pkgs.noto-fonts
pkgs.noto-fonts-cjk
pkgs.noto-fonts-cjk-sans pkgs.noto-fonts-cjk-sans
pkgs.noto-fonts-cjk-serif pkgs.noto-fonts-cjk-serif
pkgs.noto-fonts-emoji pkgs.noto-fonts-emoji
@ -73,12 +88,12 @@ in {
pkgs.dina-font pkgs.dina-font
pkgs.monoid pkgs.monoid
pkgs.hermit pkgs.hermit
### found on colemickens' repo # found on colemickens' repo
pkgs.gelasio # metric-compatible with Georgia pkgs.gelasio # metric-compatible with Georgia
pkgs.powerline-symbols pkgs.powerline-symbols
pkgs.iosevka-comfy.comfy-fixed pkgs.iosevka-comfy.comfy-fixed
## experimental stuff # experimental stuff
pkgs.fuzzel pkgs.fuzzel
]; ];

View file

@ -1,9 +1,6 @@
{pkgs, ...}: { {pkgs, ...}: {
programs.librewolf = {enable = false;}; programs.librewolf = {enable = true;};
programs.firefox = { programs.firefox = {enable = true;};
enable = true;
package = pkgs.firefox-esr-128;
};
# home.file.".mozilla/native-messaging-hosts/passff.json".source = "${pkgs.passff-host}/share/passff-host/passff.json"; # home.file.".mozilla/native-messaging-hosts/passff.json".source = "${pkgs.passff-host}/share/passff-host/passff.json";
} }

View file

@ -1,3 +1,3 @@
{pkgs, ...}: { {pkgs, ...}: {
home.packages = [pkgs.libreoffice]; home.packages = with pkgs; [libreoffice-fresh];
} }

View file

@ -159,16 +159,17 @@
''); '');
systemd.services.testing-credentials = { systemd.services.testing-credentials = {
description = "testing credentials";
wantedBy = ["multi-user.target"]; wantedBy = ["multi-user.target"];
path = [pkgs.coreutils]; path = [pkgs.coreutils];
serviceConfig = { serviceConfig = {
# SyslogIdentifier = "testing-credentials"; SyslogIdentifier = "testing-credential";
# StateDirectory = "testing-credentials"; StateDirectory = "testing-credentials";
# DynamicUser = true; DynamicUser = true;
# User = "tc"; # User = "tc";
# ProtectHome = true; # ProtectHome = true;
# ProtectSystem = true; ProtectSystem = true;
# LoadCredential = [ # LoadCredential = [
# "mycelium-keyfile:${self.nixosConfigurations.default.config.services.mycelium.keyFile}" # "mycelium-keyfile:${self.nixosConfigurations.default.config.services.mycelium.keyFile}"
# "hosts:/etc/hosts" # "hosts:/etc/hosts"
@ -240,7 +241,6 @@
# this is read by the `/init` script and prevents various incompatible commands like mount, etc. # this is read by the `/init` script and prevents various incompatible commands like mount, etc.
# the value of this doesn't seem to matter as long as it's not an empty string. # the value of this doesn't seem to matter as long as it's not an empty string.
"container=nerd" "container=nerd"
"SYSTEMD_LOG_LEVEL=debug"
]; ];
volumes = { volumes = {
# "/var/lib/private/mycelium/key.bin" = {}; # "/var/lib/private/mycelium/key.bin" = {};

View file

@ -10,7 +10,12 @@
packages', packages',
... ...
}: { }: {
nixpkgs.overlays = [nodeFlake.overlays.default]; nixpkgs.overlays = [
(final: previous: {
# inherit (nodeFlake.inputs.nixpkgs-systemd256.legacyPackages.${system}) systemd systemdMinimal;
# inherit (nodeFlake.inputs.nixpkgs-unstable.legacyPackages.${system}) libcamera libcamera-qcam;
})
];
nixos-x13s = { nixos-x13s = {
enable = true; enable = true;
@ -109,44 +114,27 @@
protocol = "ssh-ng"; protocol = "ssh-ng";
systems = [ systems = [
"x86_64-linux" "x86_64-linux"
# "aarch64-linux"
]; ];
supportedFeatures = [ supportedFeatures = [
"big-parallel" "big-parallel"
"kvm" "kvm"
"nixos-test"
]; ];
maxJobs = 16; maxJobs = 16;
} }
{
hostName = "aarch64-linux-builder-0.infra.holochain.org";
sshUser = "nix-remote-builder";
sshKey = config.sops.secrets.builder-private-key.path;
protocol = "ssh-ng";
systems = [
"aarch64-linux"
];
supportedFeatures = [
"big-parallel"
"kvm"
"nixos-test"
];
maxJobs = 4;
}
{ {
hostName = "x64-linux-dev-01.dev.infra.holochain.org"; hostName = "x64-linux-dev-01.dev.infra.holochain.org";
sshUser = "nix-remote-builder"; sshUser = "nix-remote-builder";
sshKey = config.sops.secrets.builder-private-key.path; sshKey = config.sops.secrets.builder-private-key.path;
protocol = "ssh-ng"; protocol = "ssh-ng";
systems = [ systems = [
# "x86_64-linux" "x86_64-linux"
"aarch64-linux" # "aarch64-linux"
]; ];
supportedFeatures = [ supportedFeatures = [
"big-parallel" "big-parallel"
"kvm" "kvm"
"nixos-test"
]; ];
maxJobs = 0; maxJobs = 0;
} }
@ -211,14 +199,12 @@
../../../home-manager/configuration/graphical-fullblown.nix ../../../home-manager/configuration/graphical-fullblown.nix
]; ];
nixpkgs.overlays = [nodeFlake.overlays.default];
home.sessionVariables = {}; home.sessionVariables = {};
home.packages = with pkgs; [ home.packages = with pkgs; [
]; ];
# TODO(upstream): currently unsupported on x13s # TODO: currently unsupported
services.gammastep.enable = true; services.gammastep.enable = true;
}; };
@ -253,6 +239,14 @@
virtualisation.containers.enable = true; virtualisation.containers.enable = true;
virtualisation.podman.enable = true; virtualisation.podman.enable = true;
nix.settings.substituters = [
"https://nixos-x13s.cachix.org"
];
nix.settings.trusted-public-keys = [
"nixos-x13s.cachix.org-1:SzroHbidolBD3Sf6UusXp12YZ+a5ynWv0RtYF0btFos="
];
steveej.holo-zerotier = { steveej.holo-zerotier = {
enable = true; enable = true;
autostart = false; autostart = false;
@ -264,6 +258,4 @@
programs.adb.enable = true; programs.adb.enable = true;
nix.settings.sandbox = lib.mkForce "relaxed"; nix.settings.sandbox = lib.mkForce "relaxed";
systemd.user.services.wireplumber.environment.LIBCAMERA_IPA_PROXY_PATH = "${pkgs.libcamera}/libexec/libcamera";
} }

View file

@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1730190761, "lastModified": 1725377834,
"narHash": "sha256-o5m5WzvY6cGIDupuOvjgNSS8AN6yP2iI9MtUC6q/uos=", "narHash": "sha256-tqoAO8oT6zEUDXte98cvA1saU9+1dLJQe3pMKLXv8ps=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "3979285062d6781525cded0f6c4ff92e71376b55", "rev": "e55f9a8678adc02024a4877c2a403e3f6daf24fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -148,11 +148,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726989464, "lastModified": 1725703823,
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", "narHash": "sha256-tDgM4d8mLK0Hd6YMB2w1BqMto1XBXADOzPEaLl10VI4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", "rev": "208df2e558b73b6a1f0faec98493cb59a25f62ba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -165,16 +165,16 @@
"linux-jhovold": { "linux-jhovold": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1730186574, "lastModified": 1728631036,
"narHash": "sha256-QjStPt3c/v55lJUgn4Rdx/WTaQKdUxNL9nwkIKQ8O2Q=", "narHash": "sha256-1LnClVjY6WS+IR9eqPFA7gzXm0cio3mY23NXj9cKHHs=",
"owner": "jhovold", "owner": "jhovold",
"repo": "linux", "repo": "linux",
"rev": "699d5b0ccdc1a343ded65aa876f0b720ca7dada9", "rev": "6a97bc22fa36010400b91e6d5979741c391112c3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "jhovold", "owner": "jhovold",
"ref": "wip/sc8280xp-6.12-rc5", "ref": "wip/sc8280xp-6.12-rc2",
"repo": "linux", "repo": "linux",
"type": "github" "type": "github"
} }
@ -190,11 +190,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1730381857, "lastModified": 1725529869,
"narHash": "sha256-PbEoM+AnZTuo9xtwcDcTH9FZAzPzfBhX41+zVVTdgRo=", "narHash": "sha256-ekEL4HrZbAeoZmopkxvZ4Z4ufkUEv09b4liGnIIiryc=",
"owner": "threefoldtech", "owner": "threefoldtech",
"repo": "mycelium", "repo": "mycelium",
"rev": "8a2b564c8e279d4afd0a10058b4481799a7513e1", "rev": "43c774cc1d5bae9558d0086e2be334812cafe2be",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -247,18 +247,17 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1730215039, "lastModified": 1728680044,
"narHash": "sha256-GxhtLAsdpZX2SndSu/AoKugk/vht5RZ47FTcrYILDew=", "narHash": "sha256-kDqUDwEEv1KPOObmdnO3zb5mFthFDHoPgzVDpmRIq44=",
"ref": "bump", "ref": "refs/heads/remaintain",
"rev": "ff41877fbdf32f2029ade902f10142afb053d2da", "rev": "f691c125485b6764ebef0b9f148613d79de95525",
"revCount": 116, "revCount": 109,
"type": "git", "type": "git",
"url": "https://forgejo.www.stefanjunker.de/steveej/nixos-x13s.git" "url": "https://forgejo.www.stefanjunker.de/steveej/nixos-x13s.git?branch=remaintain"
}, },
"original": { "original": {
"ref": "bump",
"type": "git", "type": "git",
"url": "https://forgejo.www.stefanjunker.de/steveej/nixos-x13s.git" "url": "https://forgejo.www.stefanjunker.de/steveej/nixos-x13s.git?branch=remaintain"
} }
}, },
"nixpkgs": { "nixpkgs": {
@ -289,13 +288,29 @@
"url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
} }
}, },
"nixpkgs-stable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1730327045, "lastModified": 1728621521,
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=", "narHash": "sha256-Fk8C/cywdAP//XjK1/CF2VMIRoQjhosCor71p84ff+c=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "080166c15633801df010977d9d7474b4a6c549d7", "rev": "7045aa75c71e90ae3bbb486d35414b08add9c424",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1725826545,
"narHash": "sha256-L64N1rpLlXdc94H+F6scnrbuEu+utC03cDDVvvJGOME=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f4c846aee8e1e29062aa8514d5e0ab270f4ec2f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -305,22 +320,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": {
"locked": {
"lastModified": 1730200266,
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"disko": "disko", "disko": "disko",
@ -329,10 +328,7 @@
"mycelium": "mycelium", "mycelium": "mycelium",
"nix-snapshotter": "nix-snapshotter", "nix-snapshotter": "nix-snapshotter",
"nixos-x13s": "nixos-x13s", "nixos-x13s": "nixos-x13s",
"nixpkgs": [ "nixpkgs": "nixpkgs_2",
"nixpkgs-stable"
],
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable" "nixpkgs-unstable": "nixpkgs-unstable"
} }
}, },

View file

@ -1,21 +1,22 @@
{ {
inputs = { inputs = {
nixpkgs.follows = "nixpkgs-stable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; # nixpkgs.follows = "nixpkgs-unstable";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# required for home-manager modules
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable-small";
get-flake.url = "github:ursi/get-flake"; get-flake.url = "github:ursi/get-flake";
disko.inputs.nixpkgs.follows = "nixpkgs"; disko.inputs.nixpkgs.follows = "nixpkgs";
home-manager = { home-manager = {
# url = "github:nix-community/home-manager/master";
url = "github:nix-community/home-manager/release-24.05"; url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixos-x13s.url = nixos-x13s.url =
"git+https://forgejo.www.stefanjunker.de/steveej/nixos-x13s.git?ref=bump" "git+https://forgejo.www.stefanjunker.de/steveej/nixos-x13s.git?branch=remaintain"
# 6.11.0 # 6.11.0
# "git+https://forgejo.www.stefanjunker.de/steveej/nixos-x13s.git?branch=remaintain&rev=6b9efe77ca80653354981c720af3c4241ac71490" # "git+https://forgejo.www.stefanjunker.de/steveej/nixos-x13s.git?branch=remaintain&rev=6b9efe77ca80653354981c720af3c4241ac71490"
# 6.12.0-rc6 # 6.12.0-rc6
@ -74,6 +75,7 @@
# flake registry # flake registry
{ {
nixpkgs.overlays = builtins.attrValues self.overlays;
nix.registry.nixpkgs.flake = nixpkgs; nix.registry.nixpkgs.flake = nixpkgs;
} }
] ]
@ -85,52 +87,7 @@
inherit mkNixosConfiguration; inherit mkNixosConfiguration;
}; };
overlays.libcamera = final: previous: { overlays = {};
wireplumber = previous.wireplumber.overrideAttrs (_: {
version = "git";
src = previous.fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "pipewire";
repo = "wireplumber";
rev = "71f868233792f10848644319dbdc97a4f147d554";
hash = "sha256-VX3OFsBK9AbISm/XTx8p05ak+z/VcKXfUXhB9aI9ev8=";
};
});
libcamera = previous.libcamera.overrideAttrs (_: {
postFixup = ''
../src/ipa/ipa-sign-install.sh src/ipa-priv-key.pem $out/lib/libcamera/ipa_*.so
'';
});
libcamera-qcam = previous.libcamera-qcam.overrideAttrs (_: {
postFixup = ''
../src/ipa/ipa-sign-install.sh src/ipa-priv-key.pem $out/lib/libcamera/ipa_*.so
'';
});
};
overlays.default = final: previous: let
inherit (previous.stdenv) system;
pkgsUnstable = import self.inputs.nixpkgs-unstable.outPath {
inherit system;
overlays = [self.overlays.libcamera];
};
in {
inherit
(pkgsUnstable)
libcamera
;
webkitgtk = previous.webkitgtk.overrideAttrs (attrs: {
preConfigure =
attrs.preConfigure
+ ''
export NIX_BUILD_CORES="$((NIX_BUILD_CORES > 8 ? 8 : NIX_BUILD_CORES))"
export NUMBER_OF_PROCESSORS="$NIX_BUILD_CORES"
'';
});
};
nixosConfigurations = { nixosConfigurations = {
native = mkNixosConfiguration { native = mkNixosConfiguration {

View file

@ -0,0 +1,240 @@
{
self,
pkgs,
config,
lib,
options,
...
}: let
# TODO: introduce options for these
kernelPdMapper = true;
cfg = config.hardware.thinkpad-x13s;
in {
options.hardware.thinkpad-x13s = {
# TODO: respect this
enable = lib.mkEnableOption "x13s hardware support";
bluetoothMac = lib.mkOption {
type = lib.types.str;
description = "mac address to set on boot";
};
};
config = let
inherit (config.boot.loader) efi;
kp = [
{
name = "x13s-cfg";
patch = null;
extraStructuredConfig = with lib.kernel; {
EFI_ARMSTUB_DTB_LOADER = lib.mkForce yes;
OF_OVERLAY = lib.mkForce yes;
BTRFS_FS = lib.mkForce yes;
BTRFS_FS_POSIX_ACL = lib.mkForce yes;
MEDIA_CONTROLLER = lib.mkForce yes;
SND_USB_AUDIO_USE_MEDIA_CONTROLLER = lib.mkForce yes;
SND_USB = lib.mkForce yes;
SND_USB_AUDIO = lib.mkForce module;
USB_XHCI_PCI = lib.mkForce module;
NO_HZ_FULL = lib.mkForce yes;
HZ_100 = lib.mkForce yes;
HZ_250 = lib.mkForce no;
DRM_AMDGPU = lib.mkForce no;
DRM_NOUVEAU = lib.mkForce no;
QCOM_TSENS = lib.mkForce yes;
NVMEM_QCOM_QFPROM = lib.mkForce yes;
ARM_QCOM_CPUFREQ_NVMEM = lib.mkForce yes;
VIRTIO_PCI = lib.mkForce module;
# forthcoming kernel work: QCOM_PD_MAPPER = lib.mkForce module;
};
}
];
qrtr = pkgs.callPackage "${self.inputs.adamcstephens_stop-export}/hardware/x13s/qrtr/qrtr.nix" {};
pd-mapper = pkgs.callPackage "${self.inputs.adamcstephens_stop-export}/hardware/x13s/qrtr/pd-mapper.nix" {
inherit qrtr;
};
# We can't quite move to mainline linux
linux_x13s_pkg = {buildLinux, ...} @ args:
buildLinux (args
// rec {
version = "6.7.0";
modDirVersion = lib.versions.pad 3 version;
extraMeta.branch = lib.versions.majorMinor version;
src = self.inputs.linux_x13s;
kernelPatches = (args.kernelPatches or []) ++ kp;
}
// (args.argsOverride or {}));
# we add additional configuration on top of te normal configuration above
# using the extraStructuredConfig option on the kernel patch
linux_x13s = pkgs.callPackage linux_x13s_pkg {
defconfig = "johan_defconfig";
};
linuxPackages_x13s = pkgs.linuxPackagesFor linux_x13s;
dtbName = "sc8280xp-lenovo-thinkpad-x13s.dtb";
dtb = "${linuxPackages_x13s.kernel}/dtbs/qcom/${dtbName}";
x13s_alsa-ucm-conf = pkgs.alsa-ucm-conf.overrideAttrs (prev: {
src = self.inputs.alsa-ucm-conf;
});
alsa-ucm-conf-env.ALSA_CONFIG_UCM2 = "${x13s_alsa-ucm-conf}/share/alsa/ucm2";
in
lib.mkIf cfg.enable
{
nixpkgs.overlays = [
(
final: prev: {
x13s_extra-firmware =
pkgs.callPackage
"${self.inputs.adamcstephens_stop-export}/hardware/x13s/extra-firmware.nix"
{};
inherit qrtr pd-mapper;
}
)
];
# ensure the x13s' dtb file is in the boot partition
# TODO:: is this needed for the VT display somehow?
system.activationScripts.x13s-dtb = ''
in_package="${dtb}"
esp_tool_folder="${efi.efiSysMountPoint}/"
in_esp="''${esp_tool_folder}${dtbName}"
>&2 echo "Ensuring $in_esp in EFI System Partition"
if ! ${pkgs.diffutils}/bin/cmp --silent "$in_package" "$in_esp"; then
>&2 echo "Copying $in_package -> $in_esp"
mkdir -p "$esp_tool_folder"
cp "$in_package" "$in_esp"
sync
fi
'';
boot = {
loader.systemd-boot.enable = true;
loader.systemd-boot.extraFiles = {
"${dtbName}" = dtb;
};
loader.efi.canTouchEfiVariables = false;
loader.efi.efiSysMountPoint = "/boot";
blacklistedKernelModules = ["wwan"];
kernelPackages = linuxPackages_x13s;
kernelParams = [
"dtb=${dtbName}"
"boot.shell_on_fail"
# jhovold recommended
"efi=noruntime"
"clk_ignore_unused"
"pd_ignore_unused"
"arm64.nopauth"
# blacklist graphics in initrd so the firmware can load from disk
"rd.driver.blacklist=msm"
];
initrd = {
includeDefaultModules = false;
# kernelModules = [
# "nvme"
# "phy_qcom_qmp_pcie"
# "pcie_qcom"
# "i2c_core"
# "i2c_hid"
# "i2c_hid_of"
# "i2c_qcom_geni"
# "leds_qcom_lpg"
# "pwm_bl"
# "qrtr"
# "pmic_glink_altmode"
# "gpio_sbu_mux"
# "phy_qcom_qmp_combo"
# "gpucc_sc8280xp"
# "dispcc_sc8280xp"
# "phy_qcom_edp"
# "panel_edp"
# # "msm"
# ];
availableKernelModules = [
"i2c_hid"
"i2c_hid_of"
"i2c_qcom_geni"
"leds_qcom_lpg"
"pwm_bl"
"qrtr"
"pmic_glink_altmode"
"gpio_sbu_mux"
"phy_qcom_qmp_combo"
"panel_edp"
# "msm"
"phy_qcom_edp"
"i2c_core"
"i2c_hid"
"i2c_hid_of"
"i2c_qcom_geni"
"pcie_qcom"
"phy_qcom_qmp_combo"
"phy_qcom_qmp_pcie"
"phy_qcom_qmp_usb"
"phy_qcom_snps_femto_v2"
"phy_qcom_usb_hs"
"nvme"
"usbcore"
"xhci_hcd"
"usbhid"
"usb_storage"
"uas"
];
};
};
# default is performance
powerManagement.cpuFreqGovernor = "ondemand";
hardware.enableAllFirmware = true;
hardware.firmware = [
# pkgs.linux-firmware
pkgs.x13s_extra-firmware
];
systemd.services.pd-mapper = {
wantedBy = ["multi-user.target"];
serviceConfig = {
ExecStart = "${lib.getExe pd-mapper}";
Restart = "always";
};
};
environment.sessionVariables = alsa-ucm-conf-env;
systemd.user.services.pipewire.environment = alsa-ucm-conf-env;
systemd.user.services.wireplumber.environment = alsa-ucm-conf-env;
systemd.services.bluetooth = {
serviceConfig = {
# disabled because btmgmt call hangs
ExecStartPre = [
""
"${pkgs.util-linux}/bin/rfkill block bluetooth"
"${pkgs.bluez5-experimental}/bin/btmgmt public-addr ${cfg.bluetoothMac}"
"${pkgs.util-linux}/bin/rfkill unblock bluetooth"
];
RestartSec = 5;
Restart = "on-failure";
};
};
};
}

View file

@ -11,7 +11,7 @@ in {
}; };
config = { config = {
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) ["zerotierone"]; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "zerotierone" ];
services.zerotierone = { services.zerotierone = {
enable = cfg.enable; enable = cfg.enable;

View file

@ -4,7 +4,6 @@
repoFlakeInputs', repoFlakeInputs',
packages', packages',
pkgs, pkgs,
lib,
... ...
}: let }: let
# TODO: make this configurable # TODO: make this configurable

View file

@ -18,7 +18,7 @@ in {
services.gvfs = { services.gvfs = {
enable = true; enable = true;
package = lib.mkForce pkgs.gnome.gvfs; package = lib.mkForce pkgs.gnome3.gvfs;
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -36,7 +36,7 @@ in {
# FIXME: `true` breaks xdg-open from alacritty: # FIXME: `true` breaks xdg-open from alacritty:
# $ xdg-open "https://github.com/" # $ xdg-open "https://github.com/"
# Error: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.OpenURI” on object at path /org/freedesktop/portal/desktop # Error: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.OpenURI” on object at path /org/freedesktop/portal/desktop
xdgOpenUsePortal = false; xdgOpenUsePortal = true;
wlr = { wlr = {
enable = true; enable = true;
@ -89,7 +89,6 @@ in {
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
wireplumber.enable = true;
# If you want to use JACK applications, uncomment this # If you want to use JACK applications, uncomment this
#jack.enable = true; #jack.enable = true;
}; };

View file

@ -3,13 +3,9 @@
stdenv, stdenv,
fetchurl, fetchurl,
appimageTools, appimageTools,
unzip,
makeWrapper, makeWrapper,
# Notice: graphs will not sync without matching upstream's major electron version # graphs will not sync without matching upstream's major electron version
# the specific electron version is set at top-level file to preserve override interface.
# whenever updating this package also sync electron version at top-level file.
electron_27, electron_27,
autoPatchelfHook,
git, git,
nix-update-script, nix-update-script,
overrideSrc ? null, overrideSrc ? null,
@ -26,73 +22,62 @@ in {
else else
(fetchurl { (fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage"; url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
hash = "sha256-F3YbqgvL04P0nXaIVkJlCq/z8hUE0M0UutkBs2omuBe="; hash = "sha256-F3YbqgvL04P0nXaIVkJlCq/z8hUE0M0UutkBs2omuBE=";
name = "${pname}-${version}.AppImage"; name = "${pname}-${version}.AppImage";
}); });
nativeBuildInputs = appimageContents = appimageTools.extract {
[makeWrapper] inherit pname src version;
++ lib.optionals stdenv.hostPlatform.isLinux [autoPatchelfHook] };
++ lib.optionals stdenv.hostPlatform.isDarwin [unzip];
buildInputs = [stdenv.cc.cc.lib];
dontUnpack = stdenv.hostPlatform.isLinux; dontUnpack = true;
dontConfigure = true; dontConfigure = true;
dontBuild = true; dontBuild = true;
installPhase = nativeBuildInputs = [makeWrapper];
''
runHook preInstall
''
+ lib.optionalString stdenv.hostPlatform.isLinux (
let
appimageContents = appimageTools.extract {inherit pname src version;};
in ''
mkdir -p $out/bin $out/share/logseq $out/share/applications
cp -a ${appimageContents}/{locales,resources} $out/share/logseq
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/logseq.desktop
# remove the `git` in `dugite` because we want the `git` in `nixpkgs` installPhase = ''
chmod +w -R $out/share/logseq/resources/app/node_modules/dugite/git runHook preInstall
chmod +w $out/share/logseq/resources/app/node_modules/dugite
rm -rf $out/share/logseq/resources/app/node_modules/dugite/git
chmod -w $out/share/logseq/resources/app/node_modules/dugite
mkdir -p $out/share/pixmaps mkdir -p $out/bin $out/share/${pname} $out/share/applications
ln -s $out/share/logseq/resources/app/icons/logseq.png $out/share/pixmaps/logseq.png cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/${pname}.desktop
substituteInPlace $out/share/applications/logseq.desktop \ # remove the `git` in `dugite` because we want the `git` in `nixpkgs`
--replace Exec=Logseq Exec=logseq \ if test -e $out/share/${pname}/resources/app/node_modules/dugite/git; then
--replace Icon=Logseq Icon=logseq chmod +w -R $out/share/${pname}/resources/app/node_modules/dugite/git
'' chmod +w $out/share/${pname}/resources/app/node_modules/dugite
) rm -rf $out/share/${pname}/resources/app/node_modules/dugite/git
+ lib.optionalString stdenv.hostPlatform.isDarwin '' chmod -w $out/share/${pname}/resources/app/node_modules/dugite
mkdir -p $out/{Applications/Logseq.app,bin} fi
cp -R . $out/Applications/Logseq.app
makeWrapper $out/Applications/Logseq.app/Contents/MacOS/Logseq $out/bin/logseq
''
+ ''
runHook postInstall
'';
postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' mkdir -p $out/share/pixmaps
ln -s $out/share/${pname}/resources/app/icons/logseq.png $out/share/pixmaps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \
--replace Exec=Logseq Exec=${pname} \
--replace Icon=Logseq Icon=${pname}
runHook postInstall
'';
postFixup = ''
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs # set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
makeWrapper ${electron_27}/bin/electron $out/bin/logseq \ makeWrapper ${electron_27}/bin/electron $out/bin/${pname} \
--set "LOCAL_GIT_DIRECTORY" ${git} \ --set "LOCAL_GIT_DIRECTORY" ${git} \
--add-flags $out/share/logseq/resources/app \ --add-flags $out/share/${pname}/resources/app \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [stdenv.cc.cc.lib]}"
''; '';
passthru.updateScript = nix-update-script {}; passthru.updateScript = nix-update-script {};
meta = { meta = {
description = "Local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base"; description = "A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base";
homepage = "https://github.com/logseq/logseq"; homepage = "https://github.com/logseq/logseq";
changelog = "https://github.com/logseq/logseq/releases/tag/${version}"; changelog = "https://github.com/logseq/logseq/releases/tag/${version}";
license = lib.licenses.agpl3Plus; license = lib.licenses.agpl3Plus;
sourceProvenance = with lib.sourceTypes; [binaryNativeCode]; maintainers = with lib.maintainers; [];
maintainers = with lib.maintainers; [cheeseecake]; platforms = ["x86_64-linux" "aarch64-linux"];
platforms = ["x86_64-linux" "aarch64-linux"] ++ lib.platforms.darwin;
mainProgram = "logseq";
}; };
}) })