diff --git a/flake.lock b/flake.lock index 8d887e8..018c533 100644 --- a/flake.lock +++ b/flake.lock @@ -1,60 +1,12 @@ { "nodes": { - "aquamarine": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1751740947, - "narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "dfc1db15a08c4cd234288f66e1199c653495301f", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "aquamarine", - "type": "github" - } - }, "crane": { "locked": { - "lastModified": 1750266157, - "narHash": "sha256-tL42YoNg9y30u7zAqtoGDNdTyXTi8EALDeCB13FtbQA=", + "lastModified": 1751562746, + "narHash": "sha256-smpugNIkmDeicNz301Ll1bD7nFOty97T79m4GUMUczA=", "owner": "ipetkov", "repo": "crane", - "rev": "e37c943371b73ed87faf33f7583860f81f1d5a48", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_2": { - "locked": { - "lastModified": 1736032295, - "narHash": "sha256-QNRlMxQTT3rdgsQb3QxljO14kE8xxdDXNJ/4jIm4u3Q=", - "owner": "ipetkov", - "repo": "crane", - "rev": "9fa361afe873c740d5ca10ff526463d5807eab88", + "rev": "aed2020fd3dc26e1e857d4107a5a67a33ab6c1fd", "type": "github" }, "original": { @@ -78,11 +30,11 @@ ] }, "locked": { - "lastModified": 1751571582, - "narHash": "sha256-px4+H0VI5H+kzHgfoyAD0haTNiAXhiVgXqCAgAjT16A=", + "lastModified": 1752331782, + "narHash": "sha256-eRDO93C2dXNVoLbnNECWwGcMErDKVAXNWWy6hFMPoE8=", "owner": "determinatesystems", "repo": "determinate", - "rev": "e3f21c62aee2ccd25811be574c09e1de8a57a687", + "rev": "33ffc091037908049e9897dc8258efae81709cfd", "type": "github" }, "original": { @@ -94,37 +46,37 @@ "determinate-nixd-aarch64-darwin": { "flake": false, "locked": { - "narHash": "sha256-+O3K2pZRWkbL0DEh5HyV0+pyAkRmJ0z6NjYTvetrTtk=", + "narHash": "sha256-T/kTCi8rrh1r5XMGQBymB4Hnk/KNNGkgtgma6bXXKy0=", "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.7.0/macOS" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.2/macOS" }, "original": { "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.7.0/macOS" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.2/macOS" } }, "determinate-nixd-aarch64-linux": { "flake": false, "locked": { - "narHash": "sha256-r8BSSNXss3EoCUV4gYJwAS18OO7fceWXCL2SPLwls50=", + "narHash": "sha256-C+KvOykOIoXCWSsPBM2Hzy1skk2lgiKXQyb9fJdwSdQ=", "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.7.0/aarch64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.2/aarch64-linux" }, "original": { "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.7.0/aarch64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.2/aarch64-linux" } }, "determinate-nixd-x86_64-linux": { "flake": false, "locked": { - "narHash": "sha256-hSauxThw5pfDiiqdVeFv3QeL4e3DRI09hFYuGhTKQWU=", + "narHash": "sha256-cENobOVn0+FtON9bmr/QoUEpNGEyxW4YpFXkLyBTYDs=", "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.7.0/x86_64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.2/x86_64-linux" }, "original": { "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.7.0/x86_64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.2/x86_64-linux" } }, "flake-compat": { @@ -144,22 +96,6 @@ } }, "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { "flake": false, "locked": { "lastModified": 1747046372, @@ -175,22 +111,6 @@ "type": "github" } }, - "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -220,50 +140,11 @@ ] }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "schizofox", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1735774679, - "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "type": "github" }, "original": { @@ -299,28 +180,6 @@ } }, "gitignore": { - "inputs": { - "nixpkgs": [ - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_2": { "inputs": { "nixpkgs": [ "lanzaboote", @@ -342,317 +201,6 @@ "type": "github" } }, - "hercules-ci-effects": { - "inputs": { - "flake-parts": [ - "schizofox", - "nixpak", - "flake-parts" - ], - "nixpkgs": [ - "schizofox", - "nixpak", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733333617, - "narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "type": "github" - } - }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "schizofox", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1734344598, - "narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "83ecd50915a09dca928971139d3a102377a8d242", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "hyprcursor": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1749155331, - "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprcursor", - "type": "github" - } - }, - "hyprgraphics": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1751808145, - "narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=", - "owner": "hyprwm", - "repo": "hyprgraphics", - "rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprgraphics", - "type": "github" - } - }, - "hyprland": { - "inputs": { - "aquamarine": "aquamarine", - "hyprcursor": "hyprcursor", - "hyprgraphics": "hyprgraphics", - "hyprland-protocols": "hyprland-protocols", - "hyprland-qtutils": "hyprland-qtutils", - "hyprlang": "hyprlang", - "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": [ - "nixpkgs" - ], - "pre-commit-hooks": "pre-commit-hooks", - "systems": [ - "systems" - ], - "xdph": "xdph" - }, - "locked": { - "lastModified": 1751904574, - "narHash": "sha256-jXkava/9BRiY2JEVmB68mpkFd+JU3BnNbh2RtRBXfTA=", - "owner": "hyprwm", - "repo": "hyprland", - "rev": "bb958a9e139d6ae90d45fe360287d33e229f971e", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland", - "type": "github" - } - }, - "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1749046714, - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, - "hyprland-qt-support": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, - "locked": { - "lastModified": 1749154592, - "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "type": "github" - } - }, - "hyprland-qtutils": { - "inputs": { - "hyprland-qt-support": "hyprland-qt-support", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1750371812, - "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, - "hyprlang": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1750371198, - "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprutils": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1751888065, - "narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "a8229739cf36d159001cfc203871917b83fdf917", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1751881472, - "narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "type": "github" - } - }, "impermanence": { "locked": { "lastModified": 1737831083, @@ -671,7 +219,7 @@ "lanzaboote": { "inputs": { "crane": "crane", - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" @@ -680,11 +228,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1751381593, - "narHash": "sha256-js1XwtJpYhvQrrTaVzViybpztkHJVZ63aXOlFAcTENM=", + "lastModified": 1752673703, + "narHash": "sha256-9Cc0YqL9ZUpaybJsrRJfXex91QlPmQNqpTLgw/KvJGA=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "f4eb75540307c2b33521322c04b7fea74e48a66f", + "rev": "5a776450d904b7ccd377c2a759703152b2553e98", "type": "github" }, "original": { @@ -702,44 +250,18 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1751568315, - "narHash": "sha256-52rbPxatlf/8BA3plVc87W8kyXdBr6iab+nQHe4QeJg=", - "rev": "81672fee2a84385d052c20982307bbd86fd031c4", - "revCount": 21102, + "lastModified": 1752329813, + "narHash": "sha256-+PLMYzOLXmYtGUcUxIbJZpadAV/gO73EAhISc1kgvJM=", + "rev": "04045d5add7915ea9209a09833fae1aa3a3a9be1", + "revCount": 21488, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.7.0/0197d1ca-253f-75ae-9f36-38c46bd107f4/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.8.2/0197ff19-42da-7beb-b8cf-902b39687ccf/source.tar.gz" }, "original": { "type": "tarball", "url": "https://flakehub.com/f/DeterminateSystems/nix-src/%2A" } }, - "nixpak": { - "inputs": { - "flake-parts": [ - "schizofox", - "flake-parts" - ], - "hercules-ci-effects": "hercules-ci-effects", - "nixpkgs": [ - "schizofox", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733970147, - "narHash": "sha256-63SguTBGenmU4jx7j44PVXlZMsWsALjaNPpRg9xlljs=", - "owner": "nixpak", - "repo": "nixpak", - "rev": "fbbb572e595decf5e749d7fbeb27e1ff09484ff8", - "type": "github" - }, - "original": { - "owner": "nixpak", - "repo": "nixpak", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1747179050, @@ -770,18 +292,6 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1735774519, - "narHash": "sha256-CewEm1o2eVAnoqb6Ml+Qi9Gg/EfNAxbRx1lANGVyoLI=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" - } - }, "nixpkgs-regression": { "locked": { "lastModified": 1643052045, @@ -801,62 +311,23 @@ "nixpkgs_2": { "locked": { "lastModified": 315532800, - "narHash": "sha256-5EzvWAMTAf6m6Ynab7EnYz9OfJO2wHCb/yhtP8ACQQQ=", - "rev": "9b008d60392981ad674e04016d25619281550a9d", + "narHash": "sha256-X5WIcIkFxPhw7mS219TbEOgrugbMx/2cin09OlWobT8=", + "rev": "dab3a6e781554f965bde3def0aa2fda4eb8f1708", "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre826760.9b008d603929/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre830668.dab3a6e78155/nixexprs.tar.xz" }, "original": { "type": "tarball", "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" } }, - "nixpkgs_3": { - "locked": { - "lastModified": 1736429638, - "narHash": "sha256-dDWqQqSgMQXw5eFtcyoVijv7HbYJZOIo+jWQdJtsxn4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f81eabd5dd7c9213516fa2d3fc1d108a751340d4", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat_2", - "gitignore": "gitignore", - "nixpkgs": [ - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ "lanzaboote", "flake-compat" ], - "gitignore": "gitignore_2", + "gitignore": "gitignore", "nixpkgs": [ "lanzaboote", "nixpkgs" @@ -879,13 +350,11 @@ "root": { "inputs": { "determinate": "determinate", - "hyprland": "hyprland", "impermanence": "impermanence", "lanzaboote": "lanzaboote", "nixpkgs": "nixpkgs_2", "rust-overlay": "rust-overlay_2", - "schizofox": "schizofox", - "systems": "systems_2", + "systems": "systems", "watt": "watt" } }, @@ -897,11 +366,11 @@ ] }, "locked": { - "lastModified": 1751165203, - "narHash": "sha256-3QhlpAk2yn+ExwvRLtaixWsVW1q3OX3KXXe0l8VMLl4=", + "lastModified": 1751769931, + "narHash": "sha256-QR2Rp/41NkA5YxcpvZEKD1S2QE1Pb9U415aK8M/4tJc=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "90f547b90e73d3c6025e66c5b742d6db51c418c3", + "rev": "3ac4f630e375177ea8317e22f5c804156de177e8", "type": "github" }, "original": { @@ -917,11 +386,11 @@ ] }, "locked": { - "lastModified": 1751856221, - "narHash": "sha256-/QE1eV0ckFvgRMcKjZqgdJDoXFNwSMepwRoBjaw2MCk=", + "lastModified": 1752633862, + "narHash": "sha256-Bj7ozT1+5P7NmvDcuAXJvj56txcXuAhk3Vd9FdWFQzk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "34cae4b56929c5b340e1c5b10d9a98a425b2a51e", + "rev": "8668ca94858206ac3db0860a9dec471de0d995f8", "type": "github" }, "original": { @@ -930,53 +399,6 @@ "type": "github" } }, - "schizofox": { - "inputs": { - "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_3", - "home-manager": "home-manager", - "nixpak": "nixpak", - "nixpkgs": "nixpkgs_3", - "searx-randomizer": "searx-randomizer", - "systems": "systems" - }, - "locked": { - "lastModified": 1744892989, - "narHash": "sha256-SwJiKlZSYSQhXQR4xxaItURuD+NTRbUxtoLNQFzgvUI=", - "owner": "schizofox", - "repo": "schizofox", - "rev": "e2702bd7a09fc9d6089901adb4e7ae4a9aeef5ef", - "type": "github" - }, - "original": { - "owner": "schizofox", - "repo": "schizofox", - "type": "github" - } - }, - "searx-randomizer": { - "inputs": { - "crane": "crane_2", - "flake-parts": "flake-parts_4", - "nixpkgs": [ - "schizofox", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736054833, - "narHash": "sha256-fSvHee00LQpndvJ0N4ZahRuoAQd06g8ecdUzfNPLvLk=", - "owner": "schizofox", - "repo": "searx-randomizer", - "rev": "63d6fed21ae5a6608bac71665887a432781161c6", - "type": "github" - }, - "original": { - "owner": "schizofox", - "repo": "searx-randomizer", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1689347949, @@ -992,21 +414,6 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, "watt": { "inputs": { "nixpkgs": [ @@ -1026,47 +433,6 @@ "repo": "watt", "type": "github" } - }, - "xdph": { - "inputs": { - "hyprland-protocols": [ - "hyprland", - "hyprland-protocols" - ], - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1751300244, - "narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index a20d88f..064b3c7 100644 --- a/flake.nix +++ b/flake.nix @@ -48,8 +48,6 @@ impermanence.url = "github:nix-community/impermanence"; - schizofox.url = "github:schizofox/schizofox"; - watt = { url = "github:notashelf/watt"; inputs.nixpkgs.follows = "nixpkgs"; @@ -61,12 +59,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - hyprland = { - url = "github:hyprwm/hyprland"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.systems.follows = "systems"; - }; - # The things rust is making me do... rust-overlay = { url = "github:oxalica/rust-overlay"; diff --git a/hosts/default.nix b/hosts/default.nix index 001e1b0..da17b48 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -42,6 +42,10 @@ inputs: let map toString (listFilesRecursive ../modules) |> filter (hasSuffix "module.nix") ) + ( + map toString (listFilesRecursive ../modules) + |> filter (hasSuffix ".mod.nix") + ) ] |> flatten ) diff --git a/hosts/hermit/configuration.nix b/hosts/hermit/configuration.nix index a311672..fa00c43 100644 --- a/hosts/hermit/configuration.nix +++ b/hosts/hermit/configuration.nix @@ -16,10 +16,6 @@ }; programs = { nix-ld.enable = false; - zsh = { - enable = true; - enableBashCompletion = true; - }; gnupg.agent = { enable = true; pinentryPackage = pkgs.pinentry-qt; diff --git a/hosts/temperance/configuration.nix b/hosts/temperance/configuration.nix index 0856f5a..2e74e8a 100644 --- a/hosts/temperance/configuration.nix +++ b/hosts/temperance/configuration.nix @@ -3,24 +3,7 @@ lib, pkgs, ... -}: let - inherit - ( - pkgs.callPackage ./kernel/xanmod.nix { - inherit lib; - inherit - (pkgs) - stdenv - fetchFromGitHub - kernelPatches - buildLinux - variant - ; - } - ) - xanmod_blox - ; -in { +}: { # Time Zone time.timeZone = "Europe/Zurich"; # Select internationalisation properties. @@ -29,13 +12,18 @@ in { security.polkit.enable = true; # boot.kernelPackages = pkgs.linuxPackagesFor xanmod_blox; - boot.kernelPackages = pkgs.linuxPackages_xanmod_latest; + boot.kernelPackages = pkgs.linuxPackages_latest; programs.nix-ld.enable = true; services = { fstrim.enable = lib.mkDefault true; udisks2.enable = true; + system76-scheduler = { + enable = true; + }; + gnome.gnome-keyring.enable = true; }; - + security.pam.services.login.enableGnomeKeyring = true; + environment.systemPackages = [pkgs.seahorse]; meta = { mainUser.gitSigningKey = ""; }; @@ -63,7 +51,6 @@ in { }; }; desktops.niri.enable = true; - desktops.hyprland.enable = true; theming = { gtk.enable = true; @@ -79,8 +66,8 @@ in { enable = true; musicDirectory = "/home/${config.modules.other.system.username}/cloud/media/Music"; }; - uwsm.enable = true; - greetd.enable = true; + # uwsm.enable = true; + # greetd.enable = true; }; other = { system = { diff --git a/hosts/temperance/programs.nix b/hosts/temperance/programs.nix index c8b5800..2ba5492 100644 --- a/hosts/temperance/programs.nix +++ b/hosts/temperance/programs.nix @@ -6,10 +6,13 @@ anki asciinema beets + bitwarden-cli + bitwarden-desktop bubblewrap cachix calc calibre + carapace comma digikam difftastic @@ -37,6 +40,7 @@ librewolf libtool logiops + mergiraf mpv nautilus nicotine-plus @@ -58,15 +62,17 @@ ruby_3_2 signal-desktop spotify - strawberry + starship telegram-desktop texliveFull thunderbird + topiary tor-browser trash-cli tutanota-desktop typst vesktop + vivid walker wayneko wireguard-tools @@ -76,6 +82,13 @@ zathura zotero zoxide + # coreutils-full # All of the GNU coreutils + curl # I sometimes need to curl stuff + git # take a guess + wget + unzip # zipping and unzipping stuff + zip + util-linux ; inherit (pkgs.wineWowPackages) diff --git a/modules/options/system/monitors.nix b/modules/options/system/monitors.mod.nix similarity index 100% rename from modules/options/system/monitors.nix rename to modules/options/system/monitors.mod.nix diff --git a/modules/options/system/networking/default.nix b/modules/options/system/networking/default.nix deleted file mode 100644 index 68fa733..0000000 --- a/modules/options/system/networking/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{lib, ...}: let - inherit (lib.options) mkEnableOption; -in { - options.modules.system.networking = { - nftbles.enable = mkEnableOption "Nftables firewall"; - }; -} diff --git a/modules/options/system/module.nix b/modules/options/system/options.mod.nix similarity index 84% rename from modules/options/system/module.nix rename to modules/options/system/options.mod.nix index 3c5f9fd..cd77ba7 100644 --- a/modules/options/system/module.nix +++ b/modules/options/system/options.mod.nix @@ -5,35 +5,11 @@ }: let inherit (builtins) elemAt; inherit (lib.options) mkOption mkEnableOption; - inherit (lib.types) enum listOf str nullOr bool oneOf; + inherit (lib.types) enum listOf str nullOr bool; inherit (lib.lists) elem; inherit (config.modules.system) systemType; in { - imports = [ - # configuration options for nixos activation scripts - # ./activation.nix - - # boot/impermanence mounts - # ./boot.nix - # ./impermanence.nix - - # network and overall hardening - ./networking - # ./security.nix - # ./encryption.nix - - # filesystems - # ./fs.nix - - # package and program related options - # ./services - ./programs - - # monitor configuration - ./monitors.nix - ]; - options.modules.system = { mainUser = mkOption { type = enum config.modules.system.users; diff --git a/modules/options/system/programs/default.nix b/modules/options/system/programs.mod.nix similarity index 100% rename from modules/options/system/programs/default.nix rename to modules/options/system/programs.mod.nix diff --git a/modules/other/git.nix b/modules/other/git.mod.nix similarity index 100% rename from modules/other/git.nix rename to modules/other/git.mod.nix diff --git a/modules/other/module.nix b/modules/other/module.nix deleted file mode 100644 index 6ddf05f..0000000 --- a/modules/other/module.nix +++ /dev/null @@ -1,8 +0,0 @@ -_: { - imports = [ - ./system.nix - ./xdg.nix - ./git.nix - ./users.nix - ]; -} diff --git a/modules/other/system.nix b/modules/other/system.mod.nix similarity index 100% rename from modules/other/system.nix rename to modules/other/system.mod.nix diff --git a/modules/other/users.nix b/modules/other/users.mod.nix similarity index 96% rename from modules/other/users.nix rename to modules/other/users.mod.nix index fc57ad3..344a3e2 100644 --- a/modules/other/users.nix +++ b/modules/other/users.mod.nix @@ -55,10 +55,6 @@ in { }; }; config = { - programs.zsh = { - enable = true; - enableBashCompletion = true; - }; users = { mutableUsers = true; users = { diff --git a/modules/other/xdg.nix b/modules/other/xdg.mod.nix similarity index 100% rename from modules/other/xdg.nix rename to modules/other/xdg.mod.nix diff --git a/modules/packages/hardware.nix b/modules/packages/hardware.nix deleted file mode 100644 index cbaa95b..0000000 --- a/modules/packages/hardware.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { -} diff --git a/modules/packages/module.nix b/modules/packages/module.nix deleted file mode 100644 index 70b56b6..0000000 --- a/modules/packages/module.nix +++ /dev/null @@ -1,22 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./hardware.nix - ./wayland.nix - # ./media.nix - ]; - # These are some standard packages I want to have installed on every system, regardless of type or use case. - environment.systemPackages = builtins.attrValues { - inherit - (pkgs) - calc # Calculator device - # coreutils-full # All of the GNU coreutils - curl # I sometimes need to curl stuff - git # take a guess - inetutils # internet stuff I need/want on every system. - wget - unzip # zipping and unzipping stuff - zip - util-linux - ; - }; -} diff --git a/modules/packages/wayland.nix b/modules/packages/wayland.nix deleted file mode 100644 index eb0e2c3..0000000 --- a/modules/packages/wayland.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { - # These are packages I only need in wayland environments, nowhere else. - environment.systemPackages = builtins.attrValues { - inherit - (pkgs) - wl-clipboard - grimblast - ; - }; -} diff --git a/modules/programs/cli/jj/module.nix b/modules/programs/cli/jj.mod.nix similarity index 100% rename from modules/programs/cli/jj/module.nix rename to modules/programs/cli/jj.mod.nix diff --git a/modules/programs/cli/module.nix b/modules/programs/cli/module.nix deleted file mode 100644 index a987192..0000000 --- a/modules/programs/cli/module.nix +++ /dev/null @@ -1,6 +0,0 @@ -_: { - imports = [ - ./nh.nix - # ./beets.nix - ]; -} diff --git a/modules/programs/cli/nh.nix b/modules/programs/cli/nh.mod.nix similarity index 100% rename from modules/programs/cli/nh.nix rename to modules/programs/cli/nh.mod.nix diff --git a/modules/programs/cli/zodide.mod.nix b/modules/programs/cli/zodide.mod.nix new file mode 100644 index 0000000..08675c8 --- /dev/null +++ b/modules/programs/cli/zodide.mod.nix @@ -0,0 +1,7 @@ +_: { + programs.zoxide = { + enable = true; + enableFishIntegration = true; + enableBashIntegration = true; + }; +} diff --git a/modules/programs/gui/brave/module.nix b/modules/programs/gui/brave.mod.nix similarity index 98% rename from modules/programs/gui/brave/module.nix rename to modules/programs/gui/brave.mod.nix index ff442a4..3e6592d 100644 --- a/modules/programs/gui/brave/module.nix +++ b/modules/programs/gui/brave.mod.nix @@ -20,7 +20,7 @@ "--use-angle=vulkan" ]; brave-wrapped = pkgs.symlinkJoin { - name = "fish"; + name = "brave"; paths = [ ( pkgs.brave.override {vulkanSupport = true;} @@ -201,7 +201,9 @@ in { # NoScript "doojmbjmlfjjnbmnoijecmcbfeoakpjm" # KeePassXC-Browser - "oboonakemofpalcgghocfoadofidjkkk" + # "oboonakemofpalcgghocfoadofidjkkk" + # Bitwarden Password Manager + "nngceckbapebfimnlniiiahkandclblb" # Catppuccin Mocha "bkkmolkhemgaeaeggcmfbghljjjoofoh" # Dark Reader diff --git a/modules/programs/gui/foot.nix b/modules/programs/gui/foot.mod.nix similarity index 100% rename from modules/programs/gui/foot.nix rename to modules/programs/gui/foot.mod.nix diff --git a/modules/programs/gui/fuzzel/module.nix b/modules/programs/gui/fuzzel/module.nix deleted file mode 100644 index 0eb6402..0000000 --- a/modules/programs/gui/fuzzel/module.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { - environment.systemPackages = builtins.attrValues { - inherit (pkgs) fuzzel; - }; -} diff --git a/modules/programs/gui/ghostty/module.nix b/modules/programs/gui/ghostty.mod.nix similarity index 80% rename from modules/programs/gui/ghostty/module.nix rename to modules/programs/gui/ghostty.mod.nix index 47c74ca..19e702b 100644 --- a/modules/programs/gui/ghostty/module.nix +++ b/modules/programs/gui/ghostty.mod.nix @@ -20,55 +20,44 @@ else "none"; ghostty-settings = { - font-family = "JetBrainsMonoNerdFont"; - font-family-bold = "JetBrainsMonoNerdFontBold"; - font-family-italic = "JetBrainsMonoNerdFontItalic"; - font-family-bold-italic = "JetBrainsMonoNerdFontBoldItalic"; font-size = 14; + font-family = "JetBrainsMonoNerdFont"; + # font-style-bold = JetBrainsMono NF Regular; + # font-style-bold-italic = JetBrainsMono NF Italic; - window-padding-x = 8; - window-padding-y = 8; - background-opacity = 0.85; + app-notifications = "no-clipboard-copy"; + background-opacity = 0.75; + bold-is-bright = "true"; + confirm-close-surface = "false"; + cursor-style-blink = "false"; gtk-single-instance = "true"; gtk-tabs-location = "bottom"; gtk-wide-tabs = false; - window-padding-balance = true; - window-decoration = "none"; - theme = slug; - resize-overlay-duration = "0s"; - cursor-style-blink = "false"; - confirm-close-surface = "false"; mouse-hide-while-typing = "true"; - - window-theme = "ghostty"; - bold-is-bright = "true"; - term = "xterm-256color"; - - app-notifications = "no-clipboard-copy"; + resize-overlay-duration = "0s"; shell-integration-features = "cursor,sudo,no-title"; - # window-padding-y = 10; + term = "xterm-256color"; + theme = slug; + window-decoration = "none"; + window-padding-balance = true; + window-padding-x = 8; + window-padding-y = 8; + window-theme = "ghostty"; cursor-style = "block"; # Whether to automatically copy selected text to the clipboard. true will prefer to copy to the selection clipboard, otherwise it will copy to the system clipboard. # The value clipboard will always copy text to the selection clipboard as well as the system clipboard. copy-on-select = "clipboard"; - inherit shell-integration; + command = getExe package; }; settingsFile = pkgs.writeText "config" <| concatStringsSep "\n" <| mapAttrsToList (name: value: "${name} = ${toString value}") ghostty-settings; - ghostty = pkgs.ghostty.overrideAttrs (_: { - preBuild = '' - shopt -s globstar - sed -i 's/^const xev = @import("xev");$/const xev = @import("xev").Epoll;/' **/*.zig - shopt -u globstar - ''; - }); ghostty-wrapped = pkgs.symlinkJoin { name = "ghostty-wrapped"; - paths = [ghostty]; + paths = [pkgs.ghostty]; nativeBuildInputs = [pkgs.makeWrapper]; postBuild = '' wrapProgram $out/bin/ghostty --add-flags "--config-file=${settingsFile}" diff --git a/modules/programs/gui/module.nix b/modules/programs/gui/module.nix deleted file mode 100644 index 4a53a47..0000000 --- a/modules/programs/gui/module.nix +++ /dev/null @@ -1,9 +0,0 @@ -_: { - imports = [ - ./foot.nix - ./steam.nix - # ./schizofox.nix - ./minecraft.nix - ./miniflux.nix - ]; -} diff --git a/modules/programs/gui/schizofox/module.nix b/modules/programs/gui/schizofox/module.nix deleted file mode 100644 index 181b896..0000000 --- a/modules/programs/gui/schizofox/module.nix +++ /dev/null @@ -1,117 +0,0 @@ -{ - config, - inputs, - lib, - ... -}: let - inherit (lib.modules) mkIf; - inherit (lib.options) mkEnableOption; - inherit (builtins) listToAttrs; - - cfg = config.modules.programs.schizofox; -in { - options.modules.programs.schizofox.enable = mkEnableOption "Schizofox browser"; - imports = [ - inputs.schizofox.nixosModules.default - ]; - - config = mkIf cfg.enable { - programs.schizofox = { - enable = true; - theme = { - font = "Lexend"; - colors = { - background-darker = "181825"; - background = "1e1e2e"; - foreground = "cdd6f4"; - }; - }; - - security = { - sanitizeOnShutdown.enable = true; - sandbox.enable = true; - noSessionRestore = true; - userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0"; - }; - - misc = { - drm.enable = true; - disableWebgl = false; - bookmarks = [ - { - Title = "Noogle"; - URL = "https://noogle.dev"; - Placement = "toolbar"; - } - { - Title = "Nixpkgs Manual"; - URL = "https://nixos.org/manual/nixpkgs/stable"; - Placement = "toolbar"; - } - ]; - }; - - extensions = { - simplefox.enable = true; - darkreader.enable = true; - - enableDefaultExtensions = true; - enableExtraExtensions = true; - extraExtensions = let - extensions = [ - { - id = "{c2c003ee-bd69-42a2-b0e9-6f34222cb046}"; - name = "auto-tab-discard"; - } - { - id = "{a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad}"; - name = "refined-github-"; - } - { - id = "sponsorBlocker@ajay.app"; - name = "sponsorblock"; - } - { - id = "{446900e4-71c2-419f-a6a7-df9c091e268b}"; - name = "bitwarden-password-manager"; - } - { - id = "{74145f27-f039-47ce-a470-a662b129930a}"; - name = "clearurls"; - } - { - id = "{b86e4813-687a-43e6-ab65-0bde4ab75758}"; - name = "localcdn-fork-of-decentraleyes"; - } - { - id = "smart-referer@meh.paranoid.pk"; - name = "smart-referer"; - } - { - id = "skipredirect@sblask"; - name = "skip-redirect"; - } - { - id = "7esoorv3@alefvanoon.anonaddy.me"; - name = "libredirect"; - } - { - id = "DontFuckWithPaste@raim.ist"; - name = "dont-fuck-with-paste"; - } - ]; - - mappedExtensions = - map (extension: { - name = extension.id; - value = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/${extension.name}/latest.xpi"; - }; - }) - extensions; - in - listToAttrs mappedExtensions; - }; - }; - }; -} diff --git a/modules/programs/gui/steam.nix b/modules/programs/gui/steam.mod.nix similarity index 100% rename from modules/programs/gui/steam.nix rename to modules/programs/gui/steam.mod.nix diff --git a/modules/programs/gui/thunar/module.nix b/modules/programs/gui/thunar.mod.nix similarity index 100% rename from modules/programs/gui/thunar/module.nix rename to modules/programs/gui/thunar.mod.nix diff --git a/modules/programs/other/direnv.nix b/modules/programs/other/direnv.mod.nix similarity index 79% rename from modules/programs/other/direnv.nix rename to modules/programs/other/direnv.mod.nix index 3698c77..90f6098 100644 --- a/modules/programs/other/direnv.nix +++ b/modules/programs/other/direnv.mod.nix @@ -10,8 +10,8 @@ # We want direnv to load in our nix dev shells loadInNixShell = true; - enableBashIntegration = true; - enableFishIntegration = true; + enableBashIntegration = false; + enableFishIntegration = false; }; }; } diff --git a/modules/programs/other/module.nix b/modules/programs/other/module.nix deleted file mode 100644 index 5be7857..0000000 --- a/modules/programs/other/module.nix +++ /dev/null @@ -1,3 +0,0 @@ -_: { - imports = [./direnv.nix ./nix-index.nix]; -} diff --git a/modules/programs/other/nix-index.nix b/modules/programs/other/nix-index.mod.nix similarity index 100% rename from modules/programs/other/nix-index.nix rename to modules/programs/other/nix-index.mod.nix diff --git a/modules/programs/tui/btop.nix b/modules/programs/tui/btop.mod.nix similarity index 100% rename from modules/programs/tui/btop.nix rename to modules/programs/tui/btop.mod.nix diff --git a/modules/programs/tui/module.nix b/modules/programs/tui/module.nix deleted file mode 100644 index 5a5a318..0000000 --- a/modules/programs/tui/module.nix +++ /dev/null @@ -1,3 +0,0 @@ -_: { - imports = [./btop.nix]; -} diff --git a/modules/programs/tui/zellij/zellij-good-scrolling.patch b/modules/programs/tui/zellij/zellij-good-scrolling.patch deleted file mode 100644 index c7ba14d..0000000 --- a/modules/programs/tui/zellij/zellij-good-scrolling.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/zellij-server/src/panes/grid.rs -+++ b/zellij-server/src/panes/grid.rs -@@ -271,7 +271,7 @@ fn subtract_isize_from_usize(u: usize, i: isize) -> usize { - macro_rules! dump_screen { - ($lines:expr) => {{ - let mut is_first = true; -- let mut buf = "".to_owned(); -+ let mut buf = String::with_capacity($lines.iter().map(|l| l.len()).sum()); - - for line in &$lines { - if line.is_canonical && !is_first { -@@ -280,8 +280,7 @@ macro_rules! dump_screen { - let s: String = (&line.columns).into_iter().map(|x| x.character).collect(); - // Replace the spaces at the end of the line. Sometimes, the lines are - // collected with spaces until the end of the panel. -- let re = Regex::new("([^ ])[ ]*$").unwrap(); -- buf.push_str(&(re.replace(&s, "${1}"))); -+ buf.push_str(&s.trim_end_matches(' ')); - is_first = false; - } - buf - diff --git a/modules/programs/tui/zellij/module.nix b/modules/programs/tui/zellij/zellij.mod.nix similarity index 100% rename from modules/programs/tui/zellij/module.nix rename to modules/programs/tui/zellij/zellij.mod.nix diff --git a/modules/services/acme/module.nix b/modules/services/acme.mod.nix similarity index 100% rename from modules/services/acme/module.nix rename to modules/services/acme.mod.nix diff --git a/modules/services/greetd/module.nix b/modules/services/greetd.mod.nix similarity index 100% rename from modules/services/greetd/module.nix rename to modules/services/greetd.mod.nix diff --git a/modules/services/locate/module.nix b/modules/services/locate.mod.nix similarity index 100% rename from modules/services/locate/module.nix rename to modules/services/locate.mod.nix diff --git a/modules/services/mako/module.nix b/modules/services/mako.mod.nix similarity index 100% rename from modules/services/mako/module.nix rename to modules/services/mako.mod.nix diff --git a/modules/services/mpd/module.nix b/modules/services/mpd.mod.nix similarity index 100% rename from modules/services/mpd/module.nix rename to modules/services/mpd.mod.nix diff --git a/modules/services/nginx/module.nix b/modules/services/nginx.mod.nix similarity index 100% rename from modules/services/nginx/module.nix rename to modules/services/nginx.mod.nix diff --git a/modules/services/owncloud/module.nix b/modules/services/owncloud.mod.nix similarity index 59% rename from modules/services/owncloud/module.nix rename to modules/services/owncloud.mod.nix index 0239704..7e1ec97 100644 --- a/modules/services/owncloud/module.nix +++ b/modules/services/owncloud.mod.nix @@ -26,23 +26,6 @@ in { ExecStart = "${getExe' pkgs.owncloud-client "owncloud"}"; Restart = "always"; RestartSec = 30; - - # User = "cr"; - # Group = "cr"; - - # Keyringmode = "shared"; - # DevicePolicy = "closed"; - # PrivateDevices = true; - # PrivateTmp = true; - # ProtectClock = true; - # ProtectControlGroups = true; - # ProtectControlGroup = true; - # ProtectKernelLogs = true; - # ProtectKernelModules = true; - # ProtectKernelTunables = true; - - # ProtectSystem = "strict"; - # SystemCallFilter = "~@clock @cpu-emulation @debug @obsolete @module @mount @raw-io @reboot @swap @privileged"; }; }; }; diff --git a/modules/services/pipewire/module.nix b/modules/services/pipewire.mod.nix similarity index 100% rename from modules/services/pipewire/module.nix rename to modules/services/pipewire.mod.nix diff --git a/modules/services/plausible/module.nix b/modules/services/plausible/module.nix deleted file mode 100644 index fa1d2e9..0000000 --- a/modules/services/plausible/module.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - inherit (lib.modules) mkIf; - inherit (lib.options) mkEnableOption; - cfg = config.modules.system.services.plausible; - - port = 4030; - domain = "analytics.copeberg.org"; -in { - options.modules.system.services.plausible.enable = mkEnableOption "Plausible, an analytics service"; - config = mkIf cfg.enable { - services.plausible = { - enable = true; - server = { - baseUrl = "http://${domain}"; - secretKeybaseFile = "/run/secrets/plausible-secret-key-base"; - disableRegistration = false; - }; - database.postgres = { - dbname = "plausible"; - }; - }; - - services.nginx = { - enable = true; - virtualHosts.${domain} = { - addSSL = true; - enableACME = true; - locations."/" = { - proxyPass = "http://localhost:${toString port}"; - }; - }; - }; - }; -} diff --git a/modules/services/postgresql/module.nix b/modules/services/postgresql.mod.nix similarity index 100% rename from modules/services/postgresql/module.nix rename to modules/services/postgresql.mod.nix diff --git a/modules/services/printing/module.nix b/modules/services/printing.mod.nix similarity index 100% rename from modules/services/printing/module.nix rename to modules/services/printing.mod.nix diff --git a/modules/services/searxng/module.nix b/modules/services/searxng/module.nix deleted file mode 100644 index bfc0e5d..0000000 --- a/modules/services/searxng/module.nix +++ /dev/null @@ -1,119 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - inherit (lib.options) mkEnableOption; - inherit (lib.modules) mkIf; - inherit (builtins) toString; - cfg = config.modules.services.searxng; - port = 4021; -in { - options.modules.services.searxng.enable = mkEnableOption "SearXNG, a private search engine"; - - config = mkIf cfg.enable { - networking.firewall.allowedTCPPorts = [port]; - - services = { - nginx.enable = true; - searx = { - enable = true; - package = pkgs.searxng; - environmentFile = "/srv/data/searxng/super_secret_file"; - settings = { - general = { - name = "Copesearch"; - privacypolicy_url = false; - debug = false; - enable_metrics = false; - }; - - search = { - safe_search = 1; - - formats = ["html" "json" "rss"]; - autocomplete = "google"; # "dbpedia", "duckduckgo", "google", "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off by default - default_lang = "en"; - }; - - ui = { - query_in_title = true; - theme_args.simple_style = "dark"; # auto, dark, light - results_on_new_tab = false; - }; - - server = { - inherit port; - limiter = false; - image_proxy = false; - - # taken from https://github.com/searx/searx/issues/715 - default_http_headers = { - X-Content-Type-Options = "nosniff"; - X-XSS-Protection = "1; mode=block"; - X-Download-Options = "noopen"; - X-Robots-Tag = "noindex, nofollow"; - Referrer-Policy = "no-referrer"; - }; - }; - - # shamelessly stolen from NotAShelf - engines = [ - { - name = "wikipedia"; - engine = "wikipedia"; - shortcut = "w"; - base_url = "https://wikipedia.org/"; - } - { - name = "duckduckgo"; - engine = "duckduckgo"; - shortcut = "ddg"; - } - { - name = "google"; - engine = "google"; - shortcut = "g"; - use_mobile_ui = false; - } - { - name = "archwiki"; - engine = "archlinux"; - shortcut = "aw"; - } - { - name = "github"; - engine = "github"; - categories = "it"; - shortcut = "gh"; - } - { - name = "nixpkgs"; - shortcut = "nx"; - engine = "elasticsearch"; - categories = "dev,nix"; - base_url = "https://nixos-search-5886075189.us-east-1.bonsaisearch.net:443"; - index = "latest-31-nixos-unstable"; - query_type = "match"; - } - ]; - }; - }; - nginx.virtualHosts."search.copeberg.org" = { - locations."/".proxyPass = "http://127.0.0.1:${toString port}"; - extraConfig = '' - access_log /dev/null; - error_log /dev/null; - proxy_connect_timeout 60s; - proxy_send_timeout 60s; - proxy_read_timeout 60s; - ''; - - quic = true; - forceSSL = true; - enableACME = true; - }; - }; - }; -} diff --git a/modules/services/spotifyd.mod.nix b/modules/services/spotifyd.mod.nix new file mode 100644 index 0000000..396582f --- /dev/null +++ b/modules/services/spotifyd.mod.nix @@ -0,0 +1,17 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (config.modules.system) isGraphical; +in { + # TODO: setup + services.spotifyd = mkIf isGraphical { + enable = true; + settings = { + }; + config = { + }; + }; +} diff --git a/modules/services/ssh/module.nix b/modules/services/ssh.mod.nix similarity index 100% rename from modules/services/ssh/module.nix rename to modules/services/ssh.mod.nix diff --git a/modules/services/stalwart/module.nix b/modules/services/stalwart.mod.nix similarity index 100% rename from modules/services/stalwart/module.nix rename to modules/services/stalwart.mod.nix diff --git a/modules/services/usbguard/module.nix b/modules/services/usbguard.mod.nix similarity index 100% rename from modules/services/usbguard/module.nix rename to modules/services/usbguard.mod.nix diff --git a/modules/services/uwsm/module.nix b/modules/services/uwsm.mod.nix similarity index 100% rename from modules/services/uwsm/module.nix rename to modules/services/uwsm.mod.nix diff --git a/modules/services/wayneko/module.nix b/modules/services/wayneko.mod.nix similarity index 100% rename from modules/services/wayneko/module.nix rename to modules/services/wayneko.mod.nix diff --git a/modules/style/colors.nix b/modules/style/colors.mod.nix similarity index 100% rename from modules/style/colors.nix rename to modules/style/colors.mod.nix diff --git a/modules/style/fonts.nix b/modules/style/fonts.mod.nix similarity index 98% rename from modules/style/fonts.nix rename to modules/style/fonts.mod.nix index bcf8c43..1e9ba57 100644 --- a/modules/style/fonts.nix +++ b/modules/style/fonts.mod.nix @@ -96,7 +96,7 @@ in { symbols-only ; - inherit fancy-iosevka; + # inherit fancy-iosevka; }; fontDir = { # Whether to create a directory with links to all fonts in diff --git a/modules/style/gtk.nix b/modules/style/gtk.mod.nix similarity index 100% rename from modules/style/gtk.nix rename to modules/style/gtk.mod.nix diff --git a/modules/style/module.nix b/modules/style/module.nix deleted file mode 100644 index 4bf0376..0000000 --- a/modules/style/module.nix +++ /dev/null @@ -1,7 +0,0 @@ -_: { - imports = [ - ./colors.nix - ./fonts.nix - ./gtk.nix - ]; -} diff --git a/modules/style/qt.nix b/modules/style/qt.mod.nix similarity index 100% rename from modules/style/qt.nix rename to modules/style/qt.mod.nix diff --git a/modules/style/quickshell/module.nix b/modules/style/quickshell/quickshell.mod.nix similarity index 100% rename from modules/style/quickshell/module.nix rename to modules/style/quickshell/quickshell.mod.nix diff --git a/modules/style/quickshell/shell/config/Config.qml b/modules/style/quickshell/shell/config/Config.qml index 28994a9..7b4c1b5 100644 --- a/modules/style/quickshell/shell/config/Config.qml +++ b/modules/style/quickshell/shell/config/Config.qml @@ -20,9 +20,9 @@ Singleton { } readonly property QtObject border: QtObject { - readonly property int thickness: 8 + readonly property int thickness: 0 readonly property color color: "#1e1e2e" - readonly property int rounding: 25 + readonly property int rounding: 0 } readonly property QtObject catppuccin: QtObject { diff --git a/modules/style/quickshell/shell/modules/BackgroundImage.qml b/modules/style/quickshell/shell/modules/BackgroundImage.qml new file mode 100644 index 0000000..9ade40c --- /dev/null +++ b/modules/style/quickshell/shell/modules/BackgroundImage.qml @@ -0,0 +1,28 @@ +import QtQuick +import Quickshell +import Quickshell.Wayland + +PanelWindow { + id: root + + exclusionMode: ExclusionMode.Ignore + WlrLayershell.layer: WlrLayer.Background + WlrLayershell.namespace: "shell:background" + + anchors { + top: true + bottom: true + left: true + right: true + } + + Item { + id: background + anchors.fill: parent + Image { + id: image + asynchronous: true + source: "../../../wholefoods.png" + } + } +} diff --git a/modules/style/quickshell/shell/modules/drawers/Drawers.qml b/modules/style/quickshell/shell/modules/drawers/Drawers.qml index 4a53f95..2c6e920 100644 --- a/modules/style/quickshell/shell/modules/drawers/Drawers.qml +++ b/modules/style/quickshell/shell/modules/drawers/Drawers.qml @@ -2,16 +2,13 @@ pragma ComponentBehavior: Bound import Quickshell import Quickshell.Wayland -import Quickshell.Services.Notifications import QtQuick import QtQuick.Effects import "../bar" -import "../volume" -import "../notifications" -import "../../services" import "../../config" +import "../" Variants { model: Quickshell.screens @@ -49,10 +46,10 @@ Variants { // Setting the intersection mode to Xor will invert the mask and make everything in the mask region not clickable and pass through clicks inside it through the window. intersection: Intersection.Xor - Region { - item: volume - intersection: Intersection.Subtract - } + // Region { + // item: volume + // intersection: Intersection.Subtract + // } } anchors { @@ -88,17 +85,16 @@ Variants { id: bar screen: scope.modelData } + } + BackgroundImage { + id: backgroundimage + screen: scope.modelData + } + BackgroundImage { + id: background_overview + screen: scope.modelData - // VolumeSlider { - // id: volume - // screen: scope.modelData - // } - - // Hover { - // id: hover - // screen: scope.modelData - // bar: bar - // } + WlrLayershell.namespace: "shell:background-overview" } } } diff --git a/modules/style/wholefoods.png b/modules/style/wholefoods.png index 2c22f75..865da3d 100644 Binary files a/modules/style/wholefoods.png and b/modules/style/wholefoods.png differ diff --git a/modules/system/boot/module.nix b/modules/system/boot/boot.mod.nix similarity index 100% rename from modules/system/boot/module.nix rename to modules/system/boot/boot.mod.nix diff --git a/modules/system/boot/lanzaboote/module.nix b/modules/system/boot/lanzaboote.mod.nix similarity index 100% rename from modules/system/boot/lanzaboote/module.nix rename to modules/system/boot/lanzaboote.mod.nix diff --git a/modules/system/hardware/bluetooth.nix b/modules/system/hardware/bluetooth.mod.nix similarity index 100% rename from modules/system/hardware/bluetooth.nix rename to modules/system/hardware/bluetooth.mod.nix diff --git a/modules/system/hardware/cpu/module.nix b/modules/system/hardware/cpu/module.nix deleted file mode 100644 index 9b5284e..0000000 --- a/modules/system/hardware/cpu/module.nix +++ /dev/null @@ -1,3 +0,0 @@ -_: { - imports = [./intel.nix]; -} diff --git a/modules/system/hardware/graphics.nix b/modules/system/hardware/graphics.mod.nix similarity index 100% rename from modules/system/hardware/graphics.nix rename to modules/system/hardware/graphics.mod.nix diff --git a/modules/system/hardware/cpu/intel.nix b/modules/system/hardware/intel.mod.nix similarity index 100% rename from modules/system/hardware/cpu/intel.nix rename to modules/system/hardware/intel.mod.nix diff --git a/modules/system/hardware/irqbalance.mod.nix b/modules/system/hardware/irqbalance.mod.nix new file mode 100644 index 0000000..56f3198 --- /dev/null +++ b/modules/system/hardware/irqbalance.mod.nix @@ -0,0 +1,3 @@ +_: { + services.irqbalance.enable = true; +} diff --git a/modules/system/hardware/keyboard/default.nix b/modules/system/hardware/keyboard.mod.nix similarity index 100% rename from modules/system/hardware/keyboard/default.nix rename to modules/system/hardware/keyboard.mod.nix diff --git a/modules/system/hardware/module.nix b/modules/system/hardware/module.nix deleted file mode 100644 index 0e50590..0000000 --- a/modules/system/hardware/module.nix +++ /dev/null @@ -1,10 +0,0 @@ -_: { - imports = [ - ./bluetooth.nix - ./keyboard - ./graphics.nix - ./power.nix - ]; - - services.irqbalance.enable = true; -} diff --git a/modules/system/hardware/sound/pipewire/module.nix b/modules/system/hardware/pipewire.mod.nix similarity index 100% rename from modules/system/hardware/sound/pipewire/module.nix rename to modules/system/hardware/pipewire.mod.nix diff --git a/modules/system/hardware/power.nix b/modules/system/hardware/power.mod.nix similarity index 100% rename from modules/system/hardware/power.nix rename to modules/system/hardware/power.mod.nix diff --git a/modules/system/hardware/ram/module.nix b/modules/system/hardware/ram.mod.nix similarity index 100% rename from modules/system/hardware/ram/module.nix rename to modules/system/hardware/ram.mod.nix diff --git a/modules/system/module.nix b/modules/system/module.nix deleted file mode 100644 index d2ba40a..0000000 --- a/modules/system/module.nix +++ /dev/null @@ -1,14 +0,0 @@ -{config, ...}: let - machine-id = builtins.substring 0 23 (builtins.hashString "sha256" config.networking.hostName); -in { - system = { - # faster rebuilds - # switch = { - # enable = false; - # }; - - # My state version. - stateVersion = "23.11"; - }; - environment.etc."machine-id".text = "${machine-id}\n"; -} diff --git a/modules/system/nix/documentation.nix b/modules/system/nix/documentation.mod.nix similarity index 100% rename from modules/system/nix/documentation.nix rename to modules/system/nix/documentation.mod.nix diff --git a/modules/system/nix/module.nix b/modules/system/nix/nix.mod.nix similarity index 98% rename from modules/system/nix/module.nix rename to modules/system/nix/nix.mod.nix index 7c639af..20a9561 100644 --- a/modules/system/nix/module.nix +++ b/modules/system/nix/nix.mod.nix @@ -10,8 +10,6 @@ inherit (lib.modules) mkForce; in { imports = [ - ./documentation.nix # nixos documentation - ./nixpkgs.nix # global nixpkgs configuration inputs.determinate.nixosModules.default ]; diff --git a/modules/system/nix/nixpkgs.nix b/modules/system/nix/nixpkgs.mod.nix similarity index 100% rename from modules/system/nix/nixpkgs.nix rename to modules/system/nix/nixpkgs.mod.nix diff --git a/modules/system/os/impermanence/module.nix b/modules/system/os/impermanence.mod.nix similarity index 100% rename from modules/system/os/impermanence/module.nix rename to modules/system/os/impermanence.mod.nix diff --git a/modules/system/os/networking/dns.nix b/modules/system/os/networking/dns.mod.nix similarity index 100% rename from modules/system/os/networking/dns.nix rename to modules/system/os/networking/dns.mod.nix diff --git a/modules/system/os/networking/firewall.nix b/modules/system/os/networking/firewall.mod.nix similarity index 100% rename from modules/system/os/networking/firewall.nix rename to modules/system/os/networking/firewall.mod.nix diff --git a/modules/system/os/networking/module.nix b/modules/system/os/networking/networking.mod.nix similarity index 92% rename from modules/system/os/networking/module.nix rename to modules/system/os/networking/networking.mod.nix index 00f6b6f..ee58659 100644 --- a/modules/system/os/networking/module.nix +++ b/modules/system/os/networking/networking.mod.nix @@ -1,11 +1,6 @@ {config, ...}: let inherit (config.modules.other.system) username; in { - imports = [ - ./networkmanager.nix - ./dns.nix - ./firewall.nix - ]; networking = { enableIPv6 = true; diff --git a/modules/system/os/networking/networkmanager.nix b/modules/system/os/networking/networkmanager.mod.nix similarity index 100% rename from modules/system/os/networking/networkmanager.nix rename to modules/system/os/networking/networkmanager.mod.nix diff --git a/modules/system/os/security/module.nix b/modules/system/os/security/security.mod.nix similarity index 87% rename from modules/system/os/security/module.nix rename to modules/system/os/security/security.mod.nix index 4ecdcf6..b609069 100644 --- a/modules/system/os/security/module.nix +++ b/modules/system/os/security/security.mod.nix @@ -1,8 +1,4 @@ {pkgs, ...}: { - imports = [ - ./sudo.nix - ]; - security = { polkit = { enable = true; diff --git a/modules/system/os/security/sudo.nix b/modules/system/os/security/sudo.mod.nix similarity index 100% rename from modules/system/os/security/sudo.nix rename to modules/system/os/security/sudo.mod.nix diff --git a/modules/system/os/systemd/module.nix b/modules/system/os/systemd.mod.nix similarity index 100% rename from modules/system/os/systemd/module.nix rename to modules/system/os/systemd.mod.nix diff --git a/modules/wms/wayland/niri/config.kdl b/modules/wms/niri/config.kdl similarity index 88% rename from modules/wms/wayland/niri/config.kdl rename to modules/wms/niri/config.kdl index d87585a..d7fffb0 100644 --- a/modules/wms/wayland/niri/config.kdl +++ b/modules/wms/niri/config.kdl @@ -66,6 +66,7 @@ layout { default-column-width { proportion 0.5 } + background-color "transparent" } // xwayland stuff spawn-at-startup "xwayland-satellite" @@ -73,8 +74,6 @@ spawn-at-startup "avizo-service" spawn-at-startup "keepassxc" spawn-at-startup "startxfce4" spawn-at-startup "bash" "-c" "quickshell --path ~/repos/projects/nichts/modules/style/quickshell/shell" -spawn-at-startup "swww-daemon" -spawn-at-startup "swww-daemon" "--namespace" "overview" environment { DISPLAY ":0" } @@ -93,27 +92,8 @@ overview { zoom 0.65 backdrop-color "#777777" } -workspace "main" -workspace "scratch" -workspace "browser" -workspace "social" -workspace "keepassxc" -workspace "infra" -workspace "multimedia" animations { // off - -} -// Open the Firefox picture-in-picture player as floating by default. -window-rule { - match app-id="librewolf$" title="^Picture-in-Picture$" - open-floating true - open-on-workspace "browser" -} -window-rule { - match app-id="org.keepassxc.KeePassXC" - block-out-from "screen-capture" - open-on-workspace "keepassxc" } window-rule { match app-id="unset" @@ -127,20 +107,14 @@ window-rule { match app-id="org.freedesktop.impl.portal.desktop.kde" open-floating true } +window-rule { + draw-border-with-background false +} // Fix discord screencasting debug { wait-for-frame-completion-in-pipewire } -// Always focus the KeePassXC-Browser unlock dialog. -// -// This dialog opens parented to the KeePassXC window rather than the browser, -// so it doesn't get auto-focused by default. -window-rule { - match app-id="^org\\.keepassxc\\.KeePassXC$" title="^KeePassXC - Browser Access Request$" - match app-id="^org\\.keepassxc\\.KeePassXC$" title="^Unlock Database - KeePassXC$" - open-focused true -} hotkey-overlay { skip-at-startup } @@ -153,9 +127,6 @@ binds { Mod+Shift+Slash { show-hotkey-overlay } - // Mod+Return { - // spawn "foot" - // } Mod+Return { spawn "ghostty" } @@ -404,9 +375,6 @@ binds { Mod+C { center-column } - Mod+X { - focus-workspace "keepassxc" - } Mod+Minus { set-column-width "-10%" } @@ -439,9 +407,13 @@ binds { Ctrl+Print { screenshot-screen } - Alt+Print { - screenshot + // Alt+Print { + // spawn "sh" "-c" "" + // } + Mod+T { + screenshot } + // "$mainMod, T, exec, ${getExe pkgs.grimblast} save area - | ${getExe pkgs.tesseract} - - | ${getExe' pkgs.wl-clipboard "wl-copy"}" Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit } diff --git a/modules/wms/wayland/niri/module.nix b/modules/wms/niri/niri.mod.nix similarity index 64% rename from modules/wms/wayland/niri/module.nix rename to modules/wms/niri/niri.mod.nix index e3bd50b..320f273 100644 --- a/modules/wms/wayland/niri/module.nix +++ b/modules/wms/niri/niri.mod.nix @@ -1,37 +1,15 @@ { config, - inputs, lib, pkgs, ... }: let inherit (lib.modules) mkForce mkIf; inherit (lib.options) mkEnableOption; - inherit (config.modules.system) isGraphical; + cfg = config.modules.desktops.niri; - latestNightly = (inputs.rust-overlay.lib.mkRustBin {} pkgs).nightly.latest.default; - rustPlatform = pkgs.makeRustPlatform { - rustc = latestNightly; - cargo = latestNightly; - stdenv = pkgs.clangStdenv; - }; - - new-swww = (pkgs.swww.override {inherit rustPlatform;}).overrideAttrs (prev: { - src = pkgs.fetchFromGitHub { - inherit (prev.src) owner repo; - rev = "805a355da574fed46e664606660e2499f02e2174"; - hash = "sha256-+sdV7NFueCeBLrsl7lrqzlG5tPNqDe/zlcIb8TYxQl8="; - }; - doInstallCheck = false; - - cargoDeps = pkgs.rustPlatform.fetchCargoVendor { - inherit (new-swww) src; - hash = "sha256-YH2gcy/8EtUmTHzwt38bBOFX3saN1wHIGQ5/eWqvSeM="; - }; - }); - patched-niri = pkgs.niri.overrideAttrs (prev: { src = pkgs.fetchFromGitHub { inherit (prev.src) owner repo; @@ -67,8 +45,13 @@ in { environment.etc."niri/config.kdl".source = ./config.kdl; environment.systemPackages = builtins.attrValues { - inherit (pkgs) xwayland-satellite avizo playerctl; - inherit new-swww; + inherit + (pkgs) + xwayland-satellite + avizo + playerctl + wl-clipboard + ; }; }; } diff --git a/modules/wms/wayland/module.nix b/modules/wms/portal.mod.nix similarity index 88% rename from modules/wms/wayland/module.nix rename to modules/wms/portal.mod.nix index 3dbc8c6..527d2d3 100644 --- a/modules/wms/wayland/module.nix +++ b/modules/wms/portal.mod.nix @@ -4,14 +4,9 @@ pkgs, ... }: let - inherit (lib.modules) mkForce mkIf; - inherit (lib.options) mkEnableOption; + inherit (lib.modules) mkIf; inherit (lib.lists) optional; in { - imports = [ - ./variables.nix - ]; - xdg.portal = { enable = true; # Sets environment variable NIXOS_XDG_OPEN_USE_PORTAL to 1. @@ -48,8 +43,7 @@ in { "org.freedesktop.impl.portal.FileChooser" = ["kde"]; }; }; - configPackages = [ - # pkgs.niri - ]; + }; + environment.variables = { }; } diff --git a/modules/wms/wayland/variables.nix b/modules/wms/variables.mod.nix similarity index 96% rename from modules/wms/wayland/variables.nix rename to modules/wms/variables.mod.nix index 9fbf15f..0ed61cd 100644 --- a/modules/wms/wayland/variables.nix +++ b/modules/wms/variables.mod.nix @@ -9,7 +9,7 @@ cfg = config.modules.wms.wayland; in { options.modules.wms.wayland.enable = mkEnableOption "wayland"; - config = mkIf cfg.enable { + config = mkIf true { environment.variables = { NIXOS_OZONE_WL = "1"; __GL_GSYNC_ALLOWED = "0"; diff --git a/modules/wms/wayland/hyprland/binds.nix b/modules/wms/wayland/hyprland/binds.nix deleted file mode 100644 index 92d4489..0000000 --- a/modules/wms/wayland/hyprland/binds.nix +++ /dev/null @@ -1,125 +0,0 @@ -{ - inputs, - lib, - pkgs, - ... -}: let - inherit (builtins) map genList toString; - inherit (lib.meta) getExe getExe'; -in { - programs.hyprland.settings = { - # Keybinds - bind = - # workspaces - # split-workspace is because of the split-workspace plugin - map ( - i: let - mod = a: b: a - (b * (a / b)); - key = toString (mod i 10); - workspace = toString i; - in "$mainMod, ${key}, split:workspace, ${workspace}" - ) (genList (i: i + 1) 10) - # split-movetoworkspacesilent - ++ map ( - i: let - mod = a: b: a - (b * (a / b)); - key = toString (mod i 10); - workspace = toString i; - in "$mainMod SHIFT, ${key}, split:movetoworkspacesilent, ${workspace}" - ) (genList (i: i + 1) 10) - ++ [ - "$mainMod, RETURN, exec, foot" - "$mainMod, Q, killactive" - "$mainMod, F, fullscreen, 0" - "$mainMod, D, exec, ${getExe' inputs.quickshell.packages.${pkgs.stdenv.system}.default "quickshell"} msg launcher open" - "$mainMod, SPACE, togglefloating, active" - "$mainMod ALT, L, exec, ${getExe pkgs.hyprlock}" - - # Screenshotting - "$mainMod, S, exec, ${getExe pkgs.grimblast} copy area" # only copy - "$mainMod SHIFT, S, exec, ${getExe pkgs.grimblast} save area - | ${getExe pkgs.satty} -f -" # edit with satty - - # Extract text from screen - "$mainMod, T, exec, ${getExe pkgs.grimblast} save area - | ${getExe pkgs.tesseract} - - | ${getExe' pkgs.wl-clipboard "wl-copy"}" - - # File manager - "$mainMod, E, exec, ${pkgs.xfce.thunar}/bin/thunar" - - # Toggle the three different special workspaces. - "$mainMod, N, togglespecialworkspace, nixos" - "$mainMod, X, togglespecialworkspace, keepassxc" - "$mainMod, V, togglespecialworkspace, audio" - - # Reload hyprland - "$mainMod, R, exec, ${getExe' pkgs.hyprland "hyprctl"} reload" - - # Grab rouge windows, which may persist after disconnecting a monitor. - "$mainMod, G, split:grabroguewindows" - - # Restart waybar - "$mainMod CONTROL, B, exec, ${pkgs.procps}/bin/pkill waybar || ${getExe pkgs.waybar}" - "$mainMod CONTROL, Q, exec, ${pkgs.procps}/bin/pkill quickshell || ${getExe' inputs.quickshell.packages.${pkgs.stdenv.system}.default "quickshell"}" - ]; - - binde = [ - # window focus - "$mainMod, H, movefocus, l" - "$mainMod, J, movefocus, d" - "$mainMod, K, movefocus, u" - "$mainMod, L, movefocus, r" - - # Move Windows - "$mainMod SHIFT, H, movewindow, l" - "$mainMod SHIFT, J, movewindow, d" - "$mainMod SHIFT, K, movewindow, u" - "$mainMod SHIFT, L, movewindow, r" - ]; - - # Media controls - bindl = let - volumectl = getExe' pkgs.avizo "volumectl"; - playerctl = getExe pkgs.playerctl; - play-pause = "${playerctl} play-pause"; - stop = "${playerctl} stop"; - prev = "${playerctl} previous"; - next = "${playerctl} next"; - toggle-mute = "${volumectl} toggle-mute"; - toggle-mic-mute = "${volumectl} toggle-mute"; - in [ - ", XF86AudioMedia, exec, ${play-pause}" - ", XF86AudioPlay, exec, ${play-pause}" - ", XF86AudioStop, exec, ${stop}" - ", XF86AudioPrev, exec, ${prev}" - ", XF86AudioNext, exec, ${next}" - ", XF86AudioMute, exec, ${toggle-mute}" - ", XF86AudioMicMute, exec, ${toggle-mic-mute}" - ]; - - # locked + repeat - bindle = let - volumectl = getExe' pkgs.avizo "volumectl"; - lightctl = getExe' pkgs.avizo "lightctl"; - volume_up = "${volumectl} -u up"; - volume_down = "${volumectl} -u down"; - brightness_up = "${lightctl} up"; - brightness_down = "${lightctl} down"; - in [ - ", XF86AudioRaiseVolume, exec, ${volume_up}" - ", XF86AudioLowerVolume, exec, ${volume_down}" - ", XF86MonBrightnessUp, exec, ${brightness_up}" - ", XF86MonBrightnessDown, exec, ${brightness_down}" - ]; - - # Mouse settings - bindm = [ - "$mainMod, mouse:272, movewindow" - "$mainMod, mouse:273, resizewindow" - ]; - - # Some more movement-related settings - binds = { - pass_mouse_when_bound = false; - movefocus_cycles_fullscreen = false; - }; - }; -} diff --git a/modules/wms/wayland/hyprland/decorations.nix b/modules/wms/wayland/hyprland/decorations.nix deleted file mode 100644 index ebf53a8..0000000 --- a/modules/wms/wayland/hyprland/decorations.nix +++ /dev/null @@ -1,70 +0,0 @@ -_: { - programs.hyprland.settings = { - #Decoration settings - decoration = { - rounding = 10; - rounding_power = 3; - blur = { - enabled = true; - xray = true; - size = 3; - passes = 2; - }; - }; - # Bezier curves for aninmations. - # Generate your own at https://www.cssportal.com/css-cubic-bezier-generator/ - bezier = [ - "dupa, 0.1, 0.9, 0.1, 1.05" - ]; - # Hyprland anomations, using the above bezier curves - animations = { - enabled = true; - }; - animation = [ - "windows, 1, 4, dupa, popin" - "windowsOut, 1, 4, dupa, slide" - "border, 1, 15, default" - "fade, 1, 10, default" - "workspaces, 1, 5, dupa, slidevert" - ]; - - cursor = { - hide_on_key_press = true; - no_hardware_cursors = true; - }; - - misc = { - enable_swallow = true; - swallow_regex = "foot"; - focus_on_activate = true; - - vrr = 1; - vfr = true; - - animate_manual_resizes = false; - animate_mouse_windowdragging = false; - force_default_wallpaper = 0; - }; - - # Window rules for some programs. - windowrulev2 = [ - "float, class:^(Tor Browser)$" - "float, class:^(mpv)$" - "float, class:^(imv)$" - "float, title:^(Picture-in-Picture)$" - "float, title:^(.*)(Choose User Profile)(.*)$" - "float, title:^(blob:null/)(.*)$" - "float, class:^(xdg-desktop-portal-gtk)$" - "float, class:^(code), title: ^(Open*)" - "size 70% 70%, class:^(code), title: ^(Open*)" - "center, class: ^(code), title: ^(Open*)" - "float, class:^(org.keepassxc.KeePassXC)$" - ]; - - layerrule = [ - "blur, shell:launcher" - "ignorezero, shell:launcher" - "animation popin 90%, shell:launcher" - ]; - }; -} diff --git a/modules/wms/wayland/hyprland/exec.nix b/modules/wms/wayland/hyprland/exec.nix deleted file mode 100644 index 7d56010..0000000 --- a/modules/wms/wayland/hyprland/exec.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - config, - inputs, - lib, - pkgs, - ... -}: let - # inherit (config.modules.style) cursor; - inherit (lib.meta) getExe getExe'; -in { - programs.hyprland.settings = { - # Hyprland settings - # Programs which get executed at Hyprland start. - exec-once = [ - "uwsm finalize" - - "hyprctl setcursor BreezeX-RosePine-Linux 32" - "hyprctl seterror disable" - - "[workspace special:keepassxc; silent;tile] ${pkgs.keepassxc}/bin/keepassxc" - "[workspace special:audio; silent;tile] ${pkgs.pwvucontrol}/bin/pwvucontrol" - - "${pkgs.swww}/bin/swww-daemon" - - "${pkgs.avizo}/bin/avizo-service" - - "${pkgs.wlsunset}/bin/wlsunset -S 06:00 -s 20:00" - "${pkgs.lxqt.lxqt-policykit}/bin/lxqt-policykit-agent" - "hyprctl dispatch split-workspace 1" - - "${getExe pkgs.hyprlock}" - - "${getExe' inputs.quickshell.packages.${pkgs.stdenv.system}.default "quickshell"}" - ]; - }; -} diff --git a/modules/wms/wayland/hyprland/module.nix b/modules/wms/wayland/hyprland/module.nix deleted file mode 100644 index 2ecec85..0000000 --- a/modules/wms/wayland/hyprland/module.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ - config, - inputs, - lib, - pkgs, - ... -}: let - inherit (lib.modules) mkIf; - inherit (lib.options) mkOption; - inherit (lib.types) bool; - - cfg = config.modules.desktops.hyprland; -in { - imports = [ - ./binds.nix - ./decorations.nix - ./exec.nix - ./settings.nix - ./workspaces.nix - inputs.hyprland.nixosModules.default - ]; - - options.modules.desktops.hyprland = { - enable = mkOption { - type = bool; - default = false; - description = '' - Whether to enable Hyprland wayland compositor. - ''; - }; - }; - - config = mkIf cfg.enable { - programs.hyprland = { - enable = true; - xwayland.enable = true; - package = pkgs.hyprland; - portalPackage = pkgs.xdg-desktop-portal-hyprland; - plugins = [ - pkgs.hyprlandPlugins.hyprsplit - ]; - withUWSM = true; - }; - # xdg Portal - xdg.portal = { - enable = true; - xdgOpenUsePortal = true; - extraPortals = [ - pkgs.xdg-desktop-portal-gtk - pkgs.xdg-desktop-portal-hyprland - ]; - config = { - common.default = ["*"]; - hyprland.default = ["gtk" "hyprland"]; - }; - }; - }; -} diff --git a/modules/wms/wayland/hyprland/settings.nix b/modules/wms/wayland/hyprland/settings.nix deleted file mode 100644 index fa65c2b..0000000 --- a/modules/wms/wayland/hyprland/settings.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ - config, - lib, - ... -}: let - inherit (builtins) toString; - inherit (lib.attrsets) mapAttrsToList; - - inherit (config.modules.style.colorScheme) colors; - inherit (config.modules.system.hardware) monitors; -in { - config = { - programs.hyprland = { - settings = { - # Hyprland settings - "$mainMod" = "SUPER"; - - # Monitor config - # Thanks Poz for inspiration, using an attrSet is actually much smarter - # than using a normal list. - monitor = - mapAttrsToList ( - name: m: let - w = toString m.resolution.x; - h = toString m.resolution.y; - refreshRate = toString m.refreshRate; - x = toString m.position.x; - y = toString m.position.y; - scale = toString m.scale; - in "${name},${w}x${h}@${refreshRate},${x}x${y},${scale}" - ) - monitors; - - # Input settings - input = { - kb_layout = "us,ru"; - kb_variant = ",phonetic_winkeys"; - kb_options = "grp:rctrl_rshift_toggle, compose:102"; - - follow_mouse = true; - - repeat_rate = 60; - repeat_delay = 200; - - touchpad = { - disable_while_typing = true; - }; - }; - - gestures = { - workspace_swipe = true; - }; - - general = { - layout = "dwindle"; - gaps_in = 0; - gaps_out = 0; - border_size = 2; - - "col.active_border" = "0xff${colors.base07}"; - no_border_on_floating = true; - }; - - # No annoying startup errors - debug.suppress_errors = true; - - ecosystem.no_update_news = true; - - plugin = { - hyprsplit = { - num_workspaces = 10; - persistent_workspaces = true; - }; - dynamic-cursors = { - enabled = true; - - mode = "rotate"; - rotate = { - length = 20; - offset = 0.0; - }; - threshhold = 2; - shake.enabled = false; - }; - }; - }; - }; - }; -} diff --git a/modules/wms/wayland/hyprland/workspaces.nix b/modules/wms/wayland/hyprland/workspaces.nix deleted file mode 100644 index d04397d..0000000 --- a/modules/wms/wayland/hyprland/workspaces.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - config, - lib, - ... -}: let - inherit (builtins) map genList attrNames toString; - inherit (lib.lists) imap0 flatten; - inherit (lib.strings) optionalString; - - inherit (config.modules.system.hardware) monitors; -in { - programs.hyprland.settings = { - # INFO: This is a custom function to map all of my monitors to workspaces. - # Since I use split-monitor-workspaces, I map 10 workspaces to each monitor - # and set the first one to be the default one. - # To be able to use this for a varying amount of monitors we do some nasty trickery. - # This was inspired by jacekpoz, whose configuration is linked in this project's README.md. - workspace = - ( - # We use imap0 insted of map because imap0 starts indexing at zero as oppsed to one with map. - (imap0 (monitorIndex: monitorName: ( - map ( - i: let - # we define our own modulo operation for this, - # since only the first workspace on each monitor is the default workspace. - mod = a: b: a - (b * (a / b)); - workspace = toString i; - isDefault = (mod i 10) == 1; # 11, 21, 31, ... - in "${workspace}, monitor:${monitorName}${optionalString isDefault ", default:true"}" - ) - # we generate a list of 10 elements for each monitor. We have to add 1 each time since genList starts indexing at 0. - # also, we add the monitorIndex * 10 to get 10 workspaces for each individual monitor. - (genList (i: i + 1 + (10 * monitorIndex)) 10) - )) - # our attrSet of different monitors - (attrNames monitors)) - # We're creating several lists of workspace assignments, one for each monitor, - # and have to merge them into one big list. - |> flatten - ) - # These are my two special workspaces - ++ [ - "special:nixos, decorate:false" - "special:keepassxc, decorate:false" - "special:audio, decorate:false" - ]; - }; -} diff --git a/modules/wms/wayland/sway/module.nix b/modules/wms/wayland/sway/module.nix deleted file mode 100644 index cbaa95b..0000000 --- a/modules/wms/wayland/sway/module.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { -} diff --git a/packages/fish/packages.nix b/packages/fish/packages.nix index b78b7d0..f4be9ad 100644 --- a/packages/fish/packages.nix +++ b/packages/fish/packages.nix @@ -46,7 +46,6 @@ builtins.attrValues { inetutils tokei starship - onefetch wget cpufetch watchman diff --git a/packages/fish/starship.nix b/packages/fish/starship.nix index a3175e7..915a0d4 100644 --- a/packages/fish/starship.nix +++ b/packages/fish/starship.nix @@ -1,38 +1,57 @@ { add_newline = false; - command_timeout = 2000; - format = "$hostname$username$directory$shell$nix_shell$jobs$character"; - scan_timeout = 1; - - character = { - error_symbol = "[λ](bold red)"; - success_symbol = "[λ](bold green)"; + aws.symbol = " "; + buf.symbol = " "; + bun.symbol = " "; + c.symbol = " "; + cmake.symbol = " "; + conda.symbol = " "; + cpp.symbol = " "; + crystal.symbol = " "; + dart.symbol = " "; + deno.symbol = " "; + directory.read_only = " 󰌾"; + docker_context.symbol = " "; + elixir.symbol = " "; + elm.symbol = " "; + fennel = {symbol = " ";}; + fossil_branch = {symbol = " ";}; + gcloud = {symbol = " ";}; + git_branch = {symbol = " ";}; + git_commit = {tag_symbol = "  ";}; + golang.symbol = " "; + gradle = {symbol = " ";}; + guix_shell = {symbol = " ";}; + haskell = {symbol = " ";}; + haxe = {symbol = " ";}; + hg_branch = {symbol = " ";}; + hostname = {ssh_symbol = " ";}; + java = {symbol = " ";}; + julia = {symbol = " ";}; + kotlin = {symbol = " ";}; + lua = {symbol = " ";}; + memory_usage = {symbol = "󰍛 ";}; + meson = {symbol = "󰔷 ";}; + nim = {symbol = "󰆥 ";}; + nix_shell = {symbol = " ";}; + nodejs = {symbol = " ";}; + ocaml = {symbol = " ";}; + os = { + symbols = { + Linux = " "; + NixOS = " "; + }; }; - directory = { - format = "[](bold green) [$path]($style) "; - truncation_length = 2; - }; - - direnv = { - disabled = false; - }; - - git_status = { - disabled = true; - }; - - hostname = { - disabled = false; - format = "@[$hostname](bold blue) "; - ssh_only = true; - }; - - c.symbol = "[ ](black)"; - lua.symbol = "[ ](blue) "; - nix_shell.symbol = "[󱄅 ](blue) "; - nodejs.symbol = "[󰎙 ](yellow)"; - package.symbol = "📦 "; - python.symbol = "[ ](blue) "; - rust.symbol = "[ ](red) "; - username.format = "[$user]($style) in "; + package = {symbol = "󰏗 ";}; + perl = {symbol = " ";}; + php = {symbol = " ";}; + pijul_channel = {symbol = " ";}; + pixi = {symbol = "󰏗 ";}; + python = {symbol = " ";}; + rlang = {symbol = "󰟔 ";}; + ruby = {symbol = " ";}; + rust = {symbol = "󱘗 ";}; + scala = {symbol = " ";}; + swift = {symbol = " ";}; + zig = {symbol = " ";}; } diff --git a/packages/helix/colorscheme.nix b/packages/helix/colorscheme.nix index 889f241..b90f7c4 100644 --- a/packages/helix/colorscheme.nix +++ b/packages/helix/colorscheme.nix @@ -1,4 +1,4 @@ { - inherits = "catppuccin_mocha"; + inherits = "gruvbox_dark_hard"; "ui.background" = {}; } diff --git a/packages/helix/default.nix b/packages/helix/default.nix index 7f4bffb..866684e 100644 --- a/packages/helix/default.nix +++ b/packages/helix/default.nix @@ -44,24 +44,27 @@ custom-helix = (helix.override {inherit rustPlatform;}).overrideAttrs (finalAttrs: previousAttrs: { - version = "25.06.1"; + version = "25.07.1"; src = fetchzip { url = "https://github.com/bloxx12/helix/releases/download/${finalAttrs.version}/helix-${finalAttrs.version}-source.tar.xz"; - hash = "sha256-941moaBUF+aGsbFapK1cp5+NFdecSfRCTdnVUtkDQps="; + hash = "sha256-OLCJPleRHhQbHOm8EnMWDBV5qG4PKGCUhr4y8mSkvpg="; stripRoot = false; }; - cargoBuildFeatures = ["unicode-lines"]; - RUSTFLAGS = "-Ctarget-cpu=native -Clto=fat"; + RUSTFLAGS = "-Ctarget-cpu=native"; doInstallCheck = false; cargoDeps = rustPlatform.fetchCargoVendor { inherit (custom-helix) src; - hash = "sha256-w07ZV1tR3lzYz4N+hI9alvFp0AHCcsItPRhVt9Sluo8="; + hash = "sha256-eVZVPyIk+kBq5hh+bzTveng6mb+6XAnCp0OAI1c+ObI="; }; }); + new-deadnix = deadnix.overrideAttrs (finalAttrs: previousAttrs: { + + }); + toml = formats.toml {}; helix-languages = callPackage ./languages.nix {inherit lib;}; @@ -169,7 +172,6 @@ kdlfmt - deadnix # zig language server zls ]; diff --git a/packages/helix/languages.nix b/packages/helix/languages.nix index c71a6e0..b585f6a 100644 --- a/packages/helix/languages.nix +++ b/packages/helix/languages.nix @@ -28,7 +28,7 @@ toml = formats.toml {}; # a newer nil version, for pipes support. - newer-nil = nil.overrideAttrs (_: { + new-nil = nil.overrideAttrs (_: { version = "unstable-02-06-2025"; src = fetchFromGitHub { @@ -38,11 +38,24 @@ hash = "sha256-ggXU3RHv6NgWw+vc+HO4/9n0GPufhTIUjVuLci8Za8c="; }; cargoDeps = rustPlatform.fetchCargoVendor { - inherit (newer-nil) src; + inherit (new-nil) src; hash = "sha256-uZsLlFU9GKLvFllF7Kf5Q7HfN26KQojf4rvOb9p7Rjs="; }; }); + new-deadnix = deadnix.overrideAttrs (finalAttrs: previousAttrs: { + version = "unstable-15-07-2025"; + src = fetchFromGitHub { + owner = "astro"; + repo = "deadnix"; + rev = "d75457b95d7cfa82fcd60970939f76fccfce19e5"; + hash = "sha256-O/z2neAXL8JNkGosvxC+DyZnnJ8zYP9XHApxHVmlzfY="; + }; + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (new-deadnix) src; + hash = "sha256-O8yhqyPflOvQXAA19k1XpbrHysgV5VNWLBX0l5Q5GkM="; + }; + }); helix-languages = { language = let mark = lang: { @@ -205,12 +218,12 @@ }; nil = { - command = getExe newer-nil; + command = getExe new-nil; # alejandro config.nil.formatting.command = ["${getExe alejandra}" "-q"]; }; deadnix = { - command = getExe deadnix; + command = getExe new-deadnix; }; scls = {