diff --git a/flake.lock b/flake.lock index 8f0ef0d..11f517b 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ ] }, "locked": { - "lastModified": 1776876344, - "narHash": "sha256-Ubqb/agkuMJK+k19gjQgHux/eOYRc1sRGoOZOho8+VY=", + "lastModified": 1765900596, + "narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "648a13d0ee1e03a843b3e145b8ece15393058701", + "rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace", "type": "github" }, "original": { @@ -70,17 +70,15 @@ "awww": { "inputs": { "flake-compat": "flake-compat", - "nixpkgs": [ - "nixpkgs-unstable" - ], + "nixpkgs": "nixpkgs", "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1777136912, - "narHash": "sha256-owyQdC2vi0kYC119fzyVQp0J4G0t1n4xXUwryhlBbqA=", + "lastModified": 1770895252, + "narHash": "sha256-TUGZVDcC5xsrWVnpBNosAG1cTy+aWchCWXPyeLZdnGM=", "ref": "refs/heads/main", - "rev": "f66e12a76dbc4c669b2f1375f78bce49f5b19d66", - "revCount": 1363, + "rev": "2c86d41d07471f518e24f5cd1f586e4d2a32d12c", + "revCount": 1331, "type": "git", "url": "https://codeberg.org/LGFae/awww" }, @@ -95,14 +93,14 @@ "cachyos-kernel-patches": "cachyos-kernel-patches", "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1777746826, - "narHash": "sha256-fAbcHwnhw294NL+a+2E2bidNiaxhM935RrsJLqKcnc4=", + "lastModified": 1771353108, + "narHash": "sha256-5Xtei4UKrqRC6IYLgI1KEBaPN9Xfef5JeOexdqDWVeg=", "owner": "xddxdd", "repo": "nix-cachyos-kernel", - "rev": "26aa2e8f054184252d08558290471a397164aeff", + "rev": "98e777cdcc39e6bd0312a9d756507ef9cbd284cb", "type": "github" }, "original": { @@ -114,11 +112,11 @@ "cachyos-kernel": { "flake": false, "locked": { - "lastModified": 1777639499, - "narHash": "sha256-EyELzah58EHIADP4siMoSzsCOPd71bZkmlVpcUb9Oi8=", + "lastModified": 1771263855, + "narHash": "sha256-akyds1g8cb742d2OrnQ4YciscpynsQ0+0YD2a8aZdvo=", "owner": "CachyOS", "repo": "linux-cachyos", - "rev": "1c6414dbda46c13abcb951ef6c5a790cb9e157ea", + "rev": "5ece16c7b4a7d1261da68153cafc318a60b78ce8", "type": "github" }, "original": { @@ -130,11 +128,11 @@ "cachyos-kernel-patches": { "flake": false, "locked": { - "lastModified": 1777306094, - "narHash": "sha256-YNvqoVdMe/SqXm91cpCA6mVOigK3Zzoab6HPvMiqGqo=", + "lastModified": 1771246613, + "narHash": "sha256-GftqKiyIgMcSgVkbNqXQq7oNnoL1+EB9V71XG4lPBRs=", "owner": "CachyOS", "repo": "kernel-patches", - "rev": "9bcd294d660c932f55f732d951ee79ea707f64f3", + "rev": "cb320a13e3c92f32ada27acb1fba8a828a22ae60", "type": "github" }, "original": { @@ -146,29 +144,29 @@ "cerulean": { "inputs": { "deploy-rs": "deploy-rs", - "home-manager": "home-manager", "microvm": "microvm", "nixpkgs": [ "nixpkgs" ], "nt": "nt", + "sops-nix": "sops-nix", "systems": [ "systems" ] }, "locked": { - "lastModified": 1771409623, - "narHash": "sha256-1IhHueuQTVCVrui700IP9DfLXwb3kU2rnEWPSdxQY0k=", - "ref": "refs/heads/main", - "rev": "d5211287bd3cb96078f2053488d67d557848a8f2", - "revCount": 176, - "type": "git", - "url": "https://tearforge.net/cry/cerulean" + "lastModified": 1772900511, + "narHash": "sha256-JTEO5WzqgrU61EBz2UFQ2jtN8de+RnMC1FnJExJtCpw=", + "owner": "cry128", + "repo": "cerulean", + "rev": "02ded5d4f0d53eaeb68f1b68469926fd21acc6db", + "type": "github" }, "original": { - "rev": "d5211287bd3cb96078f2053488d67d557848a8f2", - "type": "git", - "url": "https://tearforge.net/cry/cerulean" + "owner": "cry128", + "ref": "v0.2.5-alpha", + "repo": "cerulean", + "type": "github" } }, "crane": { @@ -227,33 +225,12 @@ } }, "fenix": { - "inputs": { - "nixpkgs": [ - "nixpkgs-unstable" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1777796307, - "narHash": "sha256-L7xLjorTwVf2aLu5b0ZZY2D0RFXwD/a/a/fFFDikB2w=", - "owner": "nix-community", - "repo": "fenix", - "rev": "0f9881f2344c0b1c100bd9e774555759b7da6fd5", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, - "fenix_2": { "inputs": { "nixpkgs": [ "iamb", "nixpkgs" ], - "rust-analyzer-src": "rust-analyzer-src_2" + "rust-analyzer-src": "rust-analyzer-src" }, "locked": { "lastModified": 1760510549, @@ -320,20 +297,35 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "NixOS", + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } }, "flake-compat_5": { + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_6": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -352,11 +344,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1777678872, - "narHash": "sha256-EPIFsulyon7Z1vLQq5Fk64GR8L7cQsT+IPhcsukVbgk=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "5250617bffd85403b14dbf43c3870e7f255d2c16", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -393,50 +385,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": [ - "mcsr", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1772408722, - "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_5": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" - }, - "locked": { - "lastModified": 1777678872, - "narHash": "sha256-EPIFsulyon7Z1vLQq5Fk64GR8L7cQsT+IPhcsukVbgk=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "5250617bffd85403b14dbf43c3870e7f255d2c16", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -503,39 +456,17 @@ } }, "home-manager": { - "inputs": { - "nixpkgs": [ - "cerulean", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1777771528, - "narHash": "sha256-YycygK6n7KeW1YCobdFJcORWzkmrvNcp6xT+IovA0d4=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "0585fbf645640973e3398863bbaf3bd1ddce4a51", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-25.11", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager-unstable": { "inputs": { "nixpkgs": [ "nixpkgs-unstable" ] }, "locked": { - "lastModified": 1777780644, - "narHash": "sha256-CYpc+mk28rmcQWGygeM8CA+Z8SZYy8BOyQtiW18spao=", + "lastModified": 1771269455, + "narHash": "sha256-BZ31eN5F99YH6vkc4AhzKGE+tJgJ52kl8f01K7wCs8w=", "owner": "nix-community", "repo": "home-manager", - "rev": "b9311028044a9e9b2cf27db15ef0a87d464e212d", + "rev": "5f1d42a97b19803041434f66681d5c44c9ae62e3", "type": "github" }, "original": { @@ -546,27 +477,6 @@ } }, "home-manager_2": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1777771528, - "narHash": "sha256-YycygK6n7KeW1YCobdFJcORWzkmrvNcp6xT+IovA0d4=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "0585fbf645640973e3398863bbaf3bd1ddce4a51", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-25.11", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_3": { "inputs": { "nixpkgs": [ "zen", @@ -574,11 +484,11 @@ ] }, "locked": { - "lastModified": 1776184304, - "narHash": "sha256-No6QGBmIv5ChiwKCcbkxjdEQ/RO2ZS1gD7SFy6EZ7rc=", + "lastModified": 1771102945, + "narHash": "sha256-e5NfW8NhC3qChR8bHVni/asrig/ZFzd1wzpq+cEE/tg=", "owner": "nix-community", "repo": "home-manager", - "rev": "3c7524c68348ef79ce48308e0978611a050089b2", + "rev": "ff5e5d882c51f9a032479595cbab40fd04f56399", "type": "github" }, "original": { @@ -603,11 +513,11 @@ ] }, "locked": { - "lastModified": 1776511930, - "narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=", + "lastModified": 1753964049, + "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "39435900785d0c560c6ae8777d29f28617d031ef", + "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", "type": "github" }, "original": { @@ -632,11 +542,11 @@ ] }, "locked": { - "lastModified": 1776426399, - "narHash": "sha256-RUESLKNikIeEq9ymGJ6nmcDXiSFQpUW1IhJ245nL3xM=", + "lastModified": 1763733840, + "narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "68d064434787cf1ed4a2fe257c03c5f52f33cf84", + "rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a", "type": "github" }, "original": { @@ -656,24 +566,23 @@ "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", "hyprwire": "hyprwire", - "nixpkgs": [ - "nixpkgs-unstable" - ], + "nixpkgs": "nixpkgs_4", "pre-commit-hooks": "pre-commit-hooks", "systems": "systems_3", "xdph": "xdph" }, "locked": { - "lastModified": 1777759969, - "narHash": "sha256-7KSqSehOHNHQfM0sRAcGQbfz0vDuItox8i61X8/nzYw=", + "lastModified": 1766604420, + "narHash": "sha256-2Kqg1YNtjPGXc1DIzBeESL8hiuUNUn3c3Oimab19Zn8=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "6ec0228c38a6203e4789fe7e7e793a558521c109", + "rev": "25250527793eb04bb60f103abe7f06370b9f6e1c", "type": "github" }, "original": { "owner": "hyprwm", "repo": "Hyprland", + "rev": "25250527793eb04bb60f103abe7f06370b9f6e1c", "type": "github" } }, @@ -710,11 +619,11 @@ ] }, "locked": { - "lastModified": 1776426575, - "narHash": "sha256-KI6nIfVihn/DPaeB5Et46Xg3dkNHrrEtUd5LBBVomB0=", + "lastModified": 1765643131, + "narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=", "owner": "hyprwm", "repo": "hyprland-guiutils", - "rev": "a968d211048e3ed538e47b84cb3649299578f19d", + "rev": "e50ae912813bdfa8372d62daf454f48d6df02297", "type": "github" }, "original": { @@ -723,6 +632,36 @@ "type": "github" } }, + "hyprland-plugins": { + "inputs": { + "hyprland": [ + "hyprland-git" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1770899531, + "narHash": "sha256-UBrWjh0DR8db60aLNkTnZTJ9F4kWK0Y7rUDNJC88W7A=", + "owner": "hyprwm", + "repo": "hyprland-plugins", + "rev": "e03c34ccd51280a44ea6d1f5c040cd81ecca25ed", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-plugins", + "type": "github" + } + }, "hyprland-protocols": { "inputs": { "nixpkgs": [ @@ -735,11 +674,11 @@ ] }, "locked": { - "lastModified": 1772460177, - "narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=", + "lastModified": 1765214753, + "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917", + "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", "type": "github" }, "original": { @@ -764,11 +703,11 @@ ] }, "locked": { - "lastModified": 1776426736, - "narHash": "sha256-rl7i4aY+9p8LysJp7o8uRWahCkpFznCgGHXszlTw7b0=", + "lastModified": 1764612430, + "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "7833ff33b2e82d3406337b5dcf0d1cec595d83e9", + "rev": "0d00dc118981531aa731150b6ea551ef037acddd", "type": "github" }, "original": { @@ -816,11 +755,11 @@ ] }, "locked": { - "lastModified": 1772462885, - "narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=", + "lastModified": 1764592794, + "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", "owner": "hyprwm", "repo": "hyprtoolkit", - "rev": "9af245a69fa6b286b88ddfc340afd288e00a6998", + "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", "type": "github" }, "original": { @@ -841,11 +780,11 @@ ] }, "locked": { - "lastModified": 1777492286, - "narHash": "sha256-PwuoEJQcjSKJNP5T55qhfDwIP0tw5zxEhfu8GDfKfeg=", + "lastModified": 1766160771, + "narHash": "sha256-roINUGikWRqqgKrD4iotKbGj3ZKJl3hjMz5l/SyKrHw=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "ec5c0c709706bad5b82f667fd8758eae442577ce", + "rev": "5ac060bfcf2f12b3a6381156ebbc13826a05b09f", "type": "github" }, "original": { @@ -866,11 +805,11 @@ ] }, "locked": { - "lastModified": 1777148232, - "narHash": "sha256-Uv0WZLhu89SafuSOmYDA7akrPt4wBRmsa1ucasO5aXg=", + "lastModified": 1763640274, + "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "fec9cf1abcc1011e46f0a0986f46bf93c6bf8b92", + "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", "type": "github" }, "original": { @@ -895,11 +834,11 @@ ] }, "locked": { - "lastModified": 1776728575, - "narHash": "sha256-z9eGphrArEBpl1O/GCH0wlY6z4K9vA6yWh2gAS6qytU=", + "lastModified": 1766253200, + "narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "f3a80888783702a39691b684d099e16b83ed4702", + "rev": "1079777525b30a947c8d657fac158e00ae85de9d", "type": "github" }, "original": { @@ -911,18 +850,16 @@ "iamb": { "inputs": { "crane": "crane", - "fenix": "fenix_2", + "fenix": "fenix", "flake-utils": "flake-utils", - "nixpkgs": [ - "nixpkgs-unstable" - ] + "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1776390028, - "narHash": "sha256-N/CV6Ldg1PmGNclROSR0qZ2wPwcxkxuPGF7uc34tQnM=", + "lastModified": 1768868561, + "narHash": "sha256-nvEOtV1Y5K9E1Lj+bPnQ6k1AneDM9OT3RbV3Urm/1Qs=", "owner": "ulyssa", "repo": "iamb", - "rev": "b10c98588bd9b22a83dd1275fbf797023aba4117", + "rev": "93fc47d019cd6a9d56f163aa6ba819ef1fd309d6", "type": "github" }, "original": { @@ -1016,47 +953,6 @@ "type": "github" } }, - "mango": { - "inputs": { - "flake-parts": "flake-parts_3", - "nixpkgs": [ - "nixpkgs-unstable" - ], - "scenefx": "scenefx" - }, - "locked": { - "lastModified": 1776999768, - "narHash": "sha256-RP7eVqbnQ/uNCXh0HH8SXRIerMlkyHco+wpI9oxon0U=", - "owner": "mangowm", - "repo": "mango", - "rev": "b9c6a2c1964cb59536c5d3e02d2ff981a7eb36d2", - "type": "github" - }, - "original": { - "owner": "mangowm", - "repo": "mango", - "type": "github" - } - }, - "mcsr": { - "inputs": { - "flake-parts": "flake-parts_4", - "nixpkgs": [ - "nixpkgs-unstable" - ] - }, - "locked": { - "lastModified": 1777502373, - "narHash": "sha256-vK+Us7fQoCMJ9uAxQIo/rYvXBgAzmZkzX6i7kHpQ3Gw=", - "rev": "1f24f320429cabee34f119178eecb4df34a19662", - "type": "tarball", - "url": "https://git.uku3lig.net/api/v1/repos/uku/mcsr-nixos/archive/1f24f320429cabee34f119178eecb4df34a19662.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://git.uku3lig.net/uku/mcsr-nixos/archive/main.tar.gz" - } - }, "microvm": { "inputs": { "nixpkgs": [ @@ -1066,11 +962,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1776340739, - "narHash": "sha256-s4FDictJlPtY6Shd6scG5hgrDMiHth09+svtvTA5NLA=", + "lastModified": 1771365290, + "narHash": "sha256-1XJOslVyF7yzf6yd/yl1VjGLywsbtwmQh3X1LuJcLI4=", "owner": "microvm-nix", "repo": "microvm.nix", - "rev": "2f2f62fdfdca2750e3399f66bd03986ab967e5ca", + "rev": "789c90b164b55b4379e7a94af8b9c01489024c18", "type": "github" }, "original": { @@ -1082,16 +978,16 @@ "microvm_2": { "inputs": { "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ], "spectrum": "spectrum_2" }, "locked": { - "lastModified": 1776340739, - "narHash": "sha256-s4FDictJlPtY6Shd6scG5hgrDMiHth09+svtvTA5NLA=", + "lastModified": 1771365290, + "narHash": "sha256-1XJOslVyF7yzf6yd/yl1VjGLywsbtwmQh3X1LuJcLI4=", "owner": "microvm-nix", "repo": "microvm.nix", - "rev": "2f2f62fdfdca2750e3399f66bd03986ab967e5ca", + "rev": "789c90b164b55b4379e7a94af8b9c01489024c18", "type": "github" }, "original": { @@ -1115,20 +1011,18 @@ "minhook-src": "minhook-src", "mini-src": "mini-src", "minizip-src": "minizip-src", - "nixpkgs": [ - "nixpkgs-unstable" - ], + "nixpkgs": "nixpkgs_6", "re2-src": "re2-src", "websocketpp-src": "websocketpp-src", "zlib-src": "zlib-src" }, "locked": { "dir": "packages/nix", - "lastModified": 1771478814, - "narHash": "sha256-BhFWModRCeZXaTPcMbuDKH1M4I7iXjdWn0M54SAttUM=", + "lastModified": 1770489586, + "narHash": "sha256-JMN7T1ZrQ7PjSsgKobxtEENHiBAxqHNNIAaJcPnCeHM=", "owner": "trivaris", "repo": "millennium", - "rev": "50fcda7794bf32c8edbd30222370e70ac511805c", + "rev": "19656df9f9c8dfa0b7c6a4d2d25073b78efc4eda", "type": "github" }, "original": { @@ -1206,6 +1100,26 @@ "type": "github" } }, + "nix-alien": { + "inputs": { + "flake-compat": "flake-compat_5", + "nix-index-database": "nix-index-database", + "nixpkgs": "nixpkgs_7" + }, + "locked": { + "lastModified": 1771150922, + "narHash": "sha256-+oQJun4CFDlOQRocbZpqQDj7agoy56/4ZjT1oUR7NOs=", + "owner": "thiagokokada", + "repo": "nix-alien", + "rev": "96045e886ba0dd45b27590e7c0c6e77bbb54033d", + "type": "github" + }, + "original": { + "owner": "thiagokokada", + "repo": "nix-alien", + "type": "github" + } + }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -1229,6 +1143,27 @@ "type": "github" } }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "nix-alien", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1771130777, + "narHash": "sha256-UIKOwG0D9XVIJfNWg6+gENAvQP+7LO46eO0Jpe+ItJ0=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "efec7aaad8d43f8e5194df46a007456093c40f88", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, "nix-unit": { "inputs": { "flake-parts": "flake-parts_2", @@ -1256,11 +1191,11 @@ }, "nixcats": { "locked": { - "lastModified": 1777273601, - "narHash": "sha256-xBUa8Tl9V7IXI+VmLEuDc81La/EhoSn1C3EVSnJ3cfU=", + "lastModified": 1770584904, + "narHash": "sha256-9Zaz8lbKF2W9pwXZEnbiGsicHdBoU+dHt3Wv3mCJoZ8=", "owner": "BirdeeHub", "repo": "nixCats-nvim", - "rev": "f69ea013e328841a7def7037ed59788a76be8816", + "rev": "538fdde784d2909700d97a8ef307783b33a86fb1", "type": "github" }, "original": { @@ -1271,19 +1206,16 @@ }, "nixcord": { "inputs": { - "flake-compat": "flake-compat_5", - "flake-parts": "flake-parts_5", - "nixpkgs": [ - "nixpkgs" - ], - "nixpkgs-nixcord": "nixpkgs-nixcord" + "flake-compat": "flake-compat_6", + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1777806571, - "narHash": "sha256-v1QynzgI9XZezMdBglehneSPOl6LGwhnIKnjRb03ouc=", + "lastModified": 1771375681, + "narHash": "sha256-qDDw0ruBZ1kt63j4uVP5Xrd1OxGKIYrSFnig0z6ozSw=", "owner": "FlameFlag", "repo": "nixcord", - "rev": "41e6c4ac150b737a994835473462cb9560b6421b", + "rev": "d030dbb48ab020092681a39c878c1d48a553ffc1", "type": "github" }, "original": { @@ -1294,27 +1226,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1777718177, - "narHash": "sha256-qq56SczKpUNKcm8xdOsXYLzaX37p1bLS0fFaCMB7s3Y=", - "owner": "NixOS", + "lastModified": 1763934636, + "narHash": "sha256-9glbI7f1uU+yzQCq5LwLgdZqx6svOhZWkd4JRY265fc=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "e59d8bfa2cc42b1e1104595ac4292cfedce7f1a4", + "rev": "ee09932cedcef15aaf476f9343d1dea2cb77e261", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable-small", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-lib": { "locked": { - "lastModified": 1777168982, - "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", + "rev": "72716169fe93074c333e8d0173151350670b824c", "type": "github" }, "original": { @@ -1325,26 +1257,11 @@ }, "nixpkgs-lib_2": { "locked": { - "lastModified": 1748740939, - "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "656a64127e9d791a334452c6b6606d17539476e2", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-lib_3": { - "locked": { - "lastModified": 1777168982, - "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", + "rev": "72716169fe93074c333e8d0173151350670b824c", "type": "github" }, "original": { @@ -1355,11 +1272,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1777798537, - "narHash": "sha256-hY/pzDFcznuHlaJrbc0GME7WrzUY9o44peQryT7xbFI=", + "lastModified": 1771702014, + "narHash": "sha256-/P7uAp8q1xFhaw9Z+OG7lUK3wVz1Q/wreAyeiMyyjLI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5f49e619c2519edeafbb56a79550fdb6703d4739", + "rev": "cceb9213362e92c06b60b50c1e2877bc5fb95887", "type": "github" }, "original": { @@ -1369,45 +1286,13 @@ "type": "github" } }, - "nixpkgs-nixcord": { - "locked": { - "lastModified": 1777428379, - "narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "755f5aa91337890c432639c60b6064bb7fe67769", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-rust": { - "locked": { - "lastModified": 1776371872, - "narHash": "sha256-hVIxbmDzNoXnzobtujvL189+YPrqr0QWF5fn+13+CtY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "838f1611dc4c0078432071819d6fffe046148813", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "838f1611dc4c0078432071819d6fffe046148813", - "type": "github" - } - }, "nixpkgs-staging": { "locked": { - "lastModified": 1777791170, - "narHash": "sha256-TFBAl/DxLx1VQQm5X+S/8vIDpzWPEqugfQH5/pbS8AY=", + "lastModified": 1771384451, + "narHash": "sha256-rFs7+EFjAglrHFhRz3N/M+fyn28q+dR4gVC9/9yoWS0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c205d8fd78779c17c9665002b3445400a4173c6d", + "rev": "4f8a766def570768a6cefe8ea42f839eff9dc1eb", "type": "github" }, "original": { @@ -1419,11 +1304,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1777578337, - "narHash": "sha256-Ad49moKWeXtKBJNy2ebiTQUEgdLyvGmTeykAQ9xM+Z4=", + "lastModified": 1771008912, + "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "15f4ee454b1dce334612fa6843b3e05cf546efab", + "rev": "a82ccc39b39b621151d6732718e3e250109076fa", "type": "github" }, "original": { @@ -1433,7 +1318,39 @@ "type": "github" } }, + "nixpkgs_10": { + "locked": { + "lastModified": 1771008912, + "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a82ccc39b39b621151d6732718e3e250109076fa", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { + "locked": { + "lastModified": 1771309086, + "narHash": "sha256-25aY7PIHMmoVW5w/x8Bs4vsfSV94A5htwiLINJ4KMuY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5e17f00eb60368a4b4b110a89f1c250f9a12c053", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1767313136, "narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=", @@ -1449,13 +1366,93 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { - "lastModified": 1777428379, - "narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=", + "lastModified": 1766070988, + "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "755f5aa91337890c432639c60b6064bb7fe67769", + "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1760284886, + "narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1770115704, + "narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e6eae2ee2110f3d31110d5c222cd395303343b08", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1771008912, + "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a82ccc39b39b621151d6732718e3e250109076fa", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1770617025, + "narHash": "sha256-1jZvgZoAagZZB6NwGRv2T2ezPy+X6EFDsJm+YSlsvEs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2db38e08fdadcc0ce3232f7279bab59a15b94482", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1771208521, + "narHash": "sha256-X01Q3DgSpjeBpapoGA4rzKOn25qdKxbPnxHeMLNoHTU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fa56d7d6de78f5a7f997b0ea2bc6efd5868ad9e8", "type": "github" }, "original": { @@ -1468,7 +1465,7 @@ "nt": { "inputs": { "nix-unit": "nix-unit", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "systems": "systems_2" }, "locked": { @@ -1495,11 +1492,11 @@ ] }, "locked": { - "lastModified": 1776796298, - "narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=", + "lastModified": 1765911976, + "narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad", + "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", "type": "github" }, "original": { @@ -1530,20 +1527,17 @@ "awww": "awww", "cachyos": "cachyos", "cerulean": "cerulean", - "fenix": "fenix", - "home-manager": "home-manager_2", - "home-manager-unstable": "home-manager-unstable", + "home-manager": "home-manager", "hyprland-git": "hyprland-git", + "hyprland-plugins": "hyprland-plugins", "iamb": "iamb", - "mango": "mango", - "mcsr": "mcsr", "microvm": "microvm_2", "millennium": "millennium", + "nix-alien": "nix-alien", "nixcats": "nixcats", "nixcord": "nixcord", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_9", "nixpkgs-master": "nixpkgs-master", - "nixpkgs-rust": "nixpkgs-rust", "nixpkgs-staging": "nixpkgs-staging", "nixpkgs-unstable": "nixpkgs-unstable", "sddm-silent": "sddm-silent", @@ -1553,23 +1547,6 @@ } }, "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1777768857, - "narHash": "sha256-zfekJcaVctfAps1KDHwZpwkvAQn7GObRHh3Gl3xocGI=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "1102c0b633599564919e36076d4362d7e68dbddc", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, - "rust-analyzer-src_2": { "flake": false, "locked": { "lastModified": 1760457219, @@ -1607,27 +1584,6 @@ "type": "github" } }, - "scenefx": { - "inputs": { - "nixpkgs": [ - "mango", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750785057, - "narHash": "sha256-tGX6j4W91rcb+glXJo43sjPI9zQvPotonknG1BdihR4=", - "owner": "wlrfx", - "repo": "scenefx", - "rev": "3a6cfb12e4ba97b43326357d14f7b3e40897adfc", - "type": "github" - }, - "original": { - "owner": "wlrfx", - "repo": "scenefx", - "type": "github" - } - }, "sddm-silent": { "inputs": { "nixpkgs": [ @@ -1635,11 +1591,11 @@ ] }, "locked": { - "lastModified": 1775652648, - "narHash": "sha256-mLE7i9r9qenayJ8adWm22SbqUwLuopvRhyoizuZTtyo=", + "lastModified": 1769900466, + "narHash": "sha256-WeoJBj/PhqFCCJEIycTipqPbKm5BpQT2uzFTYcYZ30I=", "owner": "uiriansan", "repo": "SilentSDDM", - "rev": "a0fb8a48de772c0340dd6639b331ebf6ec2eb554", + "rev": "a44caf771b4cb72f5c2514f7d488455b0fa860d2", "type": "github" }, "original": { @@ -1648,14 +1604,35 @@ "type": "github" } }, + "sops-nix": { + "inputs": { + "nixpkgs": [ + "cerulean", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772495394, + "narHash": "sha256-hmIvE/slLKEFKNEJz27IZ8BKlAaZDcjIHmkZ7GCEjfw=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "1d9b98a29a45abe9c4d3174bd36de9f28755e3ff", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, "spectrum": { "flake": false, "locked": { - "lastModified": 1772189877, - "narHash": "sha256-i1p90Rgssb//aNiTDFq46ZG/fk3LmyRLChtp/9lddyA=", + "lastModified": 1759482047, + "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=", "ref": "refs/heads/main", - "rev": "fe39e122d898f66e89ffa17d4f4209989ccb5358", - "revCount": 1255, + "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9", + "revCount": 996, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -1667,11 +1644,11 @@ "spectrum_2": { "flake": false, "locked": { - "lastModified": 1772189877, - "narHash": "sha256-i1p90Rgssb//aNiTDFq46ZG/fk3LmyRLChtp/9lddyA=", + "lastModified": 1759482047, + "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=", "ref": "refs/heads/main", - "rev": "fe39e122d898f66e89ffa17d4f4209989ccb5358", - "revCount": 1255, + "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9", + "revCount": 996, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -1690,11 +1667,11 @@ ] }, "locked": { - "lastModified": 1777789800, - "narHash": "sha256-XHCvLGu/bEEZRzXVKFu1i+2YB102Nr00n8e7xrzsfVs=", + "lastModified": 1771268051, + "narHash": "sha256-nGqPcngnezoT+/xAvw3UDjwdKP2MC4fO315A/Otb9eE=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "d0e921cc48aab6137d203a3eab19601dc2bdc0c3", + "rev": "b930de84c561f62a0c39a6a57c2ab553a97e8495", "type": "github" }, "original": { @@ -1864,11 +1841,11 @@ ] }, "locked": { - "lastModified": 1777035886, - "narHash": "sha256-m1TNuBoSXUBSKhD9UVMkU90M0wFTPTfvIOOltO8IM8A=", + "lastModified": 1761431178, + "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "ecfcdcc781f48821d83e1e2a0e30d7beca0eeb5e", + "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", "type": "github" }, "original": { @@ -1879,17 +1856,15 @@ }, "zen": { "inputs": { - "home-manager": "home-manager_3", - "nixpkgs": [ - "nixpkgs-unstable" - ] + "home-manager": "home-manager_2", + "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1777564084, - "narHash": "sha256-O9VRkxg+2j+sh+c73wi4VeIBECoqW2PlnCR9Qe1nQKA=", + "lastModified": 1771381854, + "narHash": "sha256-6uEDuQYEGuyuFnvOdSx+fW75tRbNiLswAl6+4qyTdJ4=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "d93443c0f6fdb3b179bed68856f322dba4842612", + "rev": "0fa995bec0e391b45b032fbd9d6e03609a30c115", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ef91d7c..be16461 100644 --- a/flake.nix +++ b/flake.nix @@ -9,20 +9,13 @@ nixpkgs-staging.url = "github:NixOS/nixpkgs/staging-next"; nixpkgs-master.url = "github:NixOS/nixpkgs/master"; - # currently a regression: https://github.com/rust-lang/rust-analyzer/pull/22207 - nixpkgs-rust.url = "github:NixOS/nixpkgs/838f1611dc4c0078432071819d6fffe046148813"; - home-manager = { - url = "github:nix-community/home-manager/release-25.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - home-manager-unstable = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; cerulean = { - url = "git+https://tearforge.net/cry/cerulean?rev=d5211287bd3cb96078f2053488d67d557848a8f2"; + url = "github:cry128/cerulean/v0.2.5-alpha"; inputs = { systems.follows = "systems"; nixpkgs.follows = "nixpkgs"; @@ -31,73 +24,41 @@ microvm = { url = "github:microvm-nix/microvm.nix"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; + inputs.nixpkgs.follows = "nixpkgs"; }; cachyos.url = "github:xddxdd/nix-cachyos-kernel"; + nix-alien = { + # silly alien :3 + url = "github:thiagokokada/nix-alien"; + # inputs.nixpkgs.follows = "nixpkgs"; + }; + # wm/de/apps/theming flakes hyprland-git = { - # pinned rev because color management is broken on hyprland - # url = "github:hyprwm/Hyprland/25250527793eb04bb60f103abe7f06370b9f6e1c"; - url = "github:hyprwm/Hyprland"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; + url = "github:hyprwm/Hyprland/25250527793eb04bb60f103abe7f06370b9f6e1c"; + #url = "github:hyprwm/Hyprland"; }; - # hyprland-plugins = { - # url = "github:hyprwm/hyprland-plugins"; - # inputs.hyprland.follows = "hyprland-git"; - # }; - - mango = { - url = "github:mangowm/mango"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; + hyprland-plugins = { + url = "github:hyprwm/hyprland-plugins"; + inputs.hyprland.follows = "hyprland-git"; }; nixcats.url = "github:BirdeeHub/nixCats-nvim"; - - fenix = { - url = "github:nix-community/fenix"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - - awww = { - url = "git+https://codeberg.org/LGFae/awww"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - - zen = { - url = "github:0xc000022070/zen-browser-flake"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - - iamb = { - url = "github:ulyssa/iamb"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - - nixcord = { - url = "github:FlameFlag/nixcord"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - millennium = { - url = "github:trivaris/millennium?dir=packages/nix"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - + awww.url = "git+https://codeberg.org/LGFae/awww"; + zen.url = "github:0xc000022070/zen-browser-flake"; + iamb.url = "github:ulyssa/iamb"; + nixcord.url = "github:FlameFlag/nixcord"; + millennium.url = "github:trivaris/millennium?dir=packages/nix"; spicetify-nix = { url = "github:Gerg-L/spicetify-nix"; inputs = { - nixpkgs.follows = "nixpkgs-unstable"; systems.follows = "systems"; + nixpkgs.follows = "nixpkgs-unstable"; }; }; - mcsr = { - url = "https://git.uku3lig.net/uku/mcsr-nixos/archive/main.tar.gz"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - # temp theme until i bother creating my own ", function() - vim.cmd("wincmd h") -end) -vim.keymap.set("n", "", function() - vim.cmd("wincmd j") -end) -vim.keymap.set("n", "", function() - vim.cmd("wincmd k") -end) -vim.keymap.set("n", "", function() - vim.cmd("wincmd l") -end) +local uv = vim.loop +local colorscheme_filepath = "/home/aurora/.cache/nvim/neovim-colors" +local colors = {} --- splits <3 (i love splits sm) -vim.keymap.set("n", "s", function() - vim.cmd("split") -end) -vim.keymap.set("n", "v", function() - vim.cmd("vsplit") -end) - --- u can put delta inside of neovim omg they are spoiling me <3 -local git_diff_win = nil - -vim.api.nvim_create_autocmd("VimResized", { - callback = function() - if git_diff_win and vim.api.nvim_win_is_valid(git_diff_win) then - local width = math.floor(vim.o.columns * 0.9) - local height = math.floor((vim.o.lines - 2) * 0.9) - - vim.api.nvim_win_set_config(git_diff_win, { - relative = "editor", - width = width, - height = height, - col = math.floor((vim.o.columns - width) / 2), - row = math.floor((vim.o.lines - height) / 2) - 2, - }) - end - end, -}) - -vim.keymap.set("n", "gd", function() - if git_diff_win and vim.api.nvim_win_is_valid(git_diff_win) then - vim.api.nvim_win_close(git_diff_win, true) - git_diff_win = nil - return +-- function to load colors +local function load_colors() + local new_colors = {} + for line in io.lines(colorscheme_filepath) do + table.insert(new_colors, line) end - local buf = vim.api.nvim_create_buf(false, true) + -- ensure the table has enough entries to avoid indexing issues + if #new_colors >= 18 then + colors = new_colors + require("base16-colorscheme").setup({ + base00 = colors[17], + base01 = colors[1], + base02 = colors[3], + base03 = colors[3], + base04 = colors[5], + base05 = colors[8], + base06 = colors[5], + base07 = colors[8], + base08 = colors[18], + base09 = colors[4], + base0A = colors[11], + base0B = colors[5], + base0C = colors[6], + base0D = colors[7], + base0E = colors[6], + base0F = colors[16], + }) - vim.bo[buf].filetype = "terminal" + -- set colors for blink.cmp's completion menu + vim.api.nvim_set_hl(0, "BlinkCmpMenu", { bg = colors[17] }) + vim.api.nvim_set_hl(0, "BlinkCmpMenuBorder", { bg = colors[17], fg = colors[13] }) + vim.api.nvim_set_hl(0, "BlinkCmpMenuSelection", { bg = colors[15], fg = colors[17] }) + vim.api.nvim_set_hl(0, "BlinkCmpScrollBarThumb", { bg = colors[18] }) + vim.api.nvim_set_hl(0, "BlinkCmpKind", { bg = colors[17], fg = colors[14] }) + vim.api.nvim_set_hl(0, "BlinkCmpLabel", { bg = colors[17], fg = colors[18] }) + vim.api.nvim_set_hl(0, "BlinkCmpLabelMatch", { bg = colors[17], fg = colors[18] }) + vim.api.nvim_set_hl(0, "BlinkCmpLabelDetail", { bg = colors[17], fg = colors[18] }) + vim.api.nvim_set_hl(0, "BlinkCmpLabelDescription", { bg = colors[17], fg = colors[18] }) + else + print("Error: Not enough colors in file") + end +end - -- deletes the last two lines of the buffer when the process exits :3 - vim.api.nvim_create_autocmd("TermClose", { - buffer = buf, - callback = function() - vim.defer_fn(function() - vim.bo[buf].modifiable = true - vim.api.nvim_buf_set_lines(buf, -3, -1, false, {}) - vim.bo[buf].modifiable = false - end, 10) - end, - }) +-- initial load +load_colors() - local width = math.floor(vim.o.columns * 0.9) - local height = math.floor((vim.o.lines - 2) * 0.9) +-- vim.defer_fn(load_colors, 1) - git_diff_win = vim.api.nvim_open_win(buf, true, { - relative = "editor", - width = width, - height = height, - col = math.floor((vim.o.columns - width) / 2), - row = math.floor((vim.o.lines - height) / 2) - 2, - style = "minimal", - border = "rounded", - }) +-- set up a file watcher +local function watch_colorscheme() + local handle + handle = uv.new_fs_event() + if handle then + uv.fs_event_start(handle, colorscheme_filepath, {}, function(err, _, _) + if err then + print("Error watching colorscheme file:", err) + return + end + -- debounce by adding a slight delay before reloading + vim.defer_fn(load_colors, 100) + end) + end +end - vim.fn.jobstart("git diff | delta --pager=never", { term = true }) - - vim.keymap.set("n", "q", "close", { buffer = buf }) -end) +watch_colorscheme() diff --git a/homes/modules/programs/neovim/lua/colors.lua b/homes/modules/programs/neovim/lua/colors.lua deleted file mode 100644 index 3a5bbc6..0000000 --- a/homes/modules/programs/neovim/lua/colors.lua +++ /dev/null @@ -1,238 +0,0 @@ -local colorscheme_filepath = "/home/aurora/.cache/nvim/neovim-colors" -local colors = {} - -local function hex_to_int(hex) - hex = hex:gsub("#", "") - return tonumber(hex:sub(1, 2), 16) * 0x10000 + tonumber(hex:sub(3, 4), 16) * 0x100 + tonumber(hex:sub(5, 6), 16) -end - --- TODO: change to use lab color space -local function blend_colors(c1, c2, t) - local r1 = math.floor(c1 / 0x10000) - local g1 = math.floor((c1 % 0x10000) / 0x100) - local b1 = c1 % 0x100 - - local r2 = math.floor(c2 / 0x10000) - local g2 = math.floor((c2 % 0x10000) / 0x100) - local b2 = c2 % 0x100 - - return math.floor(r1 + (r2 - r1) * t) * 0x10000 - + math.floor(g1 + (g2 - g1) * t) * 0x100 - + math.floor(b1 + (b2 - b1) * t) -end - --- function to load colors -local function load_colors() - local new_colors = {} - for line in io.lines(colorscheme_filepath) do - table.insert(new_colors, line) - end - - -- ensure the table has enough entries to avoid indexing issues - if #new_colors == 18 then - colors = new_colors - require("base16-colorscheme").setup({ - base00 = colors[18], - base01 = colors[1], - base02 = colors[3], - base03 = colors[3], - base04 = colors[5], - base05 = colors[8], - base06 = colors[5], - base07 = colors[8], - base08 = colors[17], - base09 = colors[4], - base0A = colors[11], - base0B = colors[5], - base0C = colors[6], - base0D = colors[7], - base0E = colors[6], - base0F = colors[16], - }) - - -- colors ------------------------------------------------------------------ - - local color_00 = colors[1] - local color_01 = colors[2] - local color_02 = colors[3] - local color_03 = colors[4] - local color_04 = colors[5] - local color_05 = colors[6] - local color_06 = colors[7] - local color_07 = colors[8] - - local color_08 = colors[9] - local color_09 = colors[10] - local color_10 = colors[11] - local color_11 = colors[12] - local color_12 = colors[13] - local color_13 = colors[14] - local color_14 = colors[15] - local color_15 = colors[16] - - local fg = colors[17] - local bg = colors[18] - - local bg_90 = blend_colors(hex_to_int("#000000"), hex_to_int(bg), 0.90) - - local fg_10 = blend_colors(hex_to_int(bg), hex_to_int(fg), 0.10) - local fg_30 = blend_colors(hex_to_int(bg), hex_to_int(fg), 0.30) - - local secondary_10 = blend_colors(hex_to_int(bg), hex_to_int(color_13), 0.10) - local secondary_30 = blend_colors(hex_to_int(bg), hex_to_int(color_13), 0.30) - - -- editor colors :3 -------------------------------------------------------- - - vim.api.nvim_set_hl(0, "Visual", { bg = secondary_10 }) - vim.api.nvim_set_hl(0, "ColorColumn", { bg = secondary_30 }) - - -- blink.cmp --------------------------------------------------------------- - - vim.api.nvim_set_hl(0, "BlinkCmpMenu", { bg = bg }) - vim.api.nvim_set_hl(0, "BlinkCmpMenuBorder", { fg = color_12, bg = bg }) - vim.api.nvim_set_hl(0, "BlinkCmpMenuSelection", { fg = bg, bg = color_14 }) - vim.api.nvim_set_hl(0, "BlinkCmpScrollBarThumb", { bg = fg }) - vim.api.nvim_set_hl(0, "BlinkCmpKind", { fg = fg, bg = bg }) - vim.api.nvim_set_hl(0, "BlinkCmpLabel", { fg = fg, bg = bg }) - vim.api.nvim_set_hl(0, "BlinkCmpLabelMatch", { fg = fg, bg = bg }) - vim.api.nvim_set_hl(0, "BlinkCmpLabelDetail", { fg = fg, bg = bg }) - vim.api.nvim_set_hl(0, "BlinkCmpLabelDescription", { fg = fg, bg = bg }) - - -- telescope :3 ------------------------------------------------------------ - - vim.api.nvim_set_hl(0, "TelescopeNormal", { bg = bg_90 }) - vim.api.nvim_set_hl(0, "TelescopePromptNormal", { bg = bg_90 }) - vim.api.nvim_set_hl(0, "TelescopeResultsNormal", { bg = bg_90 }) - vim.api.nvim_set_hl(0, "TelescopePreviewNormal", { bg = bg_90 }) - - vim.api.nvim_set_hl(0, "TelescopeBorder", { fg = color_15, bg = bg_90 }) - vim.api.nvim_set_hl(0, "TelescopePromptBorder", { fg = color_15, bg = bg_90 }) - vim.api.nvim_set_hl(0, "TelescopeResultsBorder", { fg = color_15, bg = bg_90 }) - vim.api.nvim_set_hl(0, "TelescopePreviewBorder", { fg = color_15, bg = bg_90 }) - - vim.api.nvim_set_hl(0, "TelescopePromptTitle", { fg = color_15, bg = bg_90 }) - vim.api.nvim_set_hl(0, "TelescopeResultsTitle", { fg = color_15, bg = bg_90 }) - vim.api.nvim_set_hl(0, "TelescopePreviewTitle", { fg = color_15, bg = bg_90 }) - - vim.api.nvim_set_hl(0, "TelescopePromptPrefix", { fg = color_14, bg = bg_90 }) - vim.api.nvim_set_hl(0, "TelescopePromptCounter", { fg = color_13, bg = bg_90 }) - - -- gitsigns.nvim ----------------------------------------------------------- - - vim.api.nvim_set_hl(0, "GitSignsAdd", { fg = color_13 }) - vim.api.nvim_set_hl(0, "GitSignsChange", { fg = color_11 }) - vim.api.nvim_set_hl(0, "GitSignsDelete", { fg = color_09 }) - - local blame_palette = { - color_13, - color_11, - color_09, - color_06, - color_05, - color_04, - color_03, - color_12, - } - - local blame_group = vim.api.nvim_create_augroup("GitSignsBlameColors", { clear = true }) - - local function get_heatmap_palette() - local c1 = hex_to_int(color_13) -- old - local c2 = hex_to_int(color_14) -- recent - - local palette = {} - for i = 0, 7 do - palette[i] = blend_colors(c1, c2, i / 7) - end - - return palette - end - - local heatmap_palette = get_heatmap_palette() - - local function set_blame_colors() - local highlights = vim.api.nvim_exec2("highlight", { output = true }).output - - local i = 1 - for hl_name in highlights:gmatch("(GitSignsBlameColor%.[%x]+)") do - local color = blame_palette[(i - 1) % #blame_palette + 1] - vim.api.nvim_set_hl(0, hl_name, { fg = color }) - i = i + 1 - end - - i = 1 - for hl_name in highlights:gmatch("(GitSignsColorTemp%.fg%.[%d]+)") do - local color = heatmap_palette[(i - 1) % #heatmap_palette + 1] - vim.api.nvim_set_hl(0, hl_name, { fg = color }) - i = i + 1 - end - end - - set_blame_colors() - - vim.api.nvim_create_autocmd("FileType", { - group = blame_group, - pattern = "gitsigns-blame", - callback = function() - set_blame_colors() - end, - }) - - -- fyler.nvim -------------------------------------------------------------- - - vim.api.nvim_set_hl(0, "FylerBlue", { fg = color_06 }) - vim.api.nvim_set_hl(0, "FylerGreen", { fg = color_02 }) - vim.api.nvim_set_hl(0, "FylerGrey", { fg = color_08 }) - vim.api.nvim_set_hl(0, "FylerRed", { fg = color_01 }) - vim.api.nvim_set_hl(0, "FylerYellow", { fg = color_03 }) - - vim.api.nvim_set_hl(0, "FylerFSDirectoryIcon", { fg = color_06 }) - vim.api.nvim_set_hl(0, "FylerFSDirectoryName", { fg = fg }) - vim.api.nvim_set_hl(0, "FylerFSFile", { fg = color_15 }) - vim.api.nvim_set_hl(0, "FylerFSLink", { fg = color_08 }) - - vim.api.nvim_set_hl(0, "FylerGitAdded", { fg = color_04 }) - vim.api.nvim_set_hl(0, "FylerGitConflict", { fg = color_03 }) - vim.api.nvim_set_hl(0, "FylerGitDeleted", { fg = color_03 }) - vim.api.nvim_set_hl(0, "FylerGitIgnored", { fg = color_08 }) - vim.api.nvim_set_hl(0, "FylerGitModified", { fg = color_05 }) - vim.api.nvim_set_hl(0, "FylerGitRenamed", { fg = color_05 }) - vim.api.nvim_set_hl(0, "FylerGitStaged", { fg = color_04 }) - vim.api.nvim_set_hl(0, "FylerGitUnstaged", { fg = color_05 }) - vim.api.nvim_set_hl(0, "FylerGitUntracked", { fg = color_06 }) - - vim.api.nvim_set_hl(0, "FylerWinPick", { fg = color_15, bg = fg }) - - -- lualine.nvim - vim.api.nvim_exec_autocmds("User", { pattern = "RefreshLualine" }) - - -- hlchunk.nvim - vim.api.nvim_set_hl(0, "HLIndent1", { fg = secondary_30 }) - vim.api.nvim_set_hl(0, "HLChunk1", { fg = color_11 }) - else - print("Error: Not enough colors in file") - end -end - --- initial load -load_colors() - --- vim.defer_fn(load_colors, 1) - --- set up a file watcher -local function watch_colorscheme() - local handle - handle = vim.loop.new_fs_event() - if handle then - vim.loop.fs_event_start(handle, colorscheme_filepath, {}, function(err, _, _) - if err then - print("Error watching colorscheme file:", err) - return - end - -- debounce by adding a slight delay before reloading - vim.defer_fn(load_colors, 100) - end) - end -end - -watch_colorscheme() diff --git a/homes/modules/programs/neovim/lua/lsp/completion.lua b/homes/modules/programs/neovim/lua/lsp/completion.lua index 6d80a6d..2e485d9 100644 --- a/homes/modules/programs/neovim/lua/lsp/completion.lua +++ b/homes/modules/programs/neovim/lua/lsp/completion.lua @@ -15,22 +15,7 @@ return { blink.setup({ keymap = { - [""] = { "show", "show_documentation", "hide_documentation" }, - [""] = { "hide", "fallback" }, - [""] = { "select_and_accept", "fallback" }, - - [""] = { "select_prev", "fallback_to_mappings" }, - [""] = { "select_next", "fallback_to_mappings" }, - [""] = { "select_prev", "fallback" }, - [""] = { "select_next", "fallback" }, - - [""] = { "scroll_documentation_up", "fallback" }, - [""] = { "scroll_documentation_down", "fallback" }, - - [""] = { "snippet_forward", "fallback" }, - [""] = { "snippet_backward", "fallback" }, - - [""] = { "show_signature", "hide_signature", "fallback" }, + preset = "default", }, appearance = { @@ -84,7 +69,7 @@ return { }, documentation = { - auto_show = true, + auto_show = false, window = { border = "rounded", }, diff --git a/homes/modules/programs/neovim/lua/lsp/indentation.lua b/homes/modules/programs/neovim/lua/lsp/indentation.lua index 7b396e8..b7b65ac 100644 --- a/homes/modules/programs/neovim/lua/lsp/indentation.lua +++ b/homes/modules/programs/neovim/lua/lsp/indentation.lua @@ -1,13 +1,5 @@ vim.api.nvim_create_autocmd("FileType", { - pattern = { - "lua", - "nix", - "gleam", - "css", - "json", - "haskell", - "toml", - }, + pattern = "lua", callback = function() vim.opt_local.shiftwidth = 2 vim.opt_local.tabstop = 2 @@ -16,40 +8,10 @@ vim.api.nvim_create_autocmd("FileType", { }) vim.api.nvim_create_autocmd("FileType", { - pattern = { - "sql", - }, + pattern = "nix", callback = function() - vim.opt_local.shiftwidth = 4 - vim.opt_local.tabstop = 4 + vim.opt_local.shiftwidth = 2 + vim.opt_local.tabstop = 2 vim.opt_local.expandtab = true end, }) - -vim.api.nvim_create_autocmd("User", { - pattern = "TelescopePreviewerLoaded", - callback = function(args) - local ft = args.data.filetype - if - vim.tbl_contains({ - "lua", - "nix", - "gleam", - "css", - "json", - "haskell", - "toml", - }, ft) - then - vim.bo.shiftwidth = 2 - vim.bo.tabstop = 2 - vim.bo.expandtab = true - elseif vim.tbl_contains({ - "sql", - }, ft) then - vim.bo.shiftwidth = 4 - vim.bo.tabstop = 4 - vim.bo.expandtab = true - end - end, -}) diff --git a/homes/modules/programs/neovim/lua/lsp/lsp.lua b/homes/modules/programs/neovim/lua/lsp/lsp.lua index 1108aae..fd8bd1b 100644 --- a/homes/modules/programs/neovim/lua/lsp/lsp.lua +++ b/homes/modules/programs/neovim/lua/lsp/lsp.lua @@ -1,121 +1,88 @@ local servers = {} -if nixCats("lang.lua.lsp") then - servers.lua_ls = { - settings = { - Lua = { - formatters = { - ignoreComments = false, - }, - signatureHelp = { enable = true }, - diagnostics = { - globals = { "nixCats", "vim" }, - -- disable = { 'missing-fields' }, - }, - workspace = { - -- make the server aware of the neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - checkThirdParty = false, - }, - }, - telemetry = { enabled = false }, - }, - } -end - -if nixCats("lang.nix.lsp") then - servers.nil_ls = { - settings = {}, - } -end - -if nixCats("lang.rust.lsp") then - local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD") - servers.rust_analyzer = { - cmd = { rust_analyzer_cmd }, - settings = { - server = { - -- For debugging rust-analyzer, to see log location do :LspInfo in neovim - -- extraEnv = { {["RA_LOG"]="project_model=debug"} }, - }, - cargo = { - allFeatures = false, - allTargets = false, - buildScripts = { enable = true }, - target = "x86_64-unknown-linux-gnu", +servers.lua_ls = { + settings = { + Lua = { + formatters = { + ignoreComments = false, }, + signatureHelp = { enable = true }, diagnostics = { - enable = true, + globals = { "nixCats", "vim" }, + -- disable = { 'missing-fields' }, }, - ["rust-analyzer"] = { - procMacro = { - enable = true, - }, + workspace = { + -- make the server aware of the neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + checkThirdParty = false, }, }, - } -end + telemetry = { enabled = false }, + }, +} -if nixCats("lang.zig.lsp") then - servers.zls = { - settings = {}, - } -end +servers.nil_ls = { + settings = {}, +} -if nixCats("lang.elixir.lsp") then - local elixir_ls_cmd = os.getenv("ELIXIR_LS_CMD") - servers.elixirls = { - cmd = { elixir_ls_cmd }, - settings = {}, - } -end +local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD") +servers.rust_analyzer = { + cmd = { rust_analyzer_cmd }, + settings = { + server = { + -- For debugging rust-analyzer, to see log location do :LspInfo in neovim + -- extraEnv = { {["RA_LOG"]="project_model=debug"} }, + }, + cargo = { + allFeatures = false, + allTargets = false, + buildScripts = { enable = true }, + target = "x86_64-unknown-linux-gnu", + }, + diagnostics = { + enable = true, + }, + }, +} -if nixCats("lang.gleam.lsp") then - servers.gleam = { - settings = {}, - } -end +servers.zls = { + settings = {}, +} -if nixCats("lang.haskell.lsp") then - servers.hls = { - settings = {}, - } -end +local elixir_ls_cmd = os.getenv("ELIXIR_LS_CMD") +servers.elixirls = { + cmd = { elixir_ls_cmd }, + settings = {}, +} -if nixCats("lang.java.lsp") then - local java_home = os.getenv("JAVA_HOME") - servers.jdtls = { - settings = { - java = { - contentProvider = { preferred = "fernflower" }, - configuration = { - runtimes = { - { - name = "OpenJDK 17", - path = os.getenv("OPENJDK_17"), - }, - { - name = "OpenJDK 21", - path = os.getenv("OPENJDK_21"), - }, +servers.gleam = { + settings = {}, +} + +servers.hls = { + settings = {}, +} + +local java_home = os.getenv("JAVA_HOME") +servers.jdtls = { + settings = { + java = { + contentProvider = { preferred = "fernflower" }, + configuration = { + runtimes = { + { + name = "OpenJDK 17", + path = os.getenv("OPENJDK_17"), + }, + { + name = "OpenJDK 21", + path = os.getenv("OPENJDK_21"), }, }, }, }, - } -end - -if nixCats("lang.csharp.lsp") then - servers.roslyn_ls = { - settings = {}, - } -end - -if nixCats("lang.protobuf.lsp") then - servers.buf_ls = { - settings = {}, - } -end + }, +} -- Taken from nixCats example: -- If you were to comment out this autocommand diff --git a/homes/modules/programs/neovim/lua/plugins/comment.lua b/homes/modules/programs/neovim/lua/plugins/comment.lua index caae704..cf45027 100644 --- a/homes/modules/programs/neovim/lua/plugins/comment.lua +++ b/homes/modules/programs/neovim/lua/plugins/comment.lua @@ -8,13 +8,13 @@ return { line = "cc", block = "bc", }, - opleader = { + opLeader = { line = "c", block = "b", }, extra = { - above = "c", - below = "co", + above = "c0", + below = "bo", eol = "cA", }, }) diff --git a/homes/modules/programs/neovim/lua/plugins/dressing.lua b/homes/modules/programs/neovim/lua/plugins/dressing.lua index 9c4decd..42e7280 100644 --- a/homes/modules/programs/neovim/lua/plugins/dressing.lua +++ b/homes/modules/programs/neovim/lua/plugins/dressing.lua @@ -1,6 +1,5 @@ return { { "dressing.nvim", - enabled = nixCats("ui.dressing") or false, }, } diff --git a/homes/modules/programs/neovim/lua/plugins/format.lua b/homes/modules/programs/neovim/lua/plugins/format.lua index 1e5c7dd..2097d75 100644 --- a/homes/modules/programs/neovim/lua/plugins/format.lua +++ b/homes/modules/programs/neovim/lua/plugins/format.lua @@ -1,53 +1,8 @@ -vim.keymap.set("n", "P", function() - vim.api.nvim_exec_autocmds("User", { pattern = "ConformProject" }) - vim.cmd("ConformProject") -end, { noremap = true, silent = true }) - -vim.api.nvim_create_user_command("ConformProject", function() - local conform = require("conform") - local root = vim.fn.getcwd() - - -- respects .gitignore - local handle = io.popen(string.format("cd %s && git ls-files --cached --others --exclude-standard", root)) - - if not handle then - vim.notify("Failed to scan project files", vim.log.levels.ERROR) - return - end - - local files = {} - for file in handle:lines() do - table.insert(files, vim.fn.fnamemodify(file, ":p")) - end - handle:close() - - -- format each file - -- TODO: maybe run each formatter on the directory instead as it may be faster - -- although that would actually mean we can't count what files were formatted so i don't know - local formatted_count = 0 - for _, filepath in ipairs(files) do - local bufnr = vim.fn.bufadd(filepath) - vim.fn.bufload(bufnr) - - local ok, err = conform.format({ bufnr = bufnr }) - if ok then - formatted_count = formatted_count + 1 - -- Save the buffer - vim.api.nvim_buf_call(bufnr, function() - vim.cmd("write") - end) - end - end - - vim.notify(string.format("Formatted %d files", formatted_count), vim.log.levels.INFO) -end, {}) - -- docs -> https://github.com/stevearc/conform.nvim return { { "conform.nvim", enabled = nixCats("format") or false, - event = "User ConformProject", -- also will load when we format the entire project yayayayy :333 keys = { { "p", desc = "Format File (pretty :3)" }, }, @@ -57,24 +12,9 @@ return { conform.setup({ formatters_by_ft = { lua = nixCats("lang.lua.format") and { "stylua" } or nil, - nix = nixCats("lang.nix.format") and { "alejandra" } or nil, - rust = (function() - if not nixCats("lang.rust.format") then - return nil - end - local formatters = {} - if nixCats("lang.rust.formatters.leptos") then - table.insert(formatters, "leptosfmt") - end - table.insert(formatters, "rustfmt") - formatters.lsp_format = "fallback" - return formatters - end)(), + nix = nixCats("lang.nix.format") and { "nixfmt" } or nil, + rust = nixCats("lang.rust.format") and { "rustfmt", lsp_format = "fallback" } or nil, haskell = nixCats("lang.haskell.format") and { "ormolu" } or nil, - csharp = nixCats("lang.csharp.format") and { "csharpier" } or nil, - proto = nixCats("lang.protobuf.format") and { "buf" } or nil, - toml = nixCats("lang.toml.format") and { "taplo" } or nil, - sql = nixCats("lang.sql.format") and { "sqlfluff" } or nil, }, format_on_save = { timeout_ms = 500, diff --git a/homes/modules/programs/neovim/lua/plugins/fyler.lua b/homes/modules/programs/neovim/lua/plugins/fyler.lua index 282e257..2737b78 100644 --- a/homes/modules/programs/neovim/lua/plugins/fyler.lua +++ b/homes/modules/programs/neovim/lua/plugins/fyler.lua @@ -4,12 +4,12 @@ return { cmd = { "Fyler" }, keys = { { - "F", + "tf", function() return require("fyler").toggle({ kind = "split_right" }) end, mode = { "n" }, - desc = "Open File [E]xplorer (Fyler)", + desc = "Open [F]yler", }, }, load = function(name) diff --git a/homes/modules/programs/neovim/lua/plugins/git.lua b/homes/modules/programs/neovim/lua/plugins/git.lua deleted file mode 100644 index 46ee0e2..0000000 --- a/homes/modules/programs/neovim/lua/plugins/git.lua +++ /dev/null @@ -1,93 +0,0 @@ -return { - { - "vim-fugitive", - enabled = nixCats("git.merge") or false, - cmd = { "Git", "Gvdiffsplit" }, - }, - { - "resolve-nvim", - enabled = nixCats("git.merge") or false, - event = { "BufReadPre", "BufNewFile" }, - after = function(plugin) - require("resolve").setup({ - default_keymaps = false, - on_conflicts_resolved = function(info) - -- NOTE: am not sure if i wanna stage files automatically - -- local filepath = vim.api.nvim_buf_get_name(info.bufnr) - -- vim.fn.system({ "git", "add", filepath }) - -- vim.notify("conflicts resolved :3 file staged yayayayy <3", vim.log.levels.INFO) - vim.notify("conflicts resolved :3", vim.log.levels.INFO) - end, - }) - end, - }, - { - "gitsigns.nvim", - enabled = nixCats("git.gitsigns") or false, - after = function(plugin) - require("gitsigns").setup({ - signs = { - add = { text = "┃" }, - change = { text = "┇" }, - delete = { text = "_" }, - topdelete = { text = "‾" }, - changedelete = { text = "~" }, - untracked = { text = "╎" }, - }, - signs_staged = { - add = { text = "┃" }, - change = { text = "┇" }, - delete = { text = "_" }, - topdelete = { text = "‾" }, - changedelete = { text = "~" }, - untracked = { text = "╎" }, - }, - on_attach = function(bufnr) - local gitsigns = require("gitsigns") - - -- toggle git blame - vim.keymap.set("n", "gb", function() - local wins = vim.api.nvim_list_wins() - for _, win in ipairs(wins) do - local buf = vim.api.nvim_win_get_buf(win) - local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) - if ft == "gitsigns-blame" then - vim.api.nvim_win_close(win, true) - return - end - end - vim.cmd("Gitsigns blame") - end) - - vim.keymap.set("n", "bl", gitsigns.toggle_current_line_blame) - - vim.keymap.set("n", "]c", function() - if vim.wo.diff then - vim.cmd.normal({ "]c", bang = true }) - else - gitsigns.nav_hunk("next") - end - end) - - vim.keymap.set("n", "[c", function() - if vim.wo.diff then - vim.cmd.normal({ "[c", bang = true }) - else - gitsigns.nav_hunk("prev") - end - end) - - vim.keymap.set("n", "hs", gitsigns.stage_hunk) - vim.keymap.set("n", "hu", gitsigns.undo_stage_hunk) - - vim.keymap.set("n", "hS", gitsigns.stage_buffer) - vim.keymap.set("n", "hU", gitsigns.reset_buffer_index) - - vim.keymap.set("n", "hi", gitsigns.toggle_current_line_blame) - - vim.keymap.set("n", "hp", gitsigns.preview_hunk_inline) - end, - }) - end, - }, -} diff --git a/homes/modules/programs/neovim/lua/plugins/hlchunk.lua b/homes/modules/programs/neovim/lua/plugins/hlchunk.lua deleted file mode 100644 index d4c920d..0000000 --- a/homes/modules/programs/neovim/lua/plugins/hlchunk.lua +++ /dev/null @@ -1,36 +0,0 @@ -return { - { - "hlchunk.nvim", - enabled = nixCats("ui.hlchunk") or false, - after = function(plugin) - require("hlchunk").setup({ - chunk = { - enable = true, - use_treesitter = true, - chars = { - horizontal_line = "─", - vertical_line = "│", - left_top = "╭", - left_bottom = "╰", - right_arrow = "─", - }, - style = { - "#B0F0FA", - }, - }, - indent = { - enable = true, - use_treesitter = false, - ahead_lines = 10, - delay = 25, - chars = { - "│", - }, - style = { - "#9080FA", - }, - }, - }) - end, - }, -} diff --git a/homes/modules/programs/neovim/lua/plugins/init.lua b/homes/modules/programs/neovim/lua/plugins/init.lua index d23ef30..62de146 100644 --- a/homes/modules/programs/neovim/lua/plugins/init.lua +++ b/homes/modules/programs/neovim/lua/plugins/init.lua @@ -6,7 +6,4 @@ require("lze").load({ { import = "plugins.mini-hipatterns" }, { import = "plugins.format" }, { import = "plugins.comment" }, - { import = "plugins.git" }, - { import = "plugins.lualine" }, - { import = "plugins.hlchunk" }, }) diff --git a/homes/modules/programs/neovim/lua/plugins/lualine.lua b/homes/modules/programs/neovim/lua/plugins/lualine.lua deleted file mode 100644 index a0303d5..0000000 --- a/homes/modules/programs/neovim/lua/plugins/lualine.lua +++ /dev/null @@ -1,22 +0,0 @@ -local config = { - options = { - theme = "auto", - }, -} - -return { - { - "lualine.nvim", - enabled = nixCats("ui.lualine") or false, - after = function(plugin) - require("lualine").setup(config) - - vim.api.nvim_create_autocmd("User", { - pattern = "RefreshLualine", - callback = function() - require("lualine").setup(config) - end, - }) - end, - }, -} diff --git a/homes/modules/programs/neovim/lua/plugins/telescope.lua b/homes/modules/programs/neovim/lua/plugins/telescope.lua index 7a2a2b6..a61f19c 100644 --- a/homes/modules/programs/neovim/lua/plugins/telescope.lua +++ b/homes/modules/programs/neovim/lua/plugins/telescope.lua @@ -1,16 +1,12 @@ return { { "telescope.nvim", - enabled = nixCats("telescope.enable") or false, cmd = { "Telescope" }, keys = { { "f", function() - return require("telescope.builtin").find_files({ - hidden = true, - file_ignore_patterns = { "^.git/" }, - }) + return require("telescope.builtin").find_files() end, mode = { "n" }, desc = "Telescope search [F]iles", @@ -26,10 +22,7 @@ return { { "ts", function() - return require("telescope.builtin").live_grep({ - additional_args = { "--hidden" }, - glob_pattern = { "!.git/" }, - }) + return require("telescope.builtin").live_grep() end, mode = { "n" }, desc = "[T]elescope [S]earch cwd with grep", @@ -37,10 +30,7 @@ return { { "tw", function() - return require("telescope.builtin").grep_string({ - additional_args = { "--hidden" }, - glob_pattern = { "!.git/" }, - }) + return require("telescope.builtin").grep_string() end, mode = { "n" }, desc = "[T]elescope search current [W]ord", @@ -61,33 +51,10 @@ return { mode = { "n" }, desc = "[T]elescope search [B]uffers", }, - { - "th", - function() - return require("telescope.builtin").highlights() - end, - mode = { "n" }, - desc = "[T]elescope [H]ighlights", - }, - { - "gs", - function() - return require("telescope.builtin").git_status() - end, - mode = { "n" }, - desc = "[G]it [S]tatus", - }, }, load = function(name) vim.cmd.packadd(name) - - if nixCats("telescope.fzf") then - vim.cmd.packadd("telescope-fzf-native.nvim") - end - - if nixCats("telescope.zf") then - vim.cmd.packadd("telescope-zf-native.nvim") - end + vim.cmd.packadd("telescope-fzf-native.nvim") end, after = function(plugin) local telescope = require("telescope") @@ -95,8 +62,6 @@ return { telescope.setup({ defaults = { - border = true, - borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, mappings = { i = { [""] = actions.move_selection_previous, -- move to prev result @@ -107,13 +72,7 @@ return { }, }) - if nixCats("telescope.fzf") then - telescope.load_extension("fzf") - end - - if nixCats("telescope.zf") then - telescope.load_extension("zf-native") - end + pcall(telescope.load_extension, "fzf") end, }, } diff --git a/homes/modules/programs/neovim/nixcats.nix b/homes/modules/programs/neovim/nixcats.nix index 0c2025c..a90113f 100644 --- a/homes/modules/programs/neovim/nixcats.nix +++ b/homes/modules/programs/neovim/nixcats.nix @@ -1,20 +1,27 @@ # TODO: look into changing to this: # https://github.com/BirdeeHub/nix-wrapper-modules -{inputs, ...}: let - inherit - (inputs.nixcats) +{ + inputs, + spkgs, + mpkgs, + ... +}: +let + inherit (inputs.nixcats) utils ; -in { +in +{ imports = [ inputs.nixcats.homeModule ]; config = { + # this value, nixCats is the defaultPackageName you pass to mkNixosModules + # it will be the namespace for your options. nixCats = { enable = true; nixpkgs_version = inputs.nixpkgs-unstable; - # TODO: ask butterfly about this, am confused :3 # this will add the overlays from ./overlays and also, # add any plugins in inputs named "plugins-pluginName" to pkgs.neovimPlugins # It will not apply to overall system, just nixCats. @@ -23,306 +30,246 @@ in { [ (utils.standardPluginOverlay inputs) ]; - + # see the packageDefinitions below. # This says which of those to install. - packageNames = ["auroranvim"]; + packageNames = [ "auroranvim" ]; luaPath = "${./.}"; - # for usage of this section, refer to :h nixCats.flake.outputs.categories - categoryDefinitions.replace = { - pkgs, - settings, - categories, - extra, - name, - mkNvimPlugin, - ... - } @ packageDef: { - lspsAndRuntimeDeps = with pkgs; { - general = [ - ripgrep - fd - ]; - treesitter = [ - tree-sitter - ]; - lang = { - lua = { - lsp = [lua-language-server]; - format = [stylua]; - }; - nix = { - lsp = [nil]; - format = [alejandra]; - docs = [nix-doc]; # TODO: i forgot how to integrate this into neovim - }; - rust = { - lsp = [ - cargo - # !!!!!!!!! remember to change environment variable !!!!!!!!!!!! - # currently a regression: https://github.com/rust-lang/rust-analyzer/pull/22207 - inputs.nixpkgs-rust.legacyPackages.${system}.rust-analyzer - ]; - # nightly rustfmt has nicer features :3 - format = [(rustfmt.override {asNightly = true;})]; - formatters = { - leptos = [leptosfmt]; + # the .replace vs .merge options are for modules based on existing configurations, + # they refer to how multiple categoryDefinitions get merged together by the module. + # for useage of this section, refer to :h nixCats.flake.outputs.categories + categoryDefinitions.replace = + { + pkgs, + settings, + categories, + extra, + name, + mkNvimPlugin, + ... + }@packageDef: + { + lspsAndRuntimeDeps = with pkgs; { + general = [ + ripgrep + fd + ]; + treesitter = [ + tree-sitter + ]; + lang = { + lua = { + lsp = [ lua-language-server ]; + format = [ stylua ]; }; - }; - zig = { - lsp = [zls]; - # TODO: needs formatter field - }; - elixir = { - lsp = [elixir-ls]; - # TODO: needs formatter field - }; - gleam = { - lsp = [gleam]; - # TODO: needs formatter field - }; - haskell = { - lsp = [haskell-language-server]; - format = [ormolu]; - }; - java = { - lsp = [ + nix = { + lsp = [ + nil + nix-doc # TODO: i forgot what this is for + ]; + format = [ nixfmt ]; + }; + rust = { + lsp = [ + cargo + mpkgs.rust-analyzer + ]; + format = [ rustfmt ]; + }; + zig = [ + spkgs.zls # FIX: using spkgs version as zls is broken rn ;-; + ]; + elixir = [ + elixir-ls + ]; + gleam = [ + gleam + ]; + haskell = { + lsp = [ haskell-language-server ]; + format = [ ormolu ]; + }; + java = [ jdt-language-server javaPackages.compiler.openjdk17 javaPackages.compiler.openjdk21 ]; - # TODO: needs formatter field - }; - csharp = { - lsp = [ - roslyn-ls - ]; - format = [ - csharpier - ]; - }; - protobuf = { - lsp = [buf]; - format = [buf]; - }; - toml = { - format = [taplo]; - }; - bash = { - lsp = [bash-language-server]; - }; - sql = { - format = [sqlfluff]; }; }; - }; - startupPlugins = with pkgs.vimPlugins; { - general = [ - lze - plenary-nvim - nvim-notify - nvim-web-devicons - base16-nvim - mini-nvim - ]; - treesitter = [ - nvim-treesitter-textobjects - nvim-treesitter.withAllGrammars - ]; - }; - - optionalPlugins = with pkgs.vimPlugins; { - general = []; - ui = { - dressing = [dressing-nvim]; - lualine = [lualine-nvim]; - hlchunk = [hlchunk-nvim]; + startupPlugins = with pkgs.vimPlugins; { + general = [ + lze + plenary-nvim + nvim-notify + nvim-web-devicons + base16-nvim + mini-nvim + ]; + treesitter = [ + nvim-treesitter-textobjects + nvim-treesitter.withAllGrammars + ]; }; - qol = [ - undotree - mini-hipatterns - ]; - telescope = { - enable = [ + + optionalPlugins = with pkgs.vimPlugins; { + general = [ + ]; + ui = [ + dressing-nvim + ]; + qol = [ + undotree + mini-hipatterns + ]; + telescope = [ telescope-nvim + telescope-fzf-native-nvim telescope-ui-select-nvim ]; - fzf = [telescope-fzf-native-nvim]; - zf = [telescope-zf-native-nvim]; - }; - fyler = [ - fyler-nvim - ]; - lsp = [ - nvim-lspconfig - ]; - completion = [ - blink-cmp - nvim-cmp - luasnip - friendly-snippets - cmp_luasnip - cmp-buffer - cmp-path - cmp-nvim-lua - cmp-nvim-lsp - cmp-cmdline - cmp-nvim-lsp-signature-help - cmp-cmdline-history - lspkind-nvim - ]; - format = [ - conform-nvim - ]; - comment = [ - comment-nvim - ]; - git = { - merge = [ - resolve-nvim - vim-fugitive + fyler = [ + fyler-nvim ]; - gitsigns = [ - gitsigns-nvim + lsp = [ + nvim-lspconfig ]; - }; - lang = { - java = [ - nvim-jdtls + completion = [ + blink-cmp + nvim-cmp + luasnip + friendly-snippets + cmp_luasnip + cmp-buffer + cmp-path + cmp-nvim-lua + cmp-nvim-lsp + cmp-cmdline + cmp-nvim-lsp-signature-help + cmp-cmdline-history + lspkind-nvim ]; - }; - }; - - # shared libraries to be added to LD_LIBRARY_PATH - # variable available to nvim runtime - sharedLibraries = { - general = with pkgs; []; - }; - - environmentVariables = { - lang = { - rust.lsp = { - # it literally won't see the rust-analyzer provided to it - # if you don't use an envrionment variable to tell it - RUST_ANALYZER_CMD = "${inputs.nixpkgs-rust.legacyPackages.${pkgs.system}.rust-analyzer}/bin/rust-analyzer"; - }; - elixir.lsp = { - ELIXIR_LS_CMD = "${pkgs.elixir-ls}/scripts/language_server.sh"; - }; - java.lsp = { - JAVA_HOME = "${pkgs.javaPackages.compiler.openjdk17}"; - OPENJDK_17 = "${pkgs.javaPackages.compiler.openjdk17}"; - OPENJDK_21 = "${pkgs.javaPackages.compiler.openjdk21}"; + format = [ + conform-nvim + ]; + comment = [ + comment-nvim + ]; + lang = { + java = [ + nvim-jdtls + ]; }; }; + + # shared libraries to be added to LD_LIBRARY_PATH + # variable available to nvim runtime + sharedLibraries = { + general = with pkgs; [ + # libgit2 + ]; + }; + + environmentVariables = { + lang = { + rust.lsp = { + # it literally won't see the rust-analyzer provided to it + # if you don't use an envrionment variable to tell it + RUST_ANALYZER_CMD = "${mpkgs.rust-analyzer}/bin/rust-analyzer"; + }; + elixir.lsp = { + ELIXIR_LS_CMD = "${pkgs.elixir-ls}/scripts/language_server.sh"; + }; + java.lsp = { + JAVA_HOME = "${pkgs.javaPackages.compiler.openjdk17}"; + OPENJDK_17 = "${pkgs.javaPackages.compiler.openjdk17}"; + OPENJDK_21 = "${pkgs.javaPackages.compiler.openjdk21}"; + }; + }; + }; + + extraWrapperArgs = { + test = [ + ''--set CATTESTVAR2 "It worked again!"'' + ]; + }; + # lists of the functions you would have passed to + # python.withPackages or lua.withPackages + + # get the path to this python environment + # in your lua config via + # vim.g.python3_host_prog + # or run from nvim terminal via :!-python3 + extraPython3Packages = { + test = _: [ ]; + }; + # populates $LUA_PATH and $LUA_CPATH + extraLuaPackages = { + test = [ (_: [ ]) ]; + }; }; - extraWrapperArgs = {}; - # lists of the functions you would have passed to - # python.withPackages or lua.withPackages - - # get the path to this python environment - # in your lua config via - # vim.g.python3_host_prog - # or run from nvim terminal via :!-python3 - extraPython3Packages = {}; - # populates $LUA_PATH and $LUA_CPATH - extraLuaPackages = {}; - }; - # see :help nixCats.flake.outputs.packageDefinitions packageDefinitions.replace = { - auroranvim = {pkgs, ...}: { - # they contain a settings set defined above - # see :help nixCats.flake.outputs.settings - settings = { - wrapRc = true; - aliases = [ - "auravim" - "foxyvim" - "avix" - "fvix" - ]; - }; - - categories = { - general = true; - - ui = { - dressing = true; - lualine = true; - hlchunk = true; + # these are the names of your packages + # you can include as many as you wish. + auroranvim = + { pkgs, ... }: + { + # they contain a settings set defined above + # see :help nixCats.flake.outputs.settings + settings = { + wrapRc = true; + # IMPORTANT: + # your alias may not conflict with your other packages. + aliases = [ + "auroravim" + "auravim" + "foxyvim" + "avix" + "fvix" + "auim" + ]; }; + # and a set of categories that you want + # (and other information to pass to lua) + categories = { + general = true; - qol = true; + ui = true; + qol = true; + telescope = true; + fyler = true; + lsp = true; + completion = true; + treesitter = true; + format = true; + comment = true; - telescope = { - enable = true; - - # only enable one at a time - fzf = true; - zf = false; - }; - - fyler = true; - - lsp = true; - completion = true; - treesitter = true; - - format = true; - comment = true; - - git = { - merge = false; # not really setup yet.. ", - "constants": [], - }, - "modules": [ - { - "type": "title", - "format": "╭─────╯ {user-name}@{host-name} ╰───────────────╌╌╌┄┄┄┈┈┈", - "outputColor": "cyan", - }, - { - "type": "os", - "key": "│ os", - "keyColor": "cyan", - "format": "{name} {version}", - }, - { - "type": "kernel", - "key": "│ kernel", - "keyColor": "cyan", - "format": "{sysname} {arch} - {release}", - }, - { - "type": "uptime", - "key": "│ uptime", - "keyColor": "cyan", - }, - { - "type": "packages", - "key": "│ pkgs", - "keyColor": "cyan", - }, - { - "type": "cpu", - "key": "│ cpu", - "keyColor": "magenta", - "temp": true, - "format": "{name} {cores-physical}c/{cores-logical}t @ {freq-max} ({temperature})", - }, - { - "type": "gpu", - "key": "│ gpu{1}", - "keyColor": "magenta", - "driverSpecific": false, - "detectionMethod": "pci", - "temp": true, - "percent": { - "green": 50, - "yellow": 80, - "type": 0 - }, - "format": "{name} ({temperature}) [{type}]", - }, - { - "type": "memory", - "key": "│ memory", - "keyColor": "magenta", - }, - { - "type": "swap", - "key": "│ swap", - "keyColor": "magenta", - }, - { - "type": "disk", - "key": "│ disk({1})", - "keyColor": "magenta", - }, - { - "type": "shell", - "key": "│ shell", - "keyColor": "green", - }, - { - "type": "terminal", - "key": "│ term", - "keyColor": "green", - }, - { - "type": "wm", - "key": "│ wm", - "keyColor": "green", - }, - { - "type": "terminalfont", - "key": "│ font", - "keyColor": "green", - "format": "{name}", - }, - { - "type": "locale", - "key": "│ locale", - "keyColor": "green", - }, - { - "type": "title", - "format": "├─────────────────────────────────────────╌╌╌┄┄┄┈┈┈", - "outputColor": "red", - }, - { - "type": "command", - "key": "│", - "keyWidth": 3, - "keyColor": "red", - "shell": "bash", - "text": "for i in {0..7}; do printf \"\\e[4%dm \\e[0m\" $i; done", - }, - { - "type": "command", - "key": "│", - "keyWidth": 3, - "keyColor": "red", - "shell": "bash", - "text": "for i in {0..7}; do printf \"\\e[10%dm \\e[0m\" $i; done", - }, - { - "type": "title", - "format": "╰─────────────────────────────────────────╌╌╌┄┄┄┈┈┈", - "outputColor": "red", - }, - ] -} diff --git a/homes/modules/shell/zsh.nix b/homes/modules/shell/zsh.nix index 654ba9a..d1c9849 100644 --- a/homes/modules/shell/zsh.nix +++ b/homes/modules/shell/zsh.nix @@ -14,27 +14,21 @@ ]; initContent = '' - # yazi wrapper!!! - function yazi() { - local tmp="$(mktemp -p "/run/user/$UID" -t "yazi-cwd.XXXXXXXX")" cwd - command yazi "$@" --cwd-file="$tmp" - IFS= read -r -d ''' cwd < "$tmp" - [ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd" - rm -f -- "$tmp" - } + # yazi wrapper!!! + function yazi() { + local tmp="$(mktemp -p "/run/user/$UID" -t "yazi-cwd.XXXXXX")" cwd + command yazi "$@" --cwd-file="$tmp" + IFS= read -r -d ''' cwd < "$tmp" + [ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd" + rm -f -- "$tmp" + } - # oh i'm so gay!! :3 - function hf() { - local queer_flags=('genderfae' 'lesbian' 'xenogender' 'transgender' 'transfeminine' 'transbian' 'pansexual') - local ascii_art=('fox-1.txt' 'fox-2.txt' 'fox-3.txt' 'blackhole-1.txt' 'butterfly-4.txt' 'butterfly-7.txt' 'flower-3.txt' 'flower-4.txt') - hyfetch --ascii-file="$XDG_DATA_HOME/ascii-art/$ascii_art[RANDOM % $#ascii_art + 1]" --preset="$queer_flags[RANDOM % $#queer_flags + 1]" --args="--config themes/laimu.jsonc" - } - hf + hyfetch # oh i'm so gay!! :3 ''; shellAliases = { # files and nav stuff - ls = "eza --icons=auto"; + ls = "eza"; ll = "ls -la"; lt = "ls --tree"; llt = "ll --tree"; @@ -51,15 +45,12 @@ cb-fox = "ssh-add ~/.ssh/codeberg_foxxyora"; tf-fox = "ssh-add ~/.ssh/tearforge_foxora"; - tx = "wormhole-rs tx"; - rx = "wormhole-rs rx"; - # -------------------- # shorthand nix command aliases # open nix develop with preferred shell # description: nd = nix develop - nd = "[[ -f ./flake.sh ]] && ./flake.sh -c $SHELL || nix develop -c $SHELL"; + nd = "nix develop -c $SHELL"; # description: cdns = change directory [to] nix settings cdns = "cd ~/.nix"; @@ -74,6 +65,9 @@ # upgrades the system upgrade = "cdns && nix flake update && nh os switch ./ --accept-flake-config"; + # kitty's ssh command (to fix xterm and other stuff qwq) + kssh = "kitty +kitten ssh"; + # pipes are prettyyyy!!!! :3333 pipes1 = "pipes.sh -r 1024 -p 8 -f 30"; pipes2 = "pipes.sh -r 4096 -p 16 -f 100"; diff --git a/homes/modules/themeing/wallust/templates/alacritty-template.toml b/homes/modules/themeing/wallust/templates/alacritty-template.toml deleted file mode 100644 index c1a06de..0000000 --- a/homes/modules/themeing/wallust/templates/alacritty-template.toml +++ /dev/null @@ -1,27 +0,0 @@ -[colors.primary] -background = '{{ background }}' -foreground = '{{ foreground }}' - -[colors.cursor] -cursor = '{{ cursor }}' -text = '{{ cursor }}' - -[colors.normal] -black = '{{ color0 }}' -red = '{{ color1 }}' -green = '{{ color2 }}' -yellow = '{{ color3 }}' -blue = '{{ color4 }}' -magenta = '{{ color5 }}' -cyan = '{{ color6 }}' -white = '{{ color7 }}' - -[colors.bright] -black = '{{ color8 }}' -red = '{{ color9 }}' -green = '{{ color10 }}' -yellow = '{{ color11 }}' -blue = '{{ color12 }}' -magenta = '{{ color13 }}' -cyan = '{{ color14 }}' -white = '{{ color15 }}' diff --git a/homes/modules/themeing/wallust/templates/foot-template.ini b/homes/modules/themeing/wallust/templates/foot-template.ini deleted file mode 100644 index a8093e2..0000000 --- a/homes/modules/themeing/wallust/templates/foot-template.ini +++ /dev/null @@ -1,24 +0,0 @@ -[colors] -alpha=1.000000 -alpha-mode=default -background={{ background | strip }} -foreground={{ foreground | strip }} -selection-background={{ foreground | strip }} -selection-foreground={{ background | strip }} -regular0={{ color0 | strip }} -regular1={{ color1 | strip }} -regular2={{ color2 | strip }} -regular3={{ color3 | strip }} -regular4={{ color4 | strip }} -regular5={{ color5 | strip }} -regular6={{ color6 | strip }} -regular7={{ color7 | strip }} -bright0={{ color8 | strip }} -bright1={{ color9 | strip }} -bright2={{ color10 | strip }} -bright3={{ color11 | strip }} -bright4={{ color12 | strip }} -bright5={{ color13 | strip }} -bright6={{ color14 | strip }} -bright7={{ color15 | strip }} -urls={{ color13 | strip }} diff --git a/homes/modules/themeing/wallust/templates/mango-template.conf b/homes/modules/themeing/wallust/templates/mango-template.conf deleted file mode 100644 index 0ff2dea..0000000 --- a/homes/modules/themeing/wallust/templates/mango-template.conf +++ /dev/null @@ -1,11 +0,0 @@ -# background color of the root window -rootcolor=0x{{ color12 | strip }}ff - -# inactive window border -bordercolor=0x{{ color0 | strip }}ff - -# active window border -focuscolor=0x{{ color14 | strip }}ff - -# urgent / alerted window border -urgentcolor=0x{{ color10 | strip }}ff diff --git a/homes/modules/themeing/wallust/templates/neovim-template b/homes/modules/themeing/wallust/templates/neovim-template index f405ce1..433a3eb 100644 --- a/homes/modules/themeing/wallust/templates/neovim-template +++ b/homes/modules/themeing/wallust/templates/neovim-template @@ -14,5 +14,5 @@ {{ color13 }} {{ color14 }} {{ color15 }} -{{ foreground }} {{ background }} +{{ foreground }} diff --git a/homes/modules/themeing/wallust/wallust.toml b/homes/modules/themeing/wallust/wallust.toml index cccd8d5..ff82190 100644 --- a/homes/modules/themeing/wallust/wallust.toml +++ b/homes/modules/themeing/wallust/wallust.toml @@ -13,18 +13,12 @@ equibop.target = "~/.config/equibop/themes/base16-colors.css" equicord.template = "discord-template.css" equicord.target = "~/.config/Equicord/themes/base16-colors.css" +kitty.template = "kitty-template.conf" +kitty.target = "~/.config/kitty/theme.conf" + hyprland.template = "hyprland-template.conf" hyprland.target = "~/.config/hypr/colors.conf" -mango.template = "mango-template.conf" -mango.target = "~/.config/mango/colors.conf" - -foot.template = "foot-template.ini" -foot.target = "~/.config/foot/theme.ini" - -alacritty.template = "alacritty-template.toml" -alacritty.target = "~/.config/alacritty/theme.toml" - waybar.template = "waybar-template.css" waybar.target = "~/.config/waybar/colors.css" diff --git a/homes/modules/wm/hyprland/hypr/keybinds/virtual.conf b/homes/modules/wm/hyprland/hypr/keybinds/virtual.conf index 72a677f..076c602 100644 --- a/homes/modules/wm/hyprland/hypr/keybinds/virtual.conf +++ b/homes/modules/wm/hyprland/hypr/keybinds/virtual.conf @@ -1,7 +1,7 @@ # a submap for emulating keys/buttons/functions on the keyboard or mouse -bind = $mod, a, submap, cursor -submap = cursor +bind = $mod+shift+alt, a, submap, virtual +submap = virtual # exit submap bind = , escape, submap, reset @@ -38,6 +38,6 @@ binde = alt, e, exec, wlrctl pointer scroll -15 0 # scroll left binde = alt, y, exec, wlrctl pointer scroll 0 15 # scroll right # catches all other keys and keeps us in the submap -bind = , catchall, submap, cursor +bind = , catchall, submap, virtual submap = reset diff --git a/homes/modules/wm/hyprland/hypr/windowrules.conf b/homes/modules/wm/hyprland/hypr/windowrules.conf index 1ef1d8c..1d2c078 100644 --- a/homes/modules/wm/hyprland/hypr/windowrules.conf +++ b/homes/modules/wm/hyprland/hypr/windowrules.conf @@ -1,19 +1,10 @@ # window rules -# ---------------------------------------------------------------------------- # -# terminal - blur -windowrule { - name = terminal-blur - match:class = ^(foot|Alacritty)$ - match:fullscreen = false - opacity = 0.95 -} - # ---------------------------------------------------------------------------- # # task manager windowrule { - name = terminal-manager - match:class = ^(foot|Alacritty)$ + name = task-manager + match:class = ^(kitty)$ match:title = ^(btop)$ float = true center = true @@ -24,13 +15,33 @@ windowrule { # terminal filechooser windowrule { name = terminal-filechooser - match:class = ^(foot|Alacritty)$ + match:class = ^(kitty)$ match:title = ^(filechooser)$ float = true center = true size = (monitor_w*0.85) (monitor_h*0.85) } +# ---------------------------------------------------------------------------- # +# yazi explorer +#windowrule { + #name = yazi + #match:class = ^(kitty)$ + #match:title = ^(yazi)$ + #float = true + #center = true + #size = (monitor_w*0.85) (monitor_h*0.85) +#} + +# ---------------------------------------------------------------------------- # +# kitty - blur +windowrule { + name = kitty-blur + match:class = ^(kitty)$ + match:fullscreen = false + opacity = 0.95 +} + # ---------------------------------------------------------------------------- # # imhex - blur windowrule { @@ -48,13 +59,3 @@ windowrule { match:fullscreen = false opacity = 0.97 } - -# ---------------------------------------------------------------------------- # -# spotify - blur -windowrule { - name = spotify-blur - match:class = ^(spotify)$ - match:initial_class = ^(spotify)$ - match:fullscreen = false - opacity = 0.93 -} diff --git a/homes/modules/wm/hyprland/hyprland.nix b/homes/modules/wm/hyprland/hyprland.nix index bac2621..49570e5 100644 --- a/homes/modules/wm/hyprland/hyprland.nix +++ b/homes/modules/wm/hyprland/hyprland.nix @@ -4,6 +4,10 @@ package = null; portalPackage = null; + plugins = [ + #inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprscrolling + ]; + xwayland.enable = true; extraConfig = '' @@ -19,8 +23,8 @@ "$mod" = "SUPER"; # applications - "$terminal" = "alacritty"; - "$explorer" = "alacritty -e yazi"; + "$terminal" = "kitty"; + "$explorer" = "kitty -e yazi"; "$browser" = "zen-twilight"; # menu @@ -60,16 +64,16 @@ layout = "dwindle"; }; - dwindle = { - preserve_split = true; + plugin = { + # options at https://github.com/hyprwm/hyprland-plugins/tree/main/hyprscrolling + hyprscrolling = { + fullscreen_on_one_column = false; + column_width = 1.0; + }; }; - scrolling = { - fullscreen_on_one_column = true; - column_width = 0.9; - wrap_focus = true; - wrap_swapcol = true; - direction = "right"; + dwindle = { + preserve_split = true; }; decoration = { @@ -107,7 +111,7 @@ force_no_accel = false; # not recommended to turn on }; - # cursor.no_hardware_cursors = true; + cursor.no_hardware_cursors = true; misc = { enable_anr_dialog = false; @@ -126,12 +130,6 @@ "alt, tab, exec, pkill -x rofi || rofi -modi window -show window -show-icons" "$mod, v, exec, pkill -x rofi || cliphist list | rofi -dmenu | cliphist decode | wl-copy" - # manage windows / session - "$mod+alt, c, killactive" - "$mod, f, fullscreen" - "$mod, x, togglefloating" - "$mod+Alt, Delete, exit" # exit hyprland - # screenshots # todo: add active monitor "$mod, s, exec, grim -g \"\$(slurp -d)\" - | wl-copy" # region @@ -139,7 +137,7 @@ "$mod+ctrl, s, exec, grim - | wl-copy" # all monitors # hyprpicker - "$mod, n, exec, hyprpicker | wl-copy" + "$mod, n, exec, hyprpicker -v" # hyprlock "$mod+alt, y, exec, hyprlock" # task manager @@ -148,15 +146,18 @@ # media binds (more in binde below) ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - "Ctrl_R, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" ", XF86AudioPlay, exec, playerctl play-pause" ", XF86AudioNext, exec, playerctl next" ", XF86AudioPrev, exec, playerctl previous" "Shift_R, XF86AudioPlay, exec, playerctl shuffle toggle" "Shift_R, XF86AudioNext, exec, playerctl loop track" - # dwindle layout keybinds - "$mod, i, layoutmsg, togglesplit" + # manage windows / session + "$mod+alt, c, killactive" + "$mod, f, fullscreen" + "$mod, x, togglefloating" + "$mod, i, togglesplit" + "$mod+Alt, Delete, exit" # exit hyprland # move focus "$mod, h, movefocus, l" @@ -259,8 +260,6 @@ binde = [ ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+" ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-" - "Ctrl_R, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SOURCE@ 5%+" - "Ctrl_R, XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SOURCE@ 5%-" "Shift_R, XF86AudioRaiseVolume, exec, playerctl volume 0.05+" "Shift_R, XF86AudioLowerVolume, exec, playerctl volume 0.05-" @@ -279,29 +278,26 @@ ]; layerrule = [ - #"blur, aurorashell" - #"ignorealpha 0.7, aurorashell" + #"blur, aurorashell" + #"ignorealpha 0.7, aurorashell" - "blur on, match:namespace waybar" - "ignore_alpha 0, match:namespace waybar" + "blur on, match:namespace waybar" + "ignore_alpha 0, match:namespace waybar" - "blur on, match:namespace rofi" - "xray on, match:namespace rofi" - "ignore_alpha 0, match:namespace rofi" + "blur on, match:namespace rofi" + "xray on, match:namespace rofi" + "ignore_alpha 0, match:namespace rofi" ]; env = [ + "EDITOR,auravim" + "XCURSOR_THEME,Bunny (Icy) and Strawberries" "XCURSOR_SIZE,24" "HYPRCURSOR_THEME,Bunny (Icy) and Strawberries" "HYPRCURSOR_SIZE,24" "QT_QPA_PLATFORM,wayland" - - # makes portals work correctly - "QT_QPA_PLATFORMTHEME,xdgdesktopportal" - # the other option that might work :3 - #"QT_QPA_PLATFORMTHEME,flatpak" ]; }; }; diff --git a/homes/modules/wm/mango/default.nix b/homes/modules/wm/mango/default.nix deleted file mode 100644 index af708ad..0000000 --- a/homes/modules/wm/mango/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{inputs, ...}: { - imports = [ - inputs.mango.hmModules.mango - ]; - - wayland.windowManager.mango = { - enable = true; - }; - - xdg.configFile."mango" = { - recursive = true; - source = ./mango; - }; -} diff --git a/homes/modules/wm/mango/mango/config.conf b/homes/modules/wm/mango/mango/config.conf deleted file mode 100644 index a8d543a..0000000 --- a/homes/modules/wm/mango/mango/config.conf +++ /dev/null @@ -1,248 +0,0 @@ -################################################################################ -##### Monitors ///////////////////////////////////////////////////////////////// -################################################################################ - -# note: display stream compression pending for open source -# amd gpu driver and my monitor (VG279QM) only supports DP 1.2 -# so no >240hz atm - -# main monitor -monitorrule = name:DP-2,width:1920,height:1080,refresh:240,x:0,y:0 -# second monitor -monitorrule = name:DP-3,width:1920,height:1080,refresh:144,x:1920,y:0 -# third monitor (drawing tablet) -monitorrule = name:HDMI-A-2,width:2560,height:1440,refresh:60,x:3840,y:0 -# tv -monitorrule = name:HDMI-A-1,width:1920,height:1080,refresh:60,x:-1920,y:0 - -################################################################################ -##### Startup ////////////////////////////////////////////////////////////////// -################################################################################ - -exec-once = waybar -exec-once = waybar --config ~/.config/mango/waybar.jsonc -exec-once = awww-daemon - -exec-once = wl-paste --type text --watch cliphist store -exec-once = wl-paste --type image --watch cliphist store -exec-once = wl-clip-persist --clipboard regular - -exec-once = playerctld daemon - -exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY XDG_SESSION_TYPE=wayland XDG_CURRENT_DESKTOP=wlroots PATH - -################################################################################ -##### Themeing ///////////////////////////////////////////////////////////////// -################################################################################ - -borderpx = 2 - -gappih = 5 # inner gap horizontal -gappiv = 5 # inner gap vertical -gappoh = 10 # outer gap horizontal -# we set the bottom vertical gap by using an empty layer that defines an exclusive zone -gappov = 0 # outer gap vertical - -border_radius = 8 - -focused_opacity = 1.0 -unfocused_opacity = 1.0 - -blur = 1 -blur_layer = 1 -blur_optimized = 1 -blur_params_radius = 6 -blur_params_num_passes = 2 -blur_params_noise = 0.02 -blur_params_brightness = 0.9 -blur_params_contrast = 0.9 -blur_params_saturation = 1.2 - -cursor_size=24 -cursor_theme=Bunny (Icy) and Strawberries - -################################################################################ -##### Animations /////////////////////////////////////////////////////////////// -################################################################################ - -animations=1 -layer_animations=1 - -################################################################################ -##### Input //////////////////////////////////////////////////////////////////// -################################################################################ - -# keyboard stuff -repeat_rate = 50 -repeat_delay = 300 - -# mouse stuff -accel_profile = 0 - -################################################################################ -##### Keybinds ///////////////////////////////////////////////////////////////// -################################################################################ - -# applications -bind = SUPER, t, spawn, alacritty -bind = SUPER, e, spawn, alacritty -e yazi -bind = SUPER, r, spawn, zen-twilight - -# rofi -bind = SUPER, d, spawn_shell, pkill -x rofi || rofi -show drun -show-icons -bind = SUPER, v, spawn_shell, pkill -x rofi || cliphist list | rofi -dmenu | cliphist decode | wl-copy -bind = ALT, TAB, spawn_shell, pkill -x rofi || rofi -modi window -show window -show-icons - -# manage session -bind = SUPER+ALT, c, killclient -bind = SUPER+SHIFT, r, reload_config -bind = SUPER+ALT, delete, quit - -# screenshots -# grim - | wl-copy -bind = SUPER, s, spawn_shell, grim -g $(slurp -d) - | wl-copy -bind = SUPER+ALT, s, spawn_shell, grim -g $(slurp -o) - | wl-copy -bind = SUPER+CTRL, s, spawn_shell, grim - | wl-copy - -# task manager -bind = SUPER+CTRL, escape, spawn, task-manager.sh -bind = SUPER+CTRL, grave, spawn, task-manager.sh - -# color picker -bind = SUPER, n, spawn, hyprpicker -v -# lock screen -bind = SUPER+ALT, y, spawn, hyprlock - -# media keybinds -bind = NONE, XF86AudioMute, spawn, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bind = NONE, XF86AudioPlay, spawn, playerctl play-pause -bind = NONE, XF86AudioNext, spawn, playerctl next -bind = NONE, XF86AudioPrev, spawn, playerctl previous - -# needs to be `bind` for some reason, doesn't work otherwise -# if all of them are `bind` and not `binds`, it also doesn't work -# weird bug!! qwq -binds = Shift_R, XF86AudioPlay, spawn_shell, playerctl shuffle toggle -binds = Shift_R, XF86AudioNext, spawn, playerctl loop track - -bind = NONE, XF86AudioRaiseVolume, spawn, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+ -bind = NONE, XF86AudioLowerVolume, spawn, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%- - -binds = Shift_R, XF86AudioRaiseVolume, spawn, playerctl volume 0.05+ -binds = Shift_R, XF86AudioLowerVolume, spawn, playerctl volume 0.05- - -# window states -bind = SUPER, f, togglefullscreen -bind = SUPER+ALT, f, togglefakefullscreen -bind = SUPER, x, togglefloating - -# layouts -bind = SUPER, u, switch_layout - -# move focus - l/d/u/r -bind = SUPER, h, focusdir, left -bind = SUPER, j, focusdir, down -bind = SUPER, k, focusdir, up -bind = SUPER, l, focusdir, right - -# move focus - stack -bind = SUPER+SHIFT, j, focusstack, next -bind = SUPER+SHIFT, k, focusstack, prev - -# swap window - l/d/u/r -bind = SUPER+ALT, h, exchange_client, left -bind = SUPER+ALT, j, exchange_client, down -bind = SUPER+ALT, k, exchange_client, up -bind = SUPER+ALT, l, exchange_client, right - -# swap window - stack -bind = SUPER+SHIFT, h, exchange_stack_client, next -bind = SUPER+SHIFT, l, exchange_stack_client, prev - -# swap focused window with master -bind = SUPER, g, zoom - -# view tag -BIND = SUPER, 1, view, 1, 0 -BIND = SUPER, 2, view, 2, 0 -BIND = SUPER, 3, view, 3, 0 -BIND = SUPER, 4, view, 4, 0 -BIND = SUPER, 5, view, 5, 0 -BIND = SUPER, 6, view, 6, 0 -BIND = SUPER, 7, view, 7, 0 -BIND = SUPER, 8, view, 8, 0 -BIND = SUPER, 9, view, 9, 0 -BIND = SUPER, 0, view, 10, 0 -BIND = SUPER, minus, view, 11, 0 -BIND = SUPER, equal, view, 12, 0 - -# toggle tag on monitor -BIND = SUPER+ALT, 1, toggletag, 1, 0 -BIND = SUPER+ALT, 2, toggletag, 2, 0 -BIND = SUPER+ALT, 3, toggletag, 3, 0 -BIND = SUPER+ALT, 4, toggletag, 4, 0 -BIND = SUPER+ALT, 5, toggletag, 5, 0 -BIND = SUPER+ALT, 6, toggletag, 6, 0 -BIND = SUPER+ALT, 7, toggletag, 7, 0 -BIND = SUPER+ALT, 8, toggletag, 8, 0 -BIND = SUPER+ALT, 9, toggletag, 9, 0 -BIND = SUPER+ALT, 0, toggletag, 10, 0 -BIND = SUPER+ALT, minus, toggletag, 11, 0 -BIND = SUPER+ALT, equal, toggletag, 12, 0 - -# move window to tag -BIND = SUPER+SHIFT, 1, tag, 1, 0 -BIND = SUPER+SHIFT, 2, tag, 2, 0 -BIND = SUPER+SHIFT, 3, tag, 3, 0 -BIND = SUPER+SHIFT, 4, tag, 4, 0 -BIND = SUPER+SHIFT, 5, tag, 5, 0 -BIND = SUPER+SHIFT, 6, tag, 6, 0 -BIND = SUPER+SHIFT, 7, tag, 7, 0 -BIND = SUPER+SHIFT, 8, tag, 8, 0 -BIND = SUPER+SHIFT, 9, tag, 9, 0 -BIND = SUPER+SHIFT, 0, tag, 10, 0 -BIND = SUPER+SHIFT, minus, tag, 11, 0 -BIND = SUPER+SHIFT, equal, tag, 12, 0 - -# mouse binds :3 -mousebind = SUPER, btn_left, moveresize, curmove -mousebind = SUPER, btn_right, moveresize, curresize - -################################################################################ -##### Miscellaneous //////////////////////////////////////////////////////////// -################################################################################ - -# focus follows mouse cursor -sloppyfocus = 1 - -# automatically focus windows when they request activiation -focus_on_activate = 1 - -# scroll speed -axis_scroll_factor = 1.0 - -# disables hotarea for overview mode -enable_hotarea = 0 - -################################################################################ -##### Environment Variables //////////////////////////////////////////////////// -################################################################################ - -env = XCURSOR_THEME,Bunny (Icy) and Strawberries -env = XCURSOR_SIZE,24 - -env = QT_QPA_PLATFORM,wayland -env = QT_QPA_PLATFORMTHEME,xdgdesktopportal - -################################################################################ -##### Imports ////////////////////////////////////////////////////////////////// -################################################################################ - -# windowrules!!! <3 -source = ./windowrules.conf - -# layerrules :3 -source = ./layerrules.conf - -# colors generated from palette generator -source = ./colors.conf diff --git a/homes/modules/wm/mango/mango/layerrules.conf b/homes/modules/wm/mango/mango/layerrules.conf deleted file mode 100644 index 5ae4f70..0000000 --- a/homes/modules/wm/mango/mango/layerrules.conf +++ /dev/null @@ -1,3 +0,0 @@ -# ---------------------------------------------------------------------------- # -# slurp no blur -layerrule=noblur:1,layer_name:selection diff --git a/homes/modules/wm/mango/mango/waybar.jsonc b/homes/modules/wm/mango/mango/waybar.jsonc deleted file mode 100644 index 9ba22ad..0000000 --- a/homes/modules/wm/mango/mango/waybar.jsonc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "layer": "bottom", - "position": "bottom", - "height": 10, -} diff --git a/homes/modules/wm/mango/mango/windowrules.conf b/homes/modules/wm/mango/mango/windowrules.conf deleted file mode 100644 index 2a8afd7..0000000 --- a/homes/modules/wm/mango/mango/windowrules.conf +++ /dev/null @@ -1,7 +0,0 @@ -# ---------------------------------------------------------------------------- # -# i don't wanna minimise windows -windowrule = ignore_minimise - -# ---------------------------------------------------------------------------- # -# terminal - blur -windowrule = appid:^(foot|Alacritty)$, focused_opacity:0.95, unfocused_opacity:0.95 diff --git a/homes/modules/wm/river.nix b/homes/modules/wm/river.nix index 877f3e7..3fac1a0 100644 --- a/homes/modules/wm/river.nix +++ b/homes/modules/wm/river.nix @@ -1,15 +1,16 @@ -{...}: { +{spkgs, ...}: { wayland.windowManager.river = let layout = "rivertile"; in { enable = true; xwayland.enable = true; + package = spkgs.river-classic; # FIX: using spkgs version as zls is broken rn ;-; settings = let main = "Super"; # applications - terminal = "alacritty"; + terminal = "kitty"; browser = "firefox"; in { default-layout = "${layout}"; @@ -17,7 +18,7 @@ border-width = 1; spawn = [ - "${layout}" + ''${layout}'' "awww-daemon" "waybar" @@ -36,7 +37,7 @@ "${main} R" = ''spawn "${browser}"''; # move focused view to top of layout stack - "${main} N" = "zoom"; + "${main} N" = ''zoom''; # focus next/previous view "${main} J" = "focus-view previous"; diff --git a/homes/modules/wm/sway.nix b/homes/modules/wm/sway.nix index a878169..36db54e 100644 --- a/homes/modules/wm/sway.nix +++ b/homes/modules/wm/sway.nix @@ -3,7 +3,7 @@ enable = true; config = rec { modifier = "Mod4"; # Mod4 = Super/Meta - terminal = "alacritty"; + terminal = "kitty"; # disable sway bar bars = []; diff --git a/hosts/arcturus/default.nix b/hosts/arcturus/default.nix index 0f2ab89..6bd53fe 100644 --- a/hosts/arcturus/default.nix +++ b/hosts/arcturus/default.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ config, lib, pkgs, ... }: +{ imports = [ ./hardware-configuration.nix ]; @@ -13,7 +14,7 @@ }; boot = { - kernelPackages = pkgs.linuxPackages_6_12; + kernelPackages = pkgs.linuxPackages_latest; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; @@ -34,6 +35,10 @@ }; }; + systemd.services.systemd-networkd.environment = { + SYSTEMD_LOG_LEVEL = "debug"; + }; + systemd.network = { enable = true; @@ -112,7 +117,7 @@ users.users.foxora = { isNormalUser = true; - extraGroups = ["wheel"]; + extraGroups = [ "wheel" ]; packages = with pkgs; [ tree diff --git a/hosts/arcturus/hardware-configuration.nix b/hosts/arcturus/hardware-configuration.nix index b37a44d..2cb46e2 100644 --- a/hosts/arcturus/hardware-configuration.nix +++ b/hosts/arcturus/hardware-configuration.nix @@ -1,35 +1,32 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + { - config, - lib, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = ["ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-intel"]; - boot.extraModulePackages = []; + boot.initrd.availableKernelModules = [ "ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; - fileSystems."/" = { - device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266"; - fsType = "btrfs"; - }; + fileSystems."/" = + { device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266"; + fsType = "btrfs"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/0213-F9A0"; - fsType = "vfat"; - options = ["fmask=0077" "dmask=0077"]; - }; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/0213-F9A0"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; - swapDevices = [ - {device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200";} - ]; + swapDevices = + [ { device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200"; } + ]; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/hosts/delphinus/configuration.nix b/hosts/delphinus/configuration.nix deleted file mode 100644 index 10d1bdb..0000000 --- a/hosts/delphinus/configuration.nix +++ /dev/null @@ -1,85 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { - imports = [ - ./hardware-configuration.nix - ]; - - networking.hostName = "delphinus"; - - boot = { - kernelPackages = pkgs.linuxPackages_latest; - loader = { - timeout = 10; - grub = { - enable = true; - forceInstall = true; - device = "nodev"; - extraConfig = '' - serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; - terminal_input serial; - terminal_output serial - ''; - }; - }; - }; - - networking = { - networkmanager.enable = true; - useDHCP = false; - usePredictableInterfaceNames = false; - nftables.enable = true; - - firewall = { - enable = true; - allowedTCPPorts = [6767]; - allowedUDPPorts = []; - }; - }; - - time.timeZone = "Europe/Amsterdam"; - - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; - - users.users.fox = { - isNormalUser = true; - extraGroups = ["wheel"]; - packages = with pkgs; [ - tree - ]; - - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPGwai/gXJOJZQujpk0BSwdjSe2as3pT567bYhzjaQ4M aurora@nixarawrui" - ]; - }; - - services = { - openssh = { - enable = true; - - ports = [6767]; - settings = { - PasswordAuthentication = false; - PermitRootLogin = "no"; - AllowUsers = ["fox"]; - UseDns = false; # disable rDNS lookup - X11Forwarding = false; - }; - }; - }; - - environment.systemPackages = with pkgs; [ - neovim - git - wget - ]; - - system.stateVersion = "25.11"; -} diff --git a/hosts/delphinus/hardware-configuration.nix b/hosts/delphinus/hardware-configuration.nix deleted file mode 100644 index b5f284f..0000000 --- a/hosts/delphinus/hardware-configuration.nix +++ /dev/null @@ -1,26 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/profiles/qemu-guest.nix") - ]; - - boot.initrd.availableKernelModules = [ "virtio_pci" "virtio_scsi" "ahci" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/sda"; - fsType = "ext4"; - }; - - swapDevices = - [ { device = "/dev/sdb"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} diff --git a/hosts/lyra/default.nix b/hosts/lyra/default.nix index 9a1f982..499d59e 100644 --- a/hosts/lyra/default.nix +++ b/hosts/lyra/default.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ config, lib, pkgs, ... }: +{ imports = [ ./hardware-configuration.nix ]; @@ -13,7 +14,7 @@ }; boot = { - kernelPackages = pkgs.linuxPackages_6_12; + kernelPackages = pkgs.linuxPackages_latest; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; @@ -22,13 +23,11 @@ networking = { networkmanager.enable = true; - nftables.enable = true; firewall = { allowedTCPPorts = [ 2222 ]; - allowedUDPPorts = []; }; }; @@ -41,7 +40,7 @@ PasswordAuthentication = false; PermitRootLogin = "no"; AllowUsers = ["foxora"]; - UseDns = false; # disable rDNS lookup + UseDns = false; # enables rDNS lookup X11Forwarding = false; }; }; @@ -58,7 +57,7 @@ users.users.foxora = { isNormalUser = true; - extraGroups = ["wheel"]; + extraGroups = [ "wheel" ]; packages = with pkgs; [ tree @@ -92,3 +91,4 @@ system.stateVersion = "25.11"; } + diff --git a/hosts/lyra/hardware-configuration.nix b/hosts/lyra/hardware-configuration.nix index ca0abd6..6dbf2fa 100644 --- a/hosts/lyra/hardware-configuration.nix +++ b/hosts/lyra/hardware-configuration.nix @@ -1,35 +1,32 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + { - config, - lib, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-intel"]; - boot.extraModulePackages = []; + boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; - fileSystems."/" = { - device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8"; - fsType = "ext4"; - }; + fileSystems."/" = + { device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8"; + fsType = "ext4"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/12CE-A600"; - fsType = "vfat"; - options = ["fmask=0077" "dmask=0077"]; - }; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/12CE-A600"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; - swapDevices = [ - {device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad";} - ]; + swapDevices = + [ { device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad"; } + ]; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/hosts/modules/programs/mcsr/default.nix b/hosts/modules/programs/mcsr/default.nix deleted file mode 100644 index ca2427e..0000000 --- a/hosts/modules/programs/mcsr/default.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ - inputs, - pkgs, - upkgs, - lib, - config, - ... -}: let - cfg = config.programs.waywall; - - mcsrPkgs = inputs.mcsr.packages.${pkgs.stdenv.hostPlatform.system}; - # thin = pkgs.fetchurl { - # url = "https://v.uku.moe/u/thin.png"; - # hash = "sha256-VzT9a0/+JMG+To80+xuQSo4x2w6+zavCvUJ6irBkpVg="; - # }; - # wide = pkgs.fetchurl { - # url = "https://v.uku.moe/u/wide.png"; - # hash = "sha256-xJX+QladHQiQYBdKZEB9kuEaxBWVZuuStf4r4gIv5uo="; - # }; - # tall = pkgs.fetchurl { - # url = "https://v.uku.moe/u/tall.png"; - # hash = "sha256-RLyV6iFVDlJKKEdA3CBAQR/sIj2WnhZVBAmLzVmS7JA="; - # }; -in { - imports = [inputs.mcsr.nixosModules.waywall]; - - options = { - programs.waywall = { - width = lib.mkOption { - type = lib.types.int; - default = 1920; - }; - - height = lib.mkOption { - type = lib.types.int; - default = 1080; - }; - }; - }; - - config = { - nixpkgs.overlays = [ - (final: prev: { - prismlauncher = prev.prismlauncher.override { - jdks = [ - mcsrPkgs.graalvm-21 - upkgs.openjdk8 - ]; - - additionalLibs = with pkgs; [ - libx11 - libxt - libxtst - libxcb - libxkbcommon - libxinerama - ]; - }; - }) - ]; - - environment.systemPackages = with pkgs; [ - prismlauncher - ]; - - programs.waywall = { - enable = true; - config = { - enableWaywork = true; - programs = [mcsrPkgs.ninjabrain-bot]; - - files = { - eye_overlay = ./eye-overlay-trans.png; - # inherit thin wide tall; - }; - - text = - '' - local resolution = { w = ${toString cfg.width}, h = ${toString cfg.height} } - -- end globals - '' - + (builtins.readFile ./waywall.lua); - - # linkWithSystemd = false; - }; - }; - }; -} diff --git a/hosts/modules/programs/mcsr/eye-overlay-trans.png b/hosts/modules/programs/mcsr/eye-overlay-trans.png deleted file mode 100644 index 3038324..0000000 Binary files a/hosts/modules/programs/mcsr/eye-overlay-trans.png and /dev/null differ diff --git a/hosts/modules/programs/mcsr/waywall.lua b/hosts/modules/programs/mcsr/waywall.lua deleted file mode 100644 index df967d9..0000000 --- a/hosts/modules/programs/mcsr/waywall.lua +++ /dev/null @@ -1,263 +0,0 @@ --- vim: foldmethod=marker -local waywall = require("waywall") -local helpers = require("waywall.helpers") - -local Scene = require("waywork.scene") -local Modes = require("waywork.modes") -local Keys = require("waywork.keys") -local Processes = require("waywork.processes") - -local scene = Scene.SceneManager.new(waywall) -local ModeManager = Modes.ModeManager.new(waywall) - --- config -- --- https://arjuncgore.github.io/waywall-boat-eye-calc/ -local normal_sens = 8.72284201 -local tall_sens = 0.5884377 - -local pie_colors = { - { input = "#e145c2", output = "#a000a0" }, - { input = "#e96d4d", output = "#aa3310" }, - { input = "#45cb65", output = "#00a000" }, - { input = "#4de1ca", output = "#1a7286" }, - { input = "#c46de1", output = "#ff55ff" }, -} --- config -- - --- utils {{{ -_G["WAYWORK_GLOBAL_GUARD"] = false - -local function toggle_global_guard() - _G["WAYWORK_GLOBAL_GUARD"] = not _G["WAYWORK_GLOBAL_GUARD"] - return _G["WAYWORK_GLOBAL_GUARD"] -end - -local function mode_guard() - return not _G["WAYWORK_GLOBAL_GUARD"] and not waywall.get_key("F3") -end - -local function smart_enable_group(mode, status) - scene:enable_group(mode, status) - scene:enable_group("normal", not status) -end - -local function piechart_src(res) - return { x = res.w - 93, y = res.h - 221, w = 33, h = 42 } -end - -local function piechart_dst(res) - ---@diagnostic disable: undefined-global - -- x = right_of_thin - 11 (gap between edge and pie) - 160 (pie width / 2) - 99 (mirror width / 2) - if res.w == resolution.w and res.h == resolution.h then - return { x = res.w - 270, y = res.h - 390, w = 33 * 6, h = 42 * 6 } - else - return { x = (resolution.w + res.w) / 2 - 270, y = (resolution.h + res.h) / 2 - 390, w = 33 * 6, h = 42 * 6 } - end - ---@diagnostic enable: undefined-global -end - ----@diagnostic disable-next-line: undefined-global -local ensure_ninjabrain = Processes.ensure_application(waywall, programs.ninjabrain_bot)("ninjabrain.*\\.jar") --- }}} - --- background images {{{ --- for _, name in ipairs({ "wide", "thin", "tall" }) do --- scene:register(name .. "_bg", { --- kind = "image", --- ---@diagnostic disable-next-line: undefined-global --- path = files[name], --- options = { - --- ---@diagnostic disable: undefined-global --- dst = { x = 0, y = 0, w = resolution.w, h = resolution.h }, --- ---@diagnostic enable: undefined-global - --- depth = -1, --- }, --- groups = { name }, --- }) --- end --- }}} - --- thin {{{ ----@diagnostic disable: undefined-global -local thin_res = { w = resolution.h * 0.28, h = resolution.h } -local e_scale = resolution.w > 2560 and 20 or 10 -local left_middle = (resolution.w - thin_res.w) / 4 ----@diagnostic enable: undefined-global - -scene:register("e_counter", { - kind = "mirror", - options = { - src = { x = 1, y = 37, w = 49, h = 9 }, - ---@diagnostic disable-next-line: undefined-global - dst = { x = left_middle - (49 * e_scale / 2), y = resolution.h / 10.8, w = 49 * e_scale, h = 9 * e_scale }, - depth = 0, - }, - groups = { "thin" }, -}) - -for _, ck in ipairs(pie_colors) do - scene:register("prct_mirror_" .. ck.input, { - kind = "mirror", - options = { - src = piechart_src(thin_res), - dst = piechart_dst(thin_res), - depth = 1, - color_key = ck, - }, - groups = { "thin" }, - }) -end - -ModeManager:define("thin", { - width = thin_res.w, - height = thin_res.h, - on_enter = function() - smart_enable_group("thin", true) - end, - on_exit = function() - smart_enable_group("thin", false) - end, - toggle_guard = mode_guard, -}) --- }}} - --- wide {{{ ----@diagnostic disable: undefined-global -local wide_res = { w = resolution.w, h = resolution.h / 3.6 } ----@diagnostic enable: undefined-global - -ModeManager:define("wide", { - width = wide_res.w, - height = wide_res.h, - on_enter = function() - smart_enable_group("wide", true) - end, - on_exit = function() - smart_enable_group("wide", false) - end, - toggle_guard = mode_guard, -}) --- }}} - --- tall {{{ ----@diagnostic disable: undefined-global -local tall_res = { w = 384, h = 16384 } -local measure_w = (resolution.w - tall_res.w) / 2 -local measure_h = (resolution.h * measure_w) / resolution.w -local measure_dst = { x = 0, y = (resolution.h - measure_h) / 2, w = measure_w, h = measure_h } ----@diagnostic enable: undefined-global - -scene:register("eye_measure", { - kind = "mirror", - options = { - src = { x = (tall_res.w - 60) / 2, y = (tall_res.h - 580) / 2, w = 60, h = 580 }, - dst = measure_dst, - depth = 0, - }, - groups = { "tall" }, -}) - -scene:register("eye_overlay", { - kind = "image", - ---@diagnostic disable-next-line: undefined-global - path = files.eye_overlay, - options = { dst = measure_dst, depth = 1 }, - groups = { "tall" }, -}) - -ModeManager:define("tall", { - width = tall_res.w, - height = tall_res.h, - on_enter = function() - smart_enable_group("tall", true) - waywall.set_sensitivity(tall_sens) - end, - on_exit = function() - smart_enable_group("tall", false) - waywall.set_sensitivity(0) - end, - toggle_guard = mode_guard, -}) --- }}} - --- normal res mirrors {{{ -for _, ck in ipairs(pie_colors) do - scene:register("prct_mirror_normal_" .. ck.input, { - kind = "mirror", - options = { - ---@diagnostic disable: undefined-global - src = piechart_src(resolution), - dst = piechart_dst(resolution), - ---@diagnostic enable: undefined-global - depth = 1, - color_key = ck, - }, - groups = { "normal" }, - }) -end --- }}} - --- startup actions -waywall.listen("load", function() - -- wait for title screen - repeat - local error, state = pcall(waywall.state) - waywall.sleep(1000) - until error == true and state.screen == "title" - - -- actual actions - ensure_ninjabrain() - scene:enable_group("normal", true) -end) - -local config = { - input = { - layout = "us", - repeat_rate = 40, - repeat_delay = 300, - - sensitivity = normal_sens, - confine_pointer = true, - - remaps = { - ["MB4"] = "F5", - ["MB5"] = "F3", - }, - }, - - theme = { - background = "#00000000", - -- https://github.com/Smithay/smithay/issues/1894 - ninb_anchor = "right", - }, - - ---@diagnostic disable: undefined-global - window = { - fullscreen_width = resolution.w, - fullscreen_height = resolution.h, - }, - ---@diagnostic enable: undefined-global - - actions = Keys.actions({ - ["*-F2"] = function() - toggle_global_guard() - end, - ["*-V"] = function() - return ModeManager:toggle("thin") - end, - ["*-B"] = function() - return ModeManager:toggle("tall") - end, - ["*-G"] = function() - return ModeManager:toggle("wide") - end, - ["Ctrl-Shift-L"] = function() - ensure_ninjabrain() - helpers.toggle_floating() - end, - }), -} - -return config diff --git a/hosts/nixarawrui/default.nix b/hosts/nixarawrui/default.nix index 126a8ab..b07dbb5 100644 --- a/hosts/nixarawrui/default.nix +++ b/hosts/nixarawrui/default.nix @@ -1,16 +1,13 @@ { - lib, - config, - root, + inputs, upkgs, + spkgs, ... }: { imports = [ ./hardware-configuration.nix ./modules/amdgpu-ignore-ctx-privileges.nix - - ../modules/programs/mcsr ]; # Use the systemd-boot EFI boot loader. @@ -22,23 +19,10 @@ efi.canTouchEfiVariables = true; }; - # kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4; + kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4; # TODO: idk make this a toggle or smth idfk - kernelPackages = upkgs.linuxPackages_zen; + # kernelPackages = upkgs.linuxPackages_latest; kernelModules = ["v4l2loopback"]; - kernelParams = [ - # force kernel to use dGPU - "amdgpu.primary=0000:03:00.0" - "video=PCI:0000:03:00.0:e" - "initcall_blacklist=simpledrm_platform_driver_init" - "fbcon=map:0" - - # stops kernel from setting power states on nvme drives because it keeps - # disconnecting my drive and my system locks up - "nvme_core.default_ps_max_latency_us=0" - "pcie_aspm=off" - "pcie_port_pm=off" - ]; extraModulePackages = with kernelPackages; [v4l2loopback]; # qemu @@ -65,11 +49,13 @@ allowedTCPPorts = [ 21110 # slimevr + 44949 # rquickshare ]; allowedUDPPorts = [ 6969 # slimevr 8266 # slimevr 35903 # slimevr + 44949 # rquickshare ]; }; @@ -98,6 +84,10 @@ environment.sessionVariables = { NIXOS_OZONE_WL = "1"; + + # makes portals work correctly + QT_QPA_PLATFORMTHEME = "xdgdesktopportal"; + #QT_QPA_PLATFORMTHEME = "flatpak"; # sometimes might need this }; xdg.portal = { @@ -143,30 +133,6 @@ services = { displayManager.sddm.enable = true; displayManager.sddm.wayland.enable = true; - # force sddm to be on the dGPU - displayManager.sddm.wayland.compositor = "weston"; - displayManager.sddm.settings = let - xcfg = config.services.xserver; - # from: https://github.com/NixOS/nixpkgs/blob/1ad2d2e524cb1e7b91ebebcd10d224105dd4e1f2/nixos/modules/services/display-managers/sddm.nix#L132-L143 - # as for some reason they do it like this and it makes it harder for me to set the option correctly for my gpu - # NOTE: ask butterfly if there is a better way <3 - westonIni = (upkgs.formats.ini {}).generate "weston.ini" { - libinput = { - enable-tap = config.services.libinput.mouse.tapping; - left-handed = config.services.libinput.mouse.leftHanded; - }; - keyboard = { - keymap_model = xcfg.xkb.model; - keymap_layout = xcfg.xkb.layout; - keymap_variant = xcfg.xkb.variant; - keymap_options = xcfg.xkb.options; - }; - }; - in { - Wayland = { - CompositorCommand = "${lib.getExe upkgs.weston} --shell=kiosk --drm-device=card0 -c ${westonIni}"; - }; - }; udisks2.enable = true; flatpak.enable = true; @@ -229,15 +195,7 @@ users.aurora = { isNormalUser = true; uid = 1000; - extraGroups = [ - "wheel" - "disk" - "input" - "video" - "audio" - "networkmanager" - "games" - ]; + extraGroups = ["wheel" "disk" "input" "video" "audio" "networkmanager" "games"]; shell = upkgs.zsh; @@ -251,13 +209,6 @@ }; }; - systemd.tmpfiles.rules = let - imagePath = root + "/homes/aurora/profile.png"; - in - lib.mkIf (builtins.pathExists imagePath) [ - "L+ /var/lib/AccountsService/icons/aurora - - - - ${imagePath}" - ]; - programs = { # nix-ld runs unpatched dynamic binaries on nixos :3 nix-ld.enable = true; @@ -285,11 +236,8 @@ portalPackage = upkgs.hyprland-git.xdg-desktop-portal-hyprland; }; - mango = { - enable = true; - }; - river-classic = { + package = spkgs.river-classic; # FIX: using spkgs version as zls is broken rn ;-; enable = true; }; @@ -310,18 +258,7 @@ alvr = { enable = true; - - # package = upkgs.alvr.overrideAttrs (old: rec { - # postPatch = - # (old.postPatch or "") - # + '' - # substituteInPlace alvr/server_openvr/src/lib.rs \ - # --replace-fail \ - # "let early_hmd_initialization = !dashboard_process_paths.is_empty();" \ - # "let early_hmd_initialization = true;" - # ''; - # }); - + package = spkgs.alvr; openFirewall = true; }; @@ -337,7 +274,7 @@ fish.enable = true; silentSDDM = { - enable = true; + enable = false; theme = "rei"; }; }; @@ -348,9 +285,6 @@ # linux packages!!! linuxPackages.v4l2loopback - # weston is needed for sddm - weston - # android yay android-tools @@ -376,11 +310,11 @@ }) # game stuff :3 - # (lutris.override { - # extraPkgs = upkgs: [ - # libadwaita - # ]; - # }) + (lutris.override { + extraPkgs = upkgs: [ + libadwaita + ]; + }) (steam.override { extraPkgs = upkgs: [ nss @@ -388,25 +322,9 @@ libxscrnsaver ]; }).run + + inputs.nix-alien.packages.${stdenv.hostPlatform.system}.nix-alien ]; - documentation = { - enable = true; - doc.enable = true; # install /share/doc packages - man = { - enable = true; # install manpages - - # https://discourse.nixos.org/t/slow-build-at-building-man-cache/52365/4 - generateCaches = false; - }; - info.enable = true; # install GNU info - dev.enable = true; # install docs intended for developers - nixos = { - enable = true; # install NixOS documentation (ie man -k nix, & nixos-help) - options.splitBuild = true; - includeAllModules = false; - }; - }; - system.stateVersion = "24.11"; } diff --git a/hosts/nixarawrui/modules/amdgpu-ignore-ctx-privileges.nix b/hosts/nixarawrui/modules/amdgpu-ignore-ctx-privileges.nix index 3174fb2..8adf2f0 100644 --- a/hosts/nixarawrui/modules/amdgpu-ignore-ctx-privileges.nix +++ b/hosts/nixarawrui/modules/amdgpu-ignore-ctx-privileges.nix @@ -12,7 +12,7 @@ in { }; config = lib.mkIf enabled { - nixpkgs.channels.default = { + nixpkgs.channels = { upkgs.overlays = [ (self: super: { amdgpu-ignore-ctx-privileges = super.fetchpatch { diff --git a/nixpkgs.nix b/nixpkgs.nix index 1470160..5bedfeb 100644 --- a/nixpkgs.nix +++ b/nixpkgs.nix @@ -1,6 +1,6 @@ {inputs, ...} @ args: { nixpkgs.channels = { - default = { + base = { overlays = [(import ./overlays.nix args)]; config.allowUnfree = true; }; diff --git a/overlays.nix b/overlays.nix index 6214122..1a50320 100644 --- a/overlays.nix +++ b/overlays.nix @@ -16,20 +16,4 @@ }); hyprland-git = inputs.hyprland-git.packages.${system}; - - vimPlugins = - (super.vimPlugins or {}) - // { - resolve-nvim = super.vimUtils.buildVimPlugin rec { - pname = "resolve-nvim"; - src = super.fetchFromGitHub { - owner = "spacedentist"; - repo = "resolve.nvim"; - rev = "1ed8bcc9ce7d43a0e8e05d0001c9cadb822d95a8"; - sha256 = "1h359zv3hcbg81plch1j1hs9nxpi719ygl2slkfdqigz406r9q86"; - }; - doCheck = false; - version = builtins.toString (src.lastModified or "master"); - }; - }; }) diff --git a/snow.nix b/snow.nix index 8a63ff9..50da6a7 100644 --- a/snow.nix +++ b/snow.nix @@ -1,39 +1,30 @@ -{cerulean, ...} @ inputs: -cerulean.mkNexus ./. (self: { - nexus = { - args = {inherit inputs;}; - - modules = with inputs; []; - +{inputs, ...} @ args: { + nodes = { base = inputs.nixpkgs; homeManager = inputs.home-manager; + args = {inherit inputs;}; + modules = with inputs; []; + groups = { servers = {}; }; - nodes = let - inherit - (self.nexus) - groups - ; - in { + nodes = { nixarawrui = { system = "x86_64-linux"; base = inputs.nixpkgs-unstable; - homeManager = inputs.home-manager-unstable; modules = with inputs; [ sddm-silent.nixosModules.default - inputs.mango.nixosModules.mango ]; }; arcturus = { system = "x86_64-linux"; - groups = [ + groups = groups: [ groups.servers ]; @@ -50,11 +41,7 @@ cerulean.mkNexus ./. (self: { networking.hostName = "home-assistant"; - boot.kernelParams = [ - "console=ttyS0" - "console=ttyS1" - "8250.nr_uarts=2" - ]; + boot.kernelParams = ["console=ttyS0" "console=ttyS1" "8250.nr_uarts=2"]; systemd.services."serial-getty@ttyS1".enable = true; microvm = { @@ -113,23 +100,23 @@ cerulean.mkNexus ./. (self: { deploy.ssh = { host = "10.16.1.163"; port = 2222; - user = "foxora"; + publicKeys = []; }; }; lyra = { system = "x86_64-linux"; - groups = [ + groups = groups: [ groups.servers ]; deploy.ssh = { host = "10.16.1.58"; port = 2222; - user = "foxora"; + publicKeys = []; }; }; }; }; -}) +} diff --git a/vms/home-assistant/default.nix b/vms/home-assistant/default.nix index a4be467..70bcd07 100644 --- a/vms/home-assistant/default.nix +++ b/vms/home-assistant/default.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ config, lib, pkgs, ... }: +{ services.home-assistant = { enable = true; configDir = "/var/lib/hass/hass"; @@ -11,38 +12,30 @@ "esphome" "met" "radio_browser" - "hassio" - "stream" - "cast" - "plex" - "dhcp" - "go2rtc" - "mobile_app" ]; - extraPackages = python3Packages: - with python3Packages; [ - getmac - aiohue - numpy - aiodhcpwatcher - async-upnp-client - gtts - numpy - plexapi - pyipp - paho-mqtt - pyturbojpeg - ]; + extraPackages = python3Packages: with python3Packages; [ + getmac + aiohue + numpy + aiodhcpwatcher + async-upnp-client + gtts + numpy + plexapi + pyipp + paho-mqtt + pyturbojpeg + ]; }; # configures the config directory to be mounted # correctly with the right permissions systemd.services.hass-permissions = { - wantedBy = ["multi-user.target"]; - after = ["var-lib-hass.mount"]; - requires = ["var-lib-hass.mount"]; - before = ["home-assistant.service"]; + wantedBy = [ "multi-user.target" ]; + after = [ "var-lib-hass.mount" ]; + requires = [ "var-lib-hass.mount" ]; + before = [ "home-assistant.service" ]; serviceConfig = { Type = "oneshot"; ExecStart = "${pkgs.bash}/bin/bash -c 'mkdir -p /var/lib/hass/hass && chown hass:hass /var/lib/hass/hass'";