diff --git a/flake.lock b/flake.lock index be0b776..f894446 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "cachyos": { "locked": { - "lastModified": 1738971536, - "narHash": "sha256-X+zFt0Hn82sXkzdTQ5mBk2UXDjyHqAg0QykG8stivMU=", + "lastModified": 1743535541, + "narHash": "sha256-OlBtXY26w9OcAmpqrTvxaG4/rfDdavauQF2eRxb+ySs=", "owner": "drakon64", "repo": "nixos-cachyos-kernel", - "rev": "3ba8e09228837952d62419aa85652f02f4475cb0", + "rev": "8516d89c4e0c4a25cea1be8431db3963359ee81b", "type": "github" }, "original": { @@ -71,26 +71,11 @@ }, "crane": { "locked": { - "lastModified": 1737563566, - "narHash": "sha256-GLJvkOG29XCynQm8XWPyykMRqIhxKcBARVu7Ydrz02M=", + "lastModified": 1742394900, + "narHash": "sha256-vVOAp9ahvnU+fQoKd4SEXB2JG2wbENkpqcwlkIXgUC0=", "owner": "ipetkov", "repo": "crane", - "rev": "849376434956794ebc7a6b487d31aace395392ba", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_2": { - "locked": { - "lastModified": 1737689766, - "narHash": "sha256-ivVXYaYlShxYoKfSo5+y5930qMKKJ8CLcAoIBPQfJ6s=", - "owner": "ipetkov", - "repo": "crane", - "rev": "6fe74265bbb6d016d663b1091f015e2976c4a527", + "rev": "70947c1908108c0c551ddfd73d4f750ff2ea67cd", "type": "github" }, "original": { @@ -136,22 +121,6 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -265,11 +234,11 @@ "systems": "systems_7" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -354,17 +323,16 @@ }, "helix": { "inputs": { - "crane": "crane", "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs", "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1739223361, - "narHash": "sha256-MmuW2nMRw2PTpNOestOpB1Lb4XBQgZyoa5q5t/VH53o=", + "lastModified": 1743483316, + "narHash": "sha256-yFT2zkL0S8ouuF8AyY+RxKI11V6juWcUPuhQn8qeZHQ=", "owner": "helix-editor", "repo": "helix", - "rev": "35faa73be114cde7bad22fd1c548bad35383a64b", + "rev": "7ebf65002940d0ce8d6e59c3ec22c736f7d57d9c", "type": "github" }, "original": { @@ -380,11 +348,11 @@ ] }, "locked": { - "lastModified": 1737619027, - "narHash": "sha256-jEzZs9dHdmVP5X9HCC/7jrv08aWFfqZV5cZ+cZWYGA4=", + "lastModified": 1742070442, + "narHash": "sha256-xPDSLswRazXLlceqc2+VdbKKG2m/OXCjTzU9O/Bs4ZQ=", "owner": "feel-co", "repo": "hjem", - "rev": "48cfa21987672a31a358b7e4d582fc174556e633", + "rev": "ae49a5a2e013c710d2b2cf046ae365d08eae75b3", "type": "github" }, "original": { @@ -400,11 +368,11 @@ ] }, "locked": { - "lastModified": 1739233400, - "narHash": "sha256-fldFwXHP9Ndy/ADMDWNTpfWNsLdhZ8PP4DQyr1Igfo4=", + "lastModified": 1743717835, + "narHash": "sha256-LJm6FoIcUoBw3w25ty12/sBfut4zZuNGdN0phYj/ekU=", "owner": "nix-community", "repo": "home-manager", - "rev": "ba4a1a110204c27805d1a1b5c8b24b3a0da4d063", + "rev": "66a6ec65f84255b3defb67ff45af86c844dd451b", "type": "github" }, "original": { @@ -415,17 +383,17 @@ }, "ironbar": { "inputs": { - "crane": "crane_2", + "crane": "crane", "naersk": "naersk", "nixpkgs": "nixpkgs_3", "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1738859373, - "narHash": "sha256-/ckqUSy2S75aPuZWJkE9jvxu3THvQyKrK0gYR6l1Gp0=", + "lastModified": 1743492497, + "narHash": "sha256-uDqLgJfbQXEo5m/d+FcDAND341FjeSNhu8cfkq1NhWo=", "owner": "JakeStanger", "repo": "ironbar", - "rev": "75375aa341ec154345a7f41d210c952d4ffe2002", + "rev": "f204b24ba06e074f7e32dba160be5c4ff84f2d43", "type": "github" }, "original": { @@ -453,11 +421,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1739192059, - "narHash": "sha256-r40TUIL6zij0kWBpqKyI7O2brT3Myaa3aAGamkZEvfc=", - "rev": "3bca42eb0049772d9079f29f25186575f8e5a4ae", + "lastModified": 1743523803, + "narHash": "sha256-L/8tnMbfwOmRXRrzzDJBlkRUiVOxy8cxWTdaN3n3AGI=", + "rev": "5a7e9e17464008904403af4297823443281bef12", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/3bca42eb0049772d9079f29f25186575f8e5a4ae.tar.gz?rev=3bca42eb0049772d9079f29f25186575f8e5a4ae" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/5a7e9e17464008904403af4297823443281bef12.tar.gz?rev=5a7e9e17464008904403af4297823443281bef12" }, "original": { "type": "tarball", @@ -476,11 +444,11 @@ ] }, "locked": { - "lastModified": 1738176840, - "narHash": "sha256-NG3IRvRs3u3btVCN861FqHvgOwqcNT/Oy6PBG86F5/E=", - "rev": "621aae0f3cceaffa6d73a4fb0f89c08d338d729e", + "lastModified": 1742945498, + "narHash": "sha256-MB/b/xcDKqaVBxJIIxwb81r8ZiGLeKEcqokATRRroo8=", + "rev": "fa69ae26cc32dda178117b46487c2165c0e08316", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/621aae0f3cceaffa6d73a4fb0f89c08d338d729e.tar.gz?rev=621aae0f3cceaffa6d73a4fb0f89c08d338d729e" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/fa69ae26cc32dda178117b46487c2165c0e08316.tar.gz?rev=fa69ae26cc32dda178117b46487c2165c0e08316" }, "original": { "type": "tarball", @@ -537,11 +505,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1736429655, - "narHash": "sha256-BwMekRuVlSB9C0QgwKMICiJ5EVbLGjfe4qyueyNQyGI=", + "lastModified": 1742901344, + "narHash": "sha256-o9dXcpfXpBm6+/SRqcQW0GzRkJymwyEAu5UD5LMDd3s=", "owner": "nix-community", "repo": "naersk", - "rev": "0621e47bd95542b8e1ce2ee2d65d6a1f887a13ce", + "rev": "a75c0584b0d69de943babc899530e9c70c642b42", "type": "github" }, "original": { @@ -555,11 +523,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1738579718, - "narHash": "sha256-HcNEFumdZ4Y59CBB1h1IzOyPxwn0u/Wson6hhzItXCA=", + "lastModified": 1743682999, + "narHash": "sha256-bg+aAN8K90r3m/I+xXiXG0gawpbkshwlk93wxUN7KEk=", "owner": "viperML", "repo": "nh", - "rev": "8ef70b642b8351c010a48f43dda6a1ebf038f5d9", + "rev": "9e9a4590b38b62b28f07a1fae973ce7b6ca0687a", "type": "github" }, "original": { @@ -575,11 +543,11 @@ "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1732053863, - "narHash": "sha256-DCIVdlb81Fct2uwzbtnawLBC/U03U2hqx8trqTJB7WA=", + "lastModified": 1741118843, + "narHash": "sha256-ggXU3RHv6NgWw+vc+HO4/9n0GPufhTIUjVuLci8Za8c=", "owner": "oxalica", "repo": "nil", - "rev": "2e24c9834e3bb5aa2a3701d3713b43a6fb106362", + "rev": "577d160da311cc7f5042038456a0713e9863d09e", "type": "github" }, "original": { @@ -598,11 +566,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1739206396, - "narHash": "sha256-dfU3l47sxFQbqLe5R9um//V5hplv/MhSwsZJR7JzBrg=", + "lastModified": 1743644801, + "narHash": "sha256-z8x/j/RuDBo/5lNt3XYatKRpIMFMHVE2HK7TKVxYn+c=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "9f15e7ace2dea798ce3490d2f723095ad4cce0d4", + "rev": "f3fca85fe72c70d58f44f4c6ad2f27a91aa54d0d", "type": "github" }, "original": { @@ -614,16 +582,16 @@ "niri-stable": { "flake": false, "locked": { - "lastModified": 1736614405, - "narHash": "sha256-AJ1rlgNOPb3/+DbS5hkhm21t6Oz8IgqLllwmZt0lyzk=", + "lastModified": 1740117926, + "narHash": "sha256-mTTHA0RAaQcdYe+9A3Jx77cmmyLFHmRoZdd8RpWa+m8=", "owner": "YaLTeR", "repo": "niri", - "rev": "e05bc269e678ecf828b96ae79c991c13b00b38a5", + "rev": "b94a5db8790339cf9134873d8b490be69e02ac71", "type": "github" }, "original": { "owner": "YaLTeR", - "ref": "v25.01", + "ref": "v25.02", "repo": "niri", "type": "github" } @@ -631,11 +599,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1739201373, - "narHash": "sha256-6upEicgdJH3JaS1oXS+wsgLToU14XL8/aOyL2KcS3KY=", + "lastModified": 1743492917, + "narHash": "sha256-OqLDg0Ody1HX23hgjvjIkfZPNhYKxbkj/ONcDjdD4Ik=", "owner": "YaLTeR", "repo": "niri", - "rev": "20769b4c2f843566880f020f117e7bde36edc332", + "rev": "60034a57efd9c8130b05797b37cbc187a8c13145", "type": "github" }, "original": { @@ -649,11 +617,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1739071773, - "narHash": "sha256-/Ak+Quinhmdxa9m3shjm4lwwwqmzG8zzGhhhhgR1k9I=", + "lastModified": 1743306489, + "narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "895d81b6228bbd50a6ef22f5a58a504ca99763ea", + "rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d", "type": "github" }, "original": { @@ -687,16 +655,15 @@ }, "nix-vscode": { "inputs": { - "flake-compat": "flake-compat_2", "flake-utils": "flake-utils_6", "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1739238493, - "narHash": "sha256-rk89UVGqLwts2c05TMpigB+zL2mhIYn33YUC69v7dxk=", + "lastModified": 1743731627, + "narHash": "sha256-gFvZTGlSGCl7MZ5MrihUf7pkIY0zwaUVhl/iUBto/3I=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "eca81883cfad1f52a52d09025d10f5907200ea06", + "rev": "c8270f31af9c37e4fe5711567a6412460e94e9b7", "type": "github" }, "original": { @@ -707,11 +674,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728018373, - "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", + "lastModified": 1740560979, + "narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", + "rev": "5135c59491985879812717f4c9fea69604e7f26f", "type": "github" }, "original": { @@ -750,11 +717,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1739055578, - "narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=", + "lastModified": 1743576891, + "narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e", + "rev": "44a69ed688786e98a101f02b712c313f1ade37ab", "type": "github" }, "original": { @@ -780,29 +747,45 @@ "type": "github" } }, - "nixpkgs_10": { + "nixpkgs-stable_3": { "locked": { - "lastModified": 1713805509, - "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", + "lastModified": 1743576891, + "narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e1dc66fe68972a76679644a5577828b6a7e8be4", + "rev": "44a69ed688786e98a101f02b712c313f1ade37ab", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } }, + "nixpkgs_10": { + "locked": { + "lastModified": 1740547748, + "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3a05eebede89661660945da1f151959900903b6a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3a05eebede89661660945da1f151959900903b6a", + "type": "github" + } + }, "nixpkgs_11": { "locked": { - "lastModified": 1739020877, - "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", + "lastModified": 1743583204, + "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", + "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", "type": "github" }, "original": { @@ -814,11 +797,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738297584, - "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", + "lastModified": 1743320628, + "narHash": "sha256-FurMxmjEEqEMld11eX2vgfAx0Rz0JhoFm8UgxbfCZa8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9189ac18287c599860e878e905da550aa6dec1cd", + "rev": "63158b9cbb6ec93d26255871c447b0f01da81619", "type": "github" }, "original": { @@ -828,11 +811,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738142207, - "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "lastModified": 1743315132, + "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "rev": "52faf482a3889b7619003c0daec593a1912fddc1", "type": "github" }, "original": { @@ -860,11 +843,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1731890469, - "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "lastModified": 1741037377, + "narHash": "sha256-SvtvVKHaUX4Owb+PasySwZsoc5VUeTf1px34BByiOxw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5083ec887760adfe12af64830a66807423a859a7", + "rev": "02032da4af073d0f6110540c8677f16d4be0117f", "type": "github" }, "original": { @@ -876,11 +859,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1739020877, - "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", + "lastModified": 1743583204, + "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", + "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", "type": "github" }, "original": { @@ -892,11 +875,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1739020877, - "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", + "lastModified": 1743095683, + "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", + "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6", "type": "github" }, "original": { @@ -973,7 +956,8 @@ "nix-index-database": "nix-index-database", "nix-rice": "nix-rice", "nix-vscode": "nix-vscode", - "nixpkgs": "nixpkgs_11" + "nixpkgs": "nixpkgs_11", + "nixpkgs-stable": "nixpkgs-stable_3" } }, "rust-overlay": { @@ -984,11 +968,11 @@ ] }, "locked": { - "lastModified": 1737599167, - "narHash": "sha256-S2rHCrQWCDVp63XxL/AQbGr1g5M8Zx14C7Jooa4oM8o=", + "lastModified": 1740623427, + "narHash": "sha256-3SdPQrZoa4odlScFDUHd4CUPQ/R1gtH4Mq9u8CBiK8M=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "38374302ae9edf819eac666d1f276d62c712dd06", + "rev": "d342e8b5fd88421ff982f383c853f0fc78a847ab", "type": "github" }, "original": { @@ -1005,11 +989,11 @@ ] }, "locked": { - "lastModified": 1738290352, - "narHash": "sha256-YKOHUmc0Clm4tMV8grnxYL4IIwtjTayoq/3nqk0QM7k=", + "lastModified": 1743388531, + "narHash": "sha256-OBcNE+2/TD1AMgq8HKMotSQF8ZPJEFGZdRoBJ7t/HIc=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "b031b584125d33d23a0182f91ddbaf3ab4880236", + "rev": "011de3c895927300651d9c2cb8e062adf17aa665", "type": "github" }, "original": { @@ -1026,11 +1010,11 @@ ] }, "locked": { - "lastModified": 1731983527, - "narHash": "sha256-JECaBgC0pQ91Hq3W4unH6K9to8s2Zl2sPNu7bLOv4ek=", + "lastModified": 1741055476, + "narHash": "sha256-52vwEV0oS2lCnx3c/alOFGglujZTLmObit7K8VblnS8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "71287228d96e9568e1e70c6bbfa3f992d145947b", + "rev": "aefb7017d710f150970299685e8d8b549d653649", "type": "github" }, "original": { @@ -1163,16 +1147,16 @@ "xwayland-satellite-stable": { "flake": false, "locked": { - "lastModified": 1730166465, - "narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=", + "lastModified": 1739246919, + "narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98", + "rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d", "type": "github" }, "original": { "owner": "Supreeeme", - "ref": "v0.5", + "ref": "v0.5.1", "repo": "xwayland-satellite", "type": "github" } @@ -1180,11 +1164,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1737837494, - "narHash": "sha256-wIMowP8Juas4ZwMRcpc+58sZ0kKTDu8fm13THPmv/F8=", + "lastModified": 1743346993, + "narHash": "sha256-i7rWd/5BcqLgQEtB5L/6gKN5R5GUJcmm34F+iBivH60=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "3944c9a0e40e5629f16ad023bbc90dac80d35a0f", + "rev": "45c055696437a08e3989d9b91d9c617b84cc2bc3", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 8a2a271..709e803 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11"; home-manager = { url = "github:nix-community/home-manager"; @@ -15,7 +16,6 @@ nix-rice.url = "github:bertof/nix-rice"; - # nixd.url = "github:nix-community/nixd"; nil.url = "github:oxalica/nil"; madness.url = "github:antithesishq/madness"; @@ -73,26 +73,11 @@ }; outputs = - { - self, - nixpkgs, - home-manager, - nix-index-database, - madness, - meat, - culr, - niri, - cachyos, - ... - }@inputs: + inputs: + with inputs; let create = import ./util/create.nix { - inherit self; - inherit - nixpkgs - home-manager - inputs - ; + inherit inputs; system = "x86_64-linux"; sharedModules = [ culr.nixosModules.culr @@ -105,11 +90,6 @@ }; in { - overlays = import ./util/overlay.nix { - inherit inputs; - inherit (nixpkgs) lib; - }; - nixosConfigurations = create.systems { quiver = { user = "bolt"; diff --git a/home/home.nix b/home/home.nix index 5a65b1a..d57fadc 100644 --- a/home/home.nix +++ b/home/home.nix @@ -2,11 +2,9 @@ inputs, lib, pkgs, + rice, ... }: -let - inherit (lib) getExe; -in { home.stateVersion = "22.11"; @@ -53,7 +51,7 @@ in home.packages = let - inherit (pkgs.rice) icons fonts cursor; + inherit (rice) icons fonts cursor; in fonts.pkgs ++ icons.pkgs ++ [ cursor.package ]; diff --git a/home/modules/dev.nix b/home/modules/dev.nix index 82ff6d6..0342a87 100644 --- a/home/modules/dev.nix +++ b/home/modules/dev.nix @@ -1,13 +1,18 @@ -{ pkgs, ... }: +{ pkgs, rice, ... }: +let + get = builtins.attrValues; +in { imports = [ ../programs/vscode.nix ]; - home.packages = with pkgs; [ - git-credential-keepassxc - direnv - ]; + home.packages = get { + inherit (pkgs) + git-credential-keepassxc + direnv + ; + }; programs.zed-editor = { enable = false; @@ -21,8 +26,8 @@ features = { copilot = false; }; - buffer_font_family = pkgs.rice.fonts.monospace.name; - buffer_font_size = pkgs.rice.fonts.monospace.size; + buffer_font_family = rice.fonts.monospace.name; + buffer_font_size = rice.fonts.monospace.size; theme = { mode = "dark"; dark = "Kanagawa Dragon"; diff --git a/home/modules/niri.nix b/home/modules/niri.nix index d48962f..d85d10a 100644 --- a/home/modules/niri.nix +++ b/home/modules/niri.nix @@ -2,6 +2,8 @@ pkgs, lib, config, + nix-rice, + rice, ... }: let @@ -170,7 +172,7 @@ in hide-after-inactive-ms = 5000; hide-when-typing = true; size = 16; - theme = pkgs.rice.cursor.name; + theme = rice.cursor.name; }; layout = { always-center-single-column = true; @@ -183,7 +185,7 @@ in ]; focus-ring = let - pal = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette; + pal = nix-rice.palette.toRgbHex rice.palette; in { active = { @@ -254,13 +256,13 @@ in "sirula/style.css".text = let - pal = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette; + pal = nix-rice.palette.toRgbHex rice.palette; in '' #root-box { background-color: ${pal.normal.black}; color: ${pal.normal.yellow}; - font-family: '${pkgs.rice.fonts.sans.name}'; + font-family: '${rice.fonts.sans.name}'; } /* what's the name of the highlighted search text? color: ${pal.normal.white}; diff --git a/home/modules/theming.nix b/home/modules/theming.nix index d20388b..7436798 100644 --- a/home/modules/theming.nix +++ b/home/modules/theming.nix @@ -1,7 +1,7 @@ -{ pkgs, ... }: +{ pkgs, rice, ... }: { - home.packages = with pkgs; [ - gtk-engine-murrine + home.packages = [ + pkgs.gtk-engine-murrine ]; fonts.fontconfig.enable = true; @@ -11,19 +11,16 @@ platformTheme.name = "adwaita"; }; - gtk = - with pkgs; - with rice; - { - enable = true; - theme = with gtk-theme; { - inherit package name; - }; - iconTheme = with icons; { - inherit package name; - }; - font = with fonts.sans; { - inherit name size package; - }; + gtk = { + enable = true; + theme = { + inherit (rice.gtk-theme) package name; }; + iconTheme = { + inherit (rice.icons) package name; + }; + font = { + inherit (rice.fonts.sans) size package name; + }; + }; } diff --git a/home/programs/helix.nix b/home/programs/helix.nix index 8a5fbe9..a495c48 100644 --- a/home/programs/helix.nix +++ b/home/programs/helix.nix @@ -1,11 +1,10 @@ { - config, - lib, - pkgs, + nix-rice, + rice, ... }: let - palette-hex = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette; + palette-hex = nix-rice.palette.toRgbHex rice.palette; in { programs.helix = { diff --git a/home/programs/kitty.nix b/home/programs/kitty.nix index 20d528f..1d3560a 100644 --- a/home/programs/kitty.nix +++ b/home/programs/kitty.nix @@ -1,17 +1,16 @@ { - lib, - pkgs, + nix-rice, + rice, ... }: let - palette-hex = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette; + palette-hex = nix-rice.palette.toRgbHex rice.palette; in { - programs.kitty = with pkgs.rice; { + programs.kitty = { enable = true; - font = with fonts; { - inherit (monospace) name; - inherit (monospace) size; + font = { + inherit (rice.fonts.monospace) name size; }; settings = with palette-hex; { foreground = util.fg; diff --git a/home/programs/vscode.nix b/home/programs/vscode.nix index bd859ab..78dcd6f 100644 --- a/home/programs/vscode.nix +++ b/home/programs/vscode.nix @@ -1,36 +1,38 @@ -{ pkgs, inputs, ... }: +{ rice, inputs, ... }: { programs.vscode = { enable = true; - extensions = with inputs.nix-vscode.extensions.x86_64-linux.vscode-marketplace; [ - rust-lang.rust-analyzer - ocamllabs.ocaml-platform - jnoortheen.nix-ide - mkhl.direnv - barbosshack.crates-io - vadimcn.vscode-lldb - kend.dancehelixkey - hikionori.kanagawa-vscode-theme - dbaeumer.vscode-eslint - ms-vscode.extension-test-runner - ]; mutableExtensionsDir = false; - userSettings = { - "window.titleBarStyle" = "custom"; - "editor.fontFamily" = "${pkgs.rice.fonts.monospace.name}"; - "editor.fontSize" = 12; - "editor.formatOnSave" = true; - "workbench.colorTheme" = "KanagawaTheme"; - "rust-analyzer.debug.engine" = "vadimcn.vscode-lldb"; - "rust-analyzer.inlayHints.chainingHints.enable" = false; - "rust-analyzer.inlayHints.parameterHints.enable" = false; - "rust-analyzer.inlayHints.typeHints.enable" = false; - "nix.enableLanguageServer" = true; - "nix.serverPath" = "nil"; - "nix.serverSettings" = { - nil.formatting.command = [ - "nixfmt" - ]; + profiles.default = { + extensions = with inputs.nix-vscode.extensions.x86_64-linux.vscode-marketplace; [ + rust-lang.rust-analyzer + ocamllabs.ocaml-platform + jnoortheen.nix-ide + mkhl.direnv + barbosshack.crates-io + vadimcn.vscode-lldb + kend.dancehelixkey + hikionori.kanagawa-vscode-theme + dbaeumer.vscode-eslint + ms-vscode.extension-test-runner + ]; + userSettings = { + "window.titleBarStyle" = "custom"; + "editor.fontFamily" = "${rice.fonts.monospace.name}"; + "editor.fontSize" = 12; + "editor.formatOnSave" = true; + "workbench.colorTheme" = "KanagawaTheme"; + "rust-analyzer.debug.engine" = "vadimcn.vscode-lldb"; + "rust-analyzer.inlayHints.chainingHints.enable" = false; + "rust-analyzer.inlayHints.parameterHints.enable" = false; + "rust-analyzer.inlayHints.typeHints.enable" = false; + "nix.enableLanguageServer" = true; + "nix.serverPath" = "nil"; + "nix.serverSettings" = { + nil.formatting.command = [ + "nixfmt" + ]; + }; }; }; }; diff --git a/home/programs/wlogout.nix b/home/programs/wlogout.nix index e3f396c..50096e2 100644 --- a/home/programs/wlogout.nix +++ b/home/programs/wlogout.nix @@ -1,10 +1,11 @@ { - lib, + nix-rice, + rice, pkgs, ... }: let - palette-hex = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette; + palette-hex = nix-rice.palette.toRgbHex rice.palette; in { programs.wlogout = { diff --git a/home/programs/xresources.nix b/home/programs/xresources.nix index 89dbc97..5bf2ade 100644 --- a/home/programs/xresources.nix +++ b/home/programs/xresources.nix @@ -2,12 +2,13 @@ pkgs, lib, config, + inputs, ... }: let inherit (lib) getExe; inherit (config.home) homeDirectory; - palette-hex = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette; + palette-hex = inputs.nix-rice.palette.toRgbHex pkgs.rice.palette; in { ezOneShots = with pkgs; { diff --git a/npins/default.nix b/npins/default.nix new file mode 100644 index 0000000..6592476 --- /dev/null +++ b/npins/default.nix @@ -0,0 +1,146 @@ +/* + This file is provided under the MIT licence: + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +# Generated by npins. Do not modify; will be overwritten regularly +let + data = builtins.fromJSON (builtins.readFile ./sources.json); + version = data.version; + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295 + range = + first: last: if first > last then [ ] else builtins.genList (n: first + n) (last - first + 1); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257 + stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1)); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269 + stringAsChars = f: s: concatStrings (map f (stringToCharacters s)); + concatMapStrings = f: list: concatStrings (map f list); + concatStrings = builtins.concatStringsSep ""; + + # If the environment variable NPINS_OVERRIDE_${name} is set, then use + # the path directly as opposed to the fetched source. + # (Taken from Niv for compatibility) + mayOverride = + name: path: + let + envVarName = "NPINS_OVERRIDE_${saneName}"; + saneName = stringAsChars (c: if (builtins.match "[a-zA-Z0-9]" c) == null then "_" else c) name; + ersatz = builtins.getEnv envVarName; + in + if ersatz == "" then + path + else + # this turns the string into an actual Nix path (for both absolute and + # relative paths) + builtins.trace "Overriding path of \"${name}\" with \"${ersatz}\" due to set \"${envVarName}\"" ( + if builtins.substring 0 1 ersatz == "/" then + /. + ersatz + else + /. + builtins.getEnv "PWD" + "/${ersatz}" + ); + + mkSource = + name: spec: + assert spec ? type; + let + path = + if spec.type == "Git" then + mkGitSource spec + else if spec.type == "GitRelease" then + mkGitSource spec + else if spec.type == "PyPi" then + mkPyPiSource spec + else if spec.type == "Channel" then + mkChannelSource spec + else if spec.type == "Tarball" then + mkTarballSource spec + else + builtins.throw "Unknown source type ${spec.type}"; + in + spec // { outPath = mayOverride name path; }; + + mkGitSource = + { + repository, + revision, + url ? null, + submodules, + hash, + branch ? null, + ... + }: + assert repository ? type; + # At the moment, either it is a plain git repository (which has an url), or it is a GitHub/GitLab repository + # In the latter case, there we will always be an url to the tarball + if url != null && !submodules then + builtins.fetchTarball { + inherit url; + sha256 = hash; # FIXME: check nix version & use SRI hashes + } + else + let + url = + if repository.type == "Git" then + repository.url + else if repository.type == "GitHub" then + "https://github.com/${repository.owner}/${repository.repo}.git" + else if repository.type == "GitLab" then + "${repository.server}/${repository.repo_path}.git" + else + throw "Unrecognized repository type ${repository.type}"; + urlToName = + url: rev: + let + matched = builtins.match "^.*/([^/]*)(\\.git)?$" url; + + short = builtins.substring 0 7 rev; + + appendShort = if (builtins.match "[a-f0-9]*" rev) != null then "-${short}" else ""; + in + "${if matched == null then "source" else builtins.head matched}${appendShort}"; + name = urlToName url revision; + in + builtins.fetchGit { + rev = revision; + inherit name; + # hash = hash; + inherit url submodules; + }; + + mkPyPiSource = + { url, hash, ... }: + builtins.fetchurl { + inherit url; + sha256 = hash; + }; + + mkChannelSource = + { url, hash, ... }: + builtins.fetchTarball { + inherit url; + sha256 = hash; + }; + + mkTarballSource = + { + url, + locked_url ? url, + hash, + ... + }: + builtins.fetchTarball { + url = locked_url; + sha256 = hash; + }; +in +if version == 5 then + builtins.mapAttrs mkSource data.pins +else + throw "Unsupported format version ${toString version} in sources.json. Try running `npins upgrade`" diff --git a/npins/sources.json b/npins/sources.json new file mode 100644 index 0000000..3e162ee --- /dev/null +++ b/npins/sources.json @@ -0,0 +1,145 @@ +{ + "pins": { + "culr": { + "type": "Git", + "repository": { + "type": "Git", + "url": "https://git.atagen.co/atagen/culr" + }, + "branch": "master", + "submodules": false, + "revision": "40feebba44d4722706b66ac51e1997cb630c09c9", + "url": null, + "hash": "16rjgm4hj8dgkrr2maq9mnkdarvj3vrzw4y018abn340nfyr9rlr" + }, + "helix": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "helix-editor", + "repo": "helix" + }, + "branch": "master", + "submodules": false, + "revision": "7ebf65002940d0ce8d6e59c3ec22c736f7d57d9c", + "url": "https://github.com/helix-editor/helix/archive/7ebf65002940d0ce8d6e59c3ec22c736f7d57d9c.tar.gz", + "hash": "0x34kv59yl787qa6gfd3bvakb8n4j67wj02zp0pcljzl8b7gcm68" + }, + "hjem": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "feel-co", + "repo": "hjem" + }, + "branch": "main", + "submodules": false, + "revision": "ae49a5a2e013c710d2b2cf046ae365d08eae75b3", + "url": "https://github.com/feel-co/hjem/archive/ae49a5a2e013c710d2b2cf046ae365d08eae75b3.tar.gz", + "hash": "1571dkq3ng9m9yip0fdzd4dqmckmjmpp7an7jp5kasqirhpd5w64" + }, + "home-manager": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nix-community", + "repo": "home-manager" + }, + "branch": "master", + "submodules": false, + "revision": "d094c6763c6ddb860580e7d3b4201f8f496a6836", + "url": "https://github.com/nix-community/home-manager/archive/d094c6763c6ddb860580e7d3b4201f8f496a6836.tar.gz", + "hash": "1d72lb88xq16sik4p8vjbmnj9w6p358rpzcwscrg0nyi2z1bf5sy" + }, + "ironbar": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "JakeStanger", + "repo": "ironbar" + }, + "branch": "master", + "submodules": false, + "revision": "f2bc33ec26698f2aeb28d0c8e0c5605d5ffbcce1", + "url": "https://github.com/JakeStanger/ironbar/archive/f2bc33ec26698f2aeb28d0c8e0c5605d5ffbcce1.tar.gz", + "hash": "182gi303bdf887jfd38cfcnjdd5kf2917alz388wqmx7ck1wn2sf" + }, + "lix": { + "type": "Git", + "repository": { + "type": "Git", + "url": "https://git.lix.systems/lix-project/lix" + }, + "branch": "main", + "submodules": false, + "revision": "63d550938ba2a3690be987e884fe95e384708a82", + "url": null, + "hash": "1jnphmq9dxs26mk18q3b1flj6r29gwfiqjjxxaxp8qxa5m613ldg" + }, + "lix-module": { + "type": "Git", + "repository": { + "type": "Git", + "url": "https://git.lix.systems/lix-project/nixos-module" + }, + "branch": "main", + "submodules": false, + "revision": "fa69ae26cc32dda178117b46487c2165c0e08316", + "url": null, + "hash": "13x2dca4s049m8fa2y4b45kgqnpk3cf26j0j0yascah32zzxn7rh" + }, + "nix-vscode": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nix-community", + "repo": "nix-vscode-extensions" + }, + "branch": "master", + "submodules": false, + "revision": "da51d4cab526bef885e8c95ab2b9455bfe0940d4", + "url": "https://github.com/nix-community/nix-vscode-extensions/archive/da51d4cab526bef885e8c95ab2b9455bfe0940d4.tar.gz", + "hash": "01bb7jnrv53j7lpgdqm6cgsijl8cm5i8v0zx30hslvzmpihg0ybl" + }, + "nixos-cachyos-kernel": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "drakon64", + "repo": "nixos-cachyos-kernel" + }, + "branch": "main", + "submodules": false, + "revision": "8516d89c4e0c4a25cea1be8431db3963359ee81b", + "url": "https://github.com/drakon64/nixos-cachyos-kernel/archive/8516d89c4e0c4a25cea1be8431db3963359ee81b.tar.gz", + "hash": "0ay9zqb4g7jx82pgcsnxy2nkyvk8y4xssska0afd7hxsimfnsl1s" + }, + "nixpkgs": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nixos", + "repo": "nixpkgs" + }, + "branch": "nixos-unstable", + "submodules": false, + "revision": "42a1c966be226125b48c384171c44c651c236c22", + "url": "https://github.com/nixos/nixpkgs/archive/42a1c966be226125b48c384171c44c651c236c22.tar.gz", + "hash": "082dpl311xlspwm5l3h2hf10ww6l59m7k2g2hdrqs4kwwsj9x6mf" + }, + "nixpkgs-stable": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nixos", + "repo": "nixpkgs" + }, + "branch": "release-24.11", + "submodules": false, + "revision": "e1cd802516a4515cceedfdedcbae9ea4df50a371", + "url": "https://github.com/nixos/nixpkgs/archive/e1cd802516a4515cceedfdedcbae9ea4df50a371.tar.gz", + "hash": "0yp82j423ibabnp71k2fpprfnmd6sr52vfknk689gygvyask8mx4" + } + }, + "version": 5 +} diff --git a/pin-nixpkgs.nix b/pin-nixpkgs.nix new file mode 100644 index 0000000..986a1a5 --- /dev/null +++ b/pin-nixpkgs.nix @@ -0,0 +1,7 @@ +{ ... }: +let + sources = import ./npins; +in +{ + nixpkgs.flake.source = sources.nixpkgs; +} diff --git a/sources.nix b/sources.nix new file mode 100644 index 0000000..e69de29 diff --git a/system/configuration.nix b/system/configuration.nix index 2a77c97..a33a8c1 100644 --- a/system/configuration.nix +++ b/system/configuration.nix @@ -1,6 +1,5 @@ { inputs, - self, lib, pkgs, mainUser, @@ -13,13 +12,10 @@ in # these settings propagate to home-manager's nixpkgs nixpkgs = { overlays = [ - inputs.nix-rice.overlays.default + # inputs.nix-rice.overlays.default inputs.helix.overlays.default inputs.nil.overlays.nil inputs.niri.overlays.niri - self.overlays.rice - self.overlays.comfyui - self.overlays.comfyui-plugins ]; config = { allowUnfree = true; diff --git a/system/modules/nix-meta.nix b/system/modules/nix-meta.nix index 291d6c7..88d4227 100644 --- a/system/modules/nix-meta.nix +++ b/system/modules/nix-meta.nix @@ -7,5 +7,6 @@ nil statix deadnix + npins ]; } diff --git a/system/modules/term.nix b/system/modules/term.nix index 845d3de..2367895 100644 --- a/system/modules/term.nix +++ b/system/modules/term.nix @@ -8,11 +8,10 @@ in }; programs.autojump.enable = true; environment.systemPackages = [ - elvish fish ]; - environment.shells = [ elvish ]; - users.defaultUserShell = elvish; + environment.shells = [ fish ]; + users.defaultUserShell = fish; console = { font = "Lat2-Terminus16"; }; diff --git a/system/quiver.nix b/system/quiver.nix index b97766b..3c46971 100644 --- a/system/quiver.nix +++ b/system/quiver.nix @@ -2,6 +2,8 @@ config, lib, pkgs, + inputs, + rice, ... }: { @@ -33,23 +35,24 @@ "sd_mod" ]; boot.initrd.kernelModules = [ ]; + boot.initrd.verbose = false; boot.kernelModules = [ "kvm-amd" "i2c-dev" ]; + boot.consoleLogLevel = 0; boot.kernelParams = [ "mitigations=off" - # "acpi_enforce_resources=lax" "preempt=full" "quiet" "loglevel=3" - "systemd.show_status=auto" + "systemd.show_status=off" "rd.udev.log_level=3" "vt.global_cursor_default=0" ]; boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linuxPackages_cachyos; - # pkgs.linuxPackages_xanmod_latest; + # pkgs.linuxPackages_xanmod_latest; boot.supportedFilesystems = { ntfs = true; btrfs = true; @@ -58,6 +61,11 @@ boot.loader.systemd-boot.configurationLimit = 5; boot.loader.efi.canTouchEfiVariables = true; + boot.plymouth = { + enable = true; + inherit (rice.plymouth) theme themePackages font; + }; + security.tpm2.enable = true; networking.useDHCP = lib.mkDefault true; @@ -170,7 +178,8 @@ }; services.open-webui = { - enable = false; + package = inputs.nixpkgs-stable.legacyPackages.x86_64-linux.open-webui; + enable = true; port = 8088; environment = { DO_NOT_TRACK = "True"; diff --git a/util/create.nix b/util/create.nix index 46e8f60..755b924 100644 --- a/util/create.nix +++ b/util/create.nix @@ -1,12 +1,17 @@ { - nixpkgs, - home-manager, system, inputs, - self, sharedModules, ... }: +with inputs; +let + nix-rice = import "${inputs.nix-rice}/lib.nix" { + inherit (nixpkgs) lib; + kitty-themes-src = { }; + }; + rice = import ./rice.nix { inherit system nixpkgs nix-rice; }; +in { systems = definitions: @@ -15,7 +20,7 @@ nixpkgs.lib.nixosSystem { inherit system; specialArgs = { - inherit inputs self; + inherit inputs rice nix-rice; mainUser = info.user; }; modules = @@ -26,7 +31,7 @@ home-manager = { useGlobalPkgs = true; extraSpecialArgs = { - inherit inputs self; + inherit inputs rice nix-rice; mainUser = info.user; }; users.${info.user}.imports = [ diff --git a/util/rice.nix b/util/rice.nix index b886530..bf76578 100644 --- a/util/rice.nix +++ b/util/rice.nix @@ -1,122 +1,140 @@ -final: prev: +{ + nixpkgs, + nix-rice, + system, + ... +}: let - inherit (prev.lib.nix-rice) kitty-themes; - inherit (prev.lib.nix-rice.palette) toRGBShortHex; - # theme = kitty-themes.parseTheme ./op.pal; + pkgs = nixpkgs.legacyPackages.${system}; + inherit (nix-rice) kitty-themes; + inherit (nix-rice.palette) toRGBShortHex; theme = kitty-themes.parseTheme ./pal.conf; in -# theme = kitty-themes.getThemeByName "everforest_dark_hard"; -{ - rice = rec { - palette = { - normal = { - black = theme.color0; - red = theme.color1; - green = theme.color2; - yellow = theme.color3; - blue = theme.color4; - magenta = theme.color5; - cyan = theme.color6; - white = theme.color7; - }; - bright = { - black = theme.color8; - red = theme.color9; - green = theme.color10; - yellow = theme.color11; - blue = theme.color12; - magenta = theme.color13; - cyan = theme.color14; - white = theme.color15; - }; - util = { - fg = theme.foreground; - bg = theme.background; - fg_sel = theme.selection_foreground; - bg_sel = theme.selection_background; - inherit (theme) cursor; - # url = theme.url_color; - }; - } // theme; +rec { + palette = { + normal = { + black = theme.color0; + red = theme.color1; + green = theme.color2; + yellow = theme.color3; + blue = theme.color4; + magenta = theme.color5; + cyan = theme.color6; + white = theme.color7; + }; + bright = { + black = theme.color8; + red = theme.color9; + green = theme.color10; + yellow = theme.color11; + blue = theme.color12; + magenta = theme.color13; + cyan = theme.color14; + white = theme.color15; + }; + util = { + fg = theme.foreground; + bg = theme.background; + fg_sel = theme.selection_foreground; + bg_sel = theme.selection_background; + inherit (theme) cursor; + # url = theme.url_color; + }; + } // theme; - fonts = rec { + fonts = + let sans = { name = "Inria Sans"; size = 12; - package = final.inriafonts; + package = pkgs.inriafonts; }; serif = { name = "Inria Serif"; size = 12; - package = final.inriafonts; + package = pkgs.inriafonts; }; monospace = { name = "Fira Code"; size = 10; - package = final.fira-code; + package = pkgs.fira-code; }; emoji = { name = "Twitter Color Emoji"; size = 12; - package = final.twemoji-color-font; + package = pkgs.twemoji-color-font; }; - pkgs = with final; [ + in + { + inherit + sans + serif + monospace + emoji + ; + pkgs = [ sans.package serif.package monospace.package emoji.package - meslo-lgs-nf + pkgs.meslo-lgs-nf ]; }; - icons = rec { + icons = + let + package = pkgs.papirus-icon-theme; + in + { + inherit package; name = "Papirus-Dark"; - package = final.papirus-icon-theme; - pkgs = with final; [ + pkgs = [ package # material-icons # material-design-icons ]; }; - gtk-theme = { - name = "nix-rice"; - package = prev.callPackage ./gtk-theme.nix { } { palette = toRGBShortHex final.rice.palette; }; - }; + gtk-theme = { + name = "nix-rice"; + package = pkgs.callPackage ./gtk-theme.nix { } { palette = toRGBShortHex palette; }; + }; - borders = { - thickness = 6; - rounding = 0; - gaps_in = 16; - gaps_out = 72; - }; + borders = { + thickness = 6; + rounding = 0; + gaps_in = 16; + gaps_out = 72; + }; - bg = { - image = prev.callPackage ./wallpaper.nix { } { - palette = toRGBShortHex final.rice.palette; - wallpaper = builtins.path rec { - name = "wallpaper.jpg"; - path = ../${name}; - sha256 = "2db3f9d0397fbd4746ada297bd14c0c7d3e22c7d4e894968fcfece90bbfb902a"; - }; + bg = { + image = pkgs.callPackage ./wallpaper.nix { } { + palette = toRGBShortHex palette; + wallpaper = builtins.path rec { + name = "wallpaper.jpg"; + path = ../${name}; + sha256 = "2db3f9d0397fbd4746ada297bd14c0c7d3e22c7d4e894968fcfece90bbfb902a"; }; }; + }; - cursor = { - package = prev.afterglow-cursors-recolored.override { - themeVariants = [ "Dracula" ]; - draculaColorVariants = [ "Orange" ]; - }; - name = "Afterglow-Recolored-Dracula-Orange"; + cursor = { + package = pkgs.afterglow-cursors-recolored.override { + themeVariants = [ "Dracula" ]; + draculaColorVariants = [ "Orange" ]; }; + name = "Afterglow-Recolored-Dracula-Orange"; + }; - plymouth = { - # no easy way to automate filename sadly - could try stripping "real" font name of spaces? + plymouth = + let + theme = "spinner_alt"; + in + { + inherit theme; font = "${fonts.sans.package}/share/fonts/truetype/InriaSans-Regular.ttf"; - theme = "colorful_loop"; themePackages = [ - (prev.pkgs.adi1090x-plymouth-themes.override { selected_themes = [ "colorful_loop" ]; }) + (pkgs.adi1090x-plymouth-themes.override { selected_themes = [ theme ]; }) ]; }; - }; # /rice } diff --git a/util/wallpaper.nix b/util/wallpaper.nix index d0cdd0e..4061a98 100644 --- a/util/wallpaper.nix +++ b/util/wallpaper.nix @@ -1,16 +1,19 @@ -{ pkgs }: +{ pkgs, lib }: { palette, wallpaper, }: let str_pal = - with pkgs.lib; + let + inherit (lib) concatStringsSep; + inherit (builtins) foldl' attrValues; + in concatStringsSep " " ( - builtins.foldl' (acc: el: acc ++ (attrValues el)) [ ] [ palette.normal palette.bright palette.util ] + foldl' (acc: el: acc ++ (attrValues el)) [ ] [ palette.normal palette.bright palette.util ] ); in -pkgs.stdenv.mkDerivation rec { +pkgs.stdenv.mkDerivation { name = "generated-wallpaper.png"; src = wallpaper; buildInputs = [