commit 58ff0046c61ab440d5cc6b4e132c5d559e160f30 Author: tx0 Date: Sun Mar 2 16:53:58 2025 +0500 initial commit diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..87211a5 --- /dev/null +++ b/flake.lock @@ -0,0 +1,4303 @@ +{ + "nodes": { + "anyrun": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems" + }, + "locked": { + "lastModified": 1735301051, + "narHash": "sha256-jU88Q9tP4vuvWYGQcmOdFwI9e2uMPVYJHbXdiklIH9o=", + "owner": "anyrun-org", + "repo": "anyrun", + "rev": "06017e753c8886d5296768dca80745ee09402a2d", + "type": "github" + }, + "original": { + "owner": "anyrun-org", + "repo": "anyrun", + "type": "github" + } + }, + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1738456976, + "narHash": "sha256-cufyHbOMnSt9V4w4OVSzNcpJ+8DwzRZRJaca2Q89KVI=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "257b2050790ab3b1eb389e0f8bdc400eb9510139", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1732200724, + "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "153d52373b0fb2d343592871009a286ec8837aec", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1736852337, + "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1736899990, + "narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, + "flake-compat": { + "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_2": { + "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": [ + "anyrun", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "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_2" + }, + "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-utils": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": [ + "stylix", + "systems" + ] + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flakey-profile": { + "locked": { + "lastModified": 1712898590, + "narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=", + "owner": "lf-", + "repo": "flakey-profile", + "rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d", + "type": "github" + }, + "original": { + "owner": "lf-", + "repo": "flakey-profile", + "type": "github" + } + }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "stylix", + "flake-compat" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735882644, + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "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": [ + "stylix", + "git-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" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1732369855, + "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "dadd58f630eeea41d645ee225a63f719390829dc", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "47.2", + "repo": "gnome-shell", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738878603, + "narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "433799271274c9f2ab520a49527ebfe2992dcfbd", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1736785676, + "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1738178255, + "narHash": "sha256-+D6Nu2ewXbMTFzx/Q4jDOo+LAOUPr0cxQJg5k33daIE=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "dcadd3398abe146d60c67e0d9ee6e27b301cae82", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1738437059, + "narHash": "sha256-J+8ecqaP3zD9GHeN8Y4hUapoELSoggp0IZI8laTFt/0=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "5ac80e3686a4dfa55d2bd15c81a266b89594a295", + "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_2", + "hyprutils": "hyprutils_2", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks", + "systems": "systems_2", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1734636407, + "narHash": "sha256-HF5shWnOv5uJJSKJnnbLvE+lqCTCTKY2JlKs14kVKOo=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "0bd541f2fd902dbfa04c3ea2ccf679395e316887", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "ref": "v0.46.2", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1738422629, + "narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed", + "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": 1737634706, + "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "rev": "8810df502cdee755993cb803eba7b23f189db795", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "type": "github" + } + }, + "hyprland-qtutils": { + "inputs": { + "hyprland-qt-support": "hyprland-qt-support", + "hyprlang": "hyprlang", + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1737981711, + "narHash": "sha256-lh6cL5D8nPplB3WovCQjLUZ7k7MViiBrMlpkfm4R7/c=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "96bf0677fa9cd13508294e3d4559dfbbc8beff73", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": "hyprutils", + "nixpkgs": [ + "hyprland", + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1737634606, + "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "f41271d35cc0f370d300413d756c2677f386af9d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_2": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1737634606, + "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "f41271d35cc0f370d300413d756c2677f386af9d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "hyprland-qtutils", + "hyprlang", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-qtutils", + "hyprlang", + "systems" + ] + }, + "locked": { + "lastModified": 1737632363, + "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "006620eb29d54ea9086538891404c78563d1bae1", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprutils_2": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1737978343, + "narHash": "sha256-TfFS0HCEJh63Kahrkp1h9hVDMdLU8a37Zz+IFucxyfA=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "6a8bc9d2a4451df12f5179dc0b1d2d46518a90ab", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1735493474, + "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "lix": { + "flake": false, + "locked": { + "lastModified": 1737234286, + "narHash": "sha256-CCKIAE84dzkrnlxJCKFyffAxP3yfsOAbdvydUGqq24g=", + "rev": "2837da71ec1588c1187d2e554719b15904a46c8b", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/2837da71ec1588c1187d2e554719b15904a46c8b.tar.gz?rev=2837da71ec1588c1187d2e554719b15904a46c8b" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/lix/archive/2.92.0.tar.gz" + } + }, + "lix-module": { + "inputs": { + "flake-utils": "flake-utils", + "flakey-profile": "flakey-profile", + "lix": "lix", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737237494, + "narHash": "sha256-YMLrcBpf0TR5r/eaqm8lxzFPap2TxCor0ZGcK3a7+b8=", + "rev": "b90bf629bbd835e61f1317b99e12f8c831017006", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/b90bf629bbd835e61f1317b99e12f8c831017006.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz" + } + }, + "mnw": { + "locked": { + "lastModified": 1735150973, + "narHash": "sha256-OJhcCAoaMMXeD6o4qI/hxBCNELJp4dN8D5LJZc8w8XA=", + "owner": "Gerg-L", + "repo": "mnw", + "rev": "40cd0b006cc48dffd0f8698ad7f54cf1d56779a6", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "mnw", + "type": "github" + } + }, + "nil": { + "inputs": { + "flake-utils": [ + "nvf", + "flake-utils" + ], + "nixpkgs": [ + "nvf", + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1732053863, + "narHash": "sha256-DCIVdlb81Fct2uwzbtnawLBC/U03U2hqx8trqTJB7WA=", + "owner": "oxalica", + "repo": "nil", + "rev": "2e24c9834e3bb5aa2a3701d3713b43a6fb106362", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "nil", + "type": "github" + } + }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738466368, + "narHash": "sha256-PZhUjtvQZOH3PO0EYdTpQvcqkgkq1NkP2A6w9SPHYsk=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "46a8f5fc9552b776bfc5c5c96ea3bede33f68f52", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1738410390, + "narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3a228057f5b619feb3186e986dbe76278d707b6e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1738452942, + "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + } + }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1733096140, + "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + } + }, + "nixpkgs-master": { + "locked": { + "lastModified": 1738943717, + "narHash": "sha256-KabzClxx6dREJyxZ+gffuBL1us/ZOcFJ8ZjgNtlM6yU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a503a26038e1f3e868bb67269c1e96d169de1374", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1738940519, + "narHash": "sha256-WXGiqZn8u+ynRzIywjwF6eVR38DSVvQCVqjZ6sHQMe8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b30cff4b9ac9dcf891534791fc92f2f425a80454", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "release-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1738680400, + "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "799ba5bffed04ced7067a91798353d360788b30d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1738680400, + "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "799ba5bffed04ced7067a91798353d360788b30d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1737370608, + "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "300081d0cc72df578b02d914df941b8ec62240e6", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1736798957, + "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1735471104, + "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nmd": { + "flake": false, + "locked": { + "lastModified": 1705050560, + "narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=", + "owner": "~rycee", + "repo": "nmd", + "rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3", + "type": "sourcehut" + }, + "original": { + "owner": "~rycee", + "repo": "nmd", + "type": "sourcehut" + } + }, + "nur": { + "inputs": { + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_3", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1738941461, + "narHash": "sha256-wOT3WXl679S/4EUZPRAzIx72slrjrwKFMhXsId4c1AU=", + "owner": "nix-community", + "repo": "NUR", + "rev": "7409d487bf5d0ee7f105d234f90e712eb9774dc5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, + "nvf": { + "inputs": { + "flake-parts": "flake-parts_4", + "flake-utils": "flake-utils_2", + "mnw": "mnw", + "nil": "nil", + "nixpkgs": "nixpkgs_4", + "nmd": "nmd", + "plugin-aerial-nvim": "plugin-aerial-nvim", + "plugin-alpha-nvim": "plugin-alpha-nvim", + "plugin-base16": "plugin-base16", + "plugin-bufdelete-nvim": "plugin-bufdelete-nvim", + "plugin-catppuccin": "plugin-catppuccin", + "plugin-ccc": "plugin-ccc", + "plugin-cellular-automaton": "plugin-cellular-automaton", + "plugin-chatgpt": "plugin-chatgpt", + "plugin-cheatsheet-nvim": "plugin-cheatsheet-nvim", + "plugin-cinnamon-nvim": "plugin-cinnamon-nvim", + "plugin-cmp-buffer": "plugin-cmp-buffer", + "plugin-cmp-luasnip": "plugin-cmp-luasnip", + "plugin-cmp-nvim-lsp": "plugin-cmp-nvim-lsp", + "plugin-cmp-path": "plugin-cmp-path", + "plugin-cmp-treesitter": "plugin-cmp-treesitter", + "plugin-codewindow-nvim": "plugin-codewindow-nvim", + "plugin-comment-nvim": "plugin-comment-nvim", + "plugin-copilot-cmp": "plugin-copilot-cmp", + "plugin-copilot-lua": "plugin-copilot-lua", + "plugin-crates-nvim": "plugin-crates-nvim", + "plugin-csharpls-extended": "plugin-csharpls-extended", + "plugin-dashboard-nvim": "plugin-dashboard-nvim", + "plugin-diffview-nvim": "plugin-diffview-nvim", + "plugin-dracula": "plugin-dracula", + "plugin-dressing-nvim": "plugin-dressing-nvim", + "plugin-elixir-tools": "plugin-elixir-tools", + "plugin-fastaction-nvim": "plugin-fastaction-nvim", + "plugin-fidget-nvim": "plugin-fidget-nvim", + "plugin-flutter-tools": "plugin-flutter-tools", + "plugin-friendly-snippets": "plugin-friendly-snippets", + "plugin-fzf-lua": "plugin-fzf-lua", + "plugin-gesture-nvim": "plugin-gesture-nvim", + "plugin-gitsigns-nvim": "plugin-gitsigns-nvim", + "plugin-glow-nvim": "plugin-glow-nvim", + "plugin-gruvbox": "plugin-gruvbox", + "plugin-haskell-tools-nvim": "plugin-haskell-tools-nvim", + "plugin-highlight-undo": "plugin-highlight-undo", + "plugin-hop-nvim": "plugin-hop-nvim", + "plugin-icon-picker-nvim": "plugin-icon-picker-nvim", + "plugin-image-nvim": "plugin-image-nvim", + "plugin-indent-blankline": "plugin-indent-blankline", + "plugin-leap-nvim": "plugin-leap-nvim", + "plugin-lsp-lines": "plugin-lsp-lines", + "plugin-lsp-signature": "plugin-lsp-signature", + "plugin-lspkind": "plugin-lspkind", + "plugin-lspsaga": "plugin-lspsaga", + "plugin-lua-utils-nvim": "plugin-lua-utils-nvim", + "plugin-lualine": "plugin-lualine", + "plugin-luasnip": "plugin-luasnip", + "plugin-lz-n": "plugin-lz-n", + "plugin-lzn-auto-require": "plugin-lzn-auto-require", + "plugin-mind-nvim": "plugin-mind-nvim", + "plugin-mini-ai": "plugin-mini-ai", + "plugin-mini-align": "plugin-mini-align", + "plugin-mini-animate": "plugin-mini-animate", + "plugin-mini-base16": "plugin-mini-base16", + "plugin-mini-basics": "plugin-mini-basics", + "plugin-mini-bracketed": "plugin-mini-bracketed", + "plugin-mini-bufremove": "plugin-mini-bufremove", + "plugin-mini-clue": "plugin-mini-clue", + "plugin-mini-colors": "plugin-mini-colors", + "plugin-mini-comment": "plugin-mini-comment", + "plugin-mini-completion": "plugin-mini-completion", + "plugin-mini-diff": "plugin-mini-diff", + "plugin-mini-doc": "plugin-mini-doc", + "plugin-mini-extra": "plugin-mini-extra", + "plugin-mini-files": "plugin-mini-files", + "plugin-mini-fuzzy": "plugin-mini-fuzzy", + "plugin-mini-git": "plugin-mini-git", + "plugin-mini-hipatterns": "plugin-mini-hipatterns", + "plugin-mini-hues": "plugin-mini-hues", + "plugin-mini-icons": "plugin-mini-icons", + "plugin-mini-indentscope": "plugin-mini-indentscope", + "plugin-mini-jump": "plugin-mini-jump", + "plugin-mini-jump2d": "plugin-mini-jump2d", + "plugin-mini-map": "plugin-mini-map", + "plugin-mini-misc": "plugin-mini-misc", + "plugin-mini-move": "plugin-mini-move", + "plugin-mini-notify": "plugin-mini-notify", + "plugin-mini-operators": "plugin-mini-operators", + "plugin-mini-pairs": "plugin-mini-pairs", + "plugin-mini-pick": "plugin-mini-pick", + "plugin-mini-sessions": "plugin-mini-sessions", + "plugin-mini-snippets": "plugin-mini-snippets", + "plugin-mini-splitjoin": "plugin-mini-splitjoin", + "plugin-mini-starter": "plugin-mini-starter", + "plugin-mini-statusline": "plugin-mini-statusline", + "plugin-mini-surround": "plugin-mini-surround", + "plugin-mini-tabline": "plugin-mini-tabline", + "plugin-mini-test": "plugin-mini-test", + "plugin-mini-trailspace": "plugin-mini-trailspace", + "plugin-mini-visits": "plugin-mini-visits", + "plugin-minimap-vim": "plugin-minimap-vim", + "plugin-modes-nvim": "plugin-modes-nvim", + "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", + "plugin-neocord": "plugin-neocord", + "plugin-neodev-nvim": "plugin-neodev-nvim", + "plugin-neorg": "plugin-neorg", + "plugin-neorg-telescope": "plugin-neorg-telescope", + "plugin-new-file-template-nvim": "plugin-new-file-template-nvim", + "plugin-noice-nvim": "plugin-noice-nvim", + "plugin-none-ls": "plugin-none-ls", + "plugin-nord": "plugin-nord", + "plugin-nui-nvim": "plugin-nui-nvim", + "plugin-nvim-autopairs": "plugin-nvim-autopairs", + "plugin-nvim-bufferline-lua": "plugin-nvim-bufferline-lua", + "plugin-nvim-cmp": "plugin-nvim-cmp", + "plugin-nvim-colorizer-lua": "plugin-nvim-colorizer-lua", + "plugin-nvim-cursorline": "plugin-nvim-cursorline", + "plugin-nvim-dap": "plugin-nvim-dap", + "plugin-nvim-dap-go": "plugin-nvim-dap-go", + "plugin-nvim-dap-ui": "plugin-nvim-dap-ui", + "plugin-nvim-docs-view": "plugin-nvim-docs-view", + "plugin-nvim-lightbulb": "plugin-nvim-lightbulb", + "plugin-nvim-lspconfig": "plugin-nvim-lspconfig", + "plugin-nvim-metals": "plugin-nvim-metals", + "plugin-nvim-navbuddy": "plugin-nvim-navbuddy", + "plugin-nvim-navic": "plugin-nvim-navic", + "plugin-nvim-neoclip": "plugin-nvim-neoclip", + "plugin-nvim-nio": "plugin-nvim-nio", + "plugin-nvim-notify": "plugin-nvim-notify", + "plugin-nvim-scrollbar": "plugin-nvim-scrollbar", + "plugin-nvim-session-manager": "plugin-nvim-session-manager", + "plugin-nvim-surround": "plugin-nvim-surround", + "plugin-nvim-tree-lua": "plugin-nvim-tree-lua", + "plugin-nvim-treesitter-context": "plugin-nvim-treesitter-context", + "plugin-nvim-ts-autotag": "plugin-nvim-ts-autotag", + "plugin-nvim-ufo": "plugin-nvim-ufo", + "plugin-nvim-web-devicons": "plugin-nvim-web-devicons", + "plugin-obsidian-nvim": "plugin-obsidian-nvim", + "plugin-omnisharp-extended": "plugin-omnisharp-extended", + "plugin-onedark": "plugin-onedark", + "plugin-orgmode-nvim": "plugin-orgmode-nvim", + "plugin-otter-nvim": "plugin-otter-nvim", + "plugin-oxocarbon": "plugin-oxocarbon", + "plugin-pathlib-nvim": "plugin-pathlib-nvim", + "plugin-plenary-nvim": "plugin-plenary-nvim", + "plugin-precognition-nvim": "plugin-precognition-nvim", + "plugin-project-nvim": "plugin-project-nvim", + "plugin-promise-async": "plugin-promise-async", + "plugin-rainbow-delimiters": "plugin-rainbow-delimiters", + "plugin-registers": "plugin-registers", + "plugin-render-markdown-nvim": "plugin-render-markdown-nvim", + "plugin-rose-pine": "plugin-rose-pine", + "plugin-rtp-nvim": "plugin-rtp-nvim", + "plugin-run-nvim": "plugin-run-nvim", + "plugin-rustaceanvim": "plugin-rustaceanvim", + "plugin-smartcolumn": "plugin-smartcolumn", + "plugin-sqls-nvim": "plugin-sqls-nvim", + "plugin-tabular": "plugin-tabular", + "plugin-telescope": "plugin-telescope", + "plugin-tiny-devicons-auto-colors": "plugin-tiny-devicons-auto-colors", + "plugin-todo-comments": "plugin-todo-comments", + "plugin-toggleterm-nvim": "plugin-toggleterm-nvim", + "plugin-tokyonight": "plugin-tokyonight", + "plugin-trouble": "plugin-trouble", + "plugin-ts-error-translator": "plugin-ts-error-translator", + "plugin-typst-preview-nvim": "plugin-typst-preview-nvim", + "plugin-vim-dirtytalk": "plugin-vim-dirtytalk", + "plugin-vim-fugitive": "plugin-vim-fugitive", + "plugin-vim-illuminate": "plugin-vim-illuminate", + "plugin-vim-markdown": "plugin-vim-markdown", + "plugin-vim-repeat": "plugin-vim-repeat", + "plugin-vim-startify": "plugin-vim-startify", + "plugin-which-key": "plugin-which-key", + "plugin-yanky-nvim": "plugin-yanky-nvim", + "systems": "systems_5" + }, + "locked": { + "lastModified": 1738936845, + "narHash": "sha256-Qi4cvEMKudE5ZrZ/iVUP3pfKTByNHtNRxkX9O1slH3Q=", + "owner": "notashelf", + "repo": "nvf", + "rev": "3f9078d7d94d7f163d165af327f2676a8217af1e", + "type": "github" + }, + "original": { + "owner": "notashelf", + "repo": "nvf", + "type": "github" + } + }, + "nypkgs": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1726657437, + "narHash": "sha256-eBeVOFceQkYfWHAwdQ+aM8vLAbsuuWUgek2f6dFBTl0=", + "owner": "yunfachi", + "repo": "nypkgs", + "rev": "698ab4159dc38affee2fc5886468af139de8d95e", + "type": "github" + }, + "original": { + "owner": "yunfachi", + "repo": "nypkgs", + "type": "github" + } + }, + "plugin-aerial-nvim": { + "flake": false, + "locked": { + "lastModified": 1736064692, + "narHash": "sha256-7YQtkUTACTMfAGoqoFDPmRrqtw+ypxDbeLCTB3sy4Us=", + "owner": "stevearc", + "repo": "aerial.nvim", + "rev": "b3ec25ca8c347fafa976484a6cace162239112e1", + "type": "github" + }, + "original": { + "owner": "stevearc", + "repo": "aerial.nvim", + "type": "github" + } + }, + "plugin-alpha-nvim": { + "flake": false, + "locked": { + "lastModified": 1731604504, + "narHash": "sha256-sNi5qarejYqM4/J7lBZI3gjVLxer5FBPq8K6qjqcMjA=", + "owner": "goolord", + "repo": "alpha-nvim", + "rev": "de72250e054e5e691b9736ee30db72c65d560771", + "type": "github" + }, + "original": { + "owner": "goolord", + "repo": "alpha-nvim", + "type": "github" + } + }, + "plugin-base16": { + "flake": false, + "locked": { + "lastModified": 1716483968, + "narHash": "sha256-GRF/6AobXHamw8TZ3FjL7SI6ulcpwpcohsIuZeCSh2A=", + "owner": "rrethy", + "repo": "base16-nvim", + "rev": "6ac181b5733518040a33017dde654059cd771b7c", + "type": "github" + }, + "original": { + "owner": "rrethy", + "repo": "base16-nvim", + "type": "github" + } + }, + "plugin-bufdelete-nvim": { + "flake": false, + "locked": { + "lastModified": 1708814161, + "narHash": "sha256-ljUNfmpImtxFCS19HC9kFlaLlqaPDltKtnx1+/6Y33U=", + "owner": "famiu", + "repo": "bufdelete.nvim", + "rev": "f6bcea78afb3060b198125256f897040538bcb81", + "type": "github" + }, + "original": { + "owner": "famiu", + "repo": "bufdelete.nvim", + "type": "github" + } + }, + "plugin-catppuccin": { + "flake": false, + "locked": { + "lastModified": 1735299190, + "narHash": "sha256-lwQLmqm01FihJdad4QRMK23MTrouyOokyuX/3enWjzs=", + "owner": "catppuccin", + "repo": "nvim", + "rev": "f67b886d65a029f12ffa298701fb8f1efd89295d", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "nvim", + "type": "github" + } + }, + "plugin-ccc": { + "flake": false, + "locked": { + "lastModified": 1727935067, + "narHash": "sha256-OhdR2sAQV5PvlhaKQ6rYneMmvQiN3QfymOeanpAs9wY=", + "owner": "uga-rosa", + "repo": "ccc.nvim", + "rev": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a", + "type": "github" + }, + "original": { + "owner": "uga-rosa", + "repo": "ccc.nvim", + "type": "github" + } + }, + "plugin-cellular-automaton": { + "flake": false, + "locked": { + "lastModified": 1719777869, + "narHash": "sha256-nIv7ISRk0+yWd1lGEwAV6u1U7EFQj/T9F8pU6O0Wf0s=", + "owner": "Eandrju", + "repo": "cellular-automaton.nvim", + "rev": "11aea08aa084f9d523b0142c2cd9441b8ede09ed", + "type": "github" + }, + "original": { + "owner": "Eandrju", + "repo": "cellular-automaton.nvim", + "type": "github" + } + }, + "plugin-chatgpt": { + "flake": false, + "locked": { + "lastModified": 1728720509, + "narHash": "sha256-+YVXAkG4pp7RGs8lGnNFc0kQcUV3O3kYBQaQ5Qa4wB0=", + "owner": "jackMort", + "repo": "ChatGPT.nvim", + "rev": "5b6d296eefc75331e2ff9f0adcffbd7d27862dd6", + "type": "github" + }, + "original": { + "owner": "jackMort", + "repo": "ChatGPT.nvim", + "type": "github" + } + }, + "plugin-cheatsheet-nvim": { + "flake": false, + "locked": { + "lastModified": 1640255456, + "narHash": "sha256-TYkGB7cON2t4GwMaR9H1MDG2j3btBv2AR37ade8kqTY=", + "owner": "sudormrfbin", + "repo": "cheatsheet.nvim", + "rev": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef", + "type": "github" + }, + "original": { + "owner": "sudormrfbin", + "repo": "cheatsheet.nvim", + "type": "github" + } + }, + "plugin-cinnamon-nvim": { + "flake": false, + "locked": { + "lastModified": 1722992123, + "narHash": "sha256-kccQ4iFMSQ8kvE7hYz90hBrsDLo7VohFj/6lEZZiAO8=", + "owner": "declancm", + "repo": "cinnamon.nvim", + "rev": "450cb3247765fed7871b41ef4ce5fa492d834215", + "type": "github" + }, + "original": { + "owner": "declancm", + "repo": "cinnamon.nvim", + "type": "github" + } + }, + "plugin-cmp-buffer": { + "flake": false, + "locked": { + "lastModified": 1660101488, + "narHash": "sha256-dG4U7MtnXThoa/PD+qFtCt76MQ14V1wX8GMYcvxEnbM=", + "owner": "hrsh7th", + "repo": "cmp-buffer", + "rev": "3022dbc9166796b644a841a02de8dd1cc1d311fa", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "cmp-buffer", + "type": "github" + } + }, + "plugin-cmp-luasnip": { + "flake": false, + "locked": { + "lastModified": 1730707109, + "narHash": "sha256-86lKQPPyqFz8jzuLajjHMKHrYnwW6+QOcPyQEx6B+gw=", + "owner": "saadparwaiz1", + "repo": "cmp_luasnip", + "rev": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90", + "type": "github" + }, + "original": { + "owner": "saadparwaiz1", + "repo": "cmp_luasnip", + "type": "github" + } + }, + "plugin-cmp-nvim-lsp": { + "flake": false, + "locked": { + "lastModified": 1733823748, + "narHash": "sha256-iaihXNCF5bB5MdeoosD/kc3QtpA/QaIDZVLiLIurBSM=", + "owner": "hrsh7th", + "repo": "cmp-nvim-lsp", + "rev": "99290b3ec1322070bcfb9e846450a46f6efa50f0", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "cmp-nvim-lsp", + "type": "github" + } + }, + "plugin-cmp-path": { + "flake": false, + "locked": { + "lastModified": 1664784283, + "narHash": "sha256-thppiiV3wjIaZnAXmsh7j3DUc6ceSCvGzviwFUnoPaI=", + "owner": "hrsh7th", + "repo": "cmp-path", + "rev": "91ff86cd9c29299a64f968ebb45846c485725f23", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "cmp-path", + "type": "github" + } + }, + "plugin-cmp-treesitter": { + "flake": false, + "locked": { + "lastModified": 1715596479, + "narHash": "sha256-8WAk9S+/7vSz7bVHdEzjbKUokU144fvnByIeJ1gAWhU=", + "owner": "ray-x", + "repo": "cmp-treesitter", + "rev": "958fcfa0d8ce46d215e19cc3992c542f576c4123", + "type": "github" + }, + "original": { + "owner": "ray-x", + "repo": "cmp-treesitter", + "type": "github" + } + }, + "plugin-codewindow-nvim": { + "flake": false, + "locked": { + "lastModified": 1717593052, + "narHash": "sha256-HAqVTAkFZ1/vBiBP/QDE1fmwOl/PbznAxz/jmUFxs88=", + "owner": "gorbit99", + "repo": "codewindow.nvim", + "rev": "dd7017617962943eb1d152fc58940f11c6775a4a", + "type": "github" + }, + "original": { + "owner": "gorbit99", + "repo": "codewindow.nvim", + "type": "github" + } + }, + "plugin-comment-nvim": { + "flake": false, + "locked": { + "lastModified": 1717957420, + "narHash": "sha256-h0kPue5Eqd5aeu4VoLH45pF0DmWWo1d8SnLICSQ63zc=", + "owner": "numToStr", + "repo": "Comment.nvim", + "rev": "e30b7f2008e52442154b66f7c519bfd2f1e32acb", + "type": "github" + }, + "original": { + "owner": "numToStr", + "repo": "Comment.nvim", + "type": "github" + } + }, + "plugin-copilot-cmp": { + "flake": false, + "locked": { + "lastModified": 1733947099, + "narHash": "sha256-erRL8bY/zuwuCZfttw+avTrFV7pjv2H6v73NzY2bymM=", + "owner": "zbirenbaum", + "repo": "copilot-cmp", + "rev": "15fc12af3d0109fa76b60b5cffa1373697e261d1", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot-cmp", + "type": "github" + } + }, + "plugin-copilot-lua": { + "flake": false, + "locked": { + "lastModified": 1734926641, + "narHash": "sha256-c2UE0dLBtoYMvMxg+jXzfsD+wN9sZLvftJq4gGmooZU=", + "owner": "zbirenbaum", + "repo": "copilot.lua", + "rev": "886ee73b6d464b2b3e3e6a7ff55ce87feac423a9", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot.lua", + "type": "github" + } + }, + "plugin-crates-nvim": { + "flake": false, + "locked": { + "lastModified": 1727384188, + "narHash": "sha256-DIG0MXRTit4iEVoLlgsTK4znjam/QDjeZEpIDn6KHiE=", + "owner": "Saecki", + "repo": "crates.nvim", + "rev": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785", + "type": "github" + }, + "original": { + "owner": "Saecki", + "repo": "crates.nvim", + "type": "github" + } + }, + "plugin-csharpls-extended": { + "flake": false, + "locked": { + "lastModified": 1734491815, + "narHash": "sha256-jO/vuNgP8JAOIturzPFvxMLL5y+6YTYsUxjWwX6Nyso=", + "owner": "Decodetalkers", + "repo": "csharpls-extended-lsp.nvim", + "rev": "4f56c06215d10c4fcfee8a7f04ba766c114aece0", + "type": "github" + }, + "original": { + "owner": "Decodetalkers", + "repo": "csharpls-extended-lsp.nvim", + "type": "github" + } + }, + "plugin-dashboard-nvim": { + "flake": false, + "locked": { + "lastModified": 1730526793, + "narHash": "sha256-Qi8kmC3U8Tvxh0pWIBtN3DuWJioEGWn7FqQ8lQwauRo=", + "owner": "glepnir", + "repo": "dashboard-nvim", + "rev": "ae309606940d26d8c9df8b048a6e136b6bbec478", + "type": "github" + }, + "original": { + "owner": "glepnir", + "repo": "dashboard-nvim", + "type": "github" + } + }, + "plugin-diffview-nvim": { + "flake": false, + "locked": { + "lastModified": 1718279802, + "narHash": "sha256-SX+ybIzL/w6uyCy4iZKnWnzTFwqB1oXSgyYVAdpdKi8=", + "owner": "sindrets", + "repo": "diffview.nvim", + "rev": "4516612fe98ff56ae0415a259ff6361a89419b0a", + "type": "github" + }, + "original": { + "owner": "sindrets", + "repo": "diffview.nvim", + "type": "github" + } + }, + "plugin-dracula": { + "flake": false, + "locked": { + "lastModified": 1734597715, + "narHash": "sha256-9iRI5NW3mcVzduitY4sr679dRWAWVbZuCAEfgM1OIOs=", + "owner": "Mofiqul", + "repo": "dracula.nvim", + "rev": "515acae4fd294fcefa5b15237a333c2606e958d1", + "type": "github" + }, + "original": { + "owner": "Mofiqul", + "repo": "dracula.nvim", + "type": "github" + } + }, + "plugin-dressing-nvim": { + "flake": false, + "locked": { + "lastModified": 1734804193, + "narHash": "sha256-N4hB5wDgoqXrXxSfzDCrqmdDtdVvq+PtOS7FBPH7qXE=", + "owner": "stevearc", + "repo": "dressing.nvim", + "rev": "3a45525bb182730fe462325c99395529308f431e", + "type": "github" + }, + "original": { + "owner": "stevearc", + "repo": "dressing.nvim", + "type": "github" + } + }, + "plugin-elixir-tools": { + "flake": false, + "locked": { + "lastModified": 1735076861, + "narHash": "sha256-CoGTVSKifjqshk8hYaQfFYTYgEGsIb1hKdz6fIS81iU=", + "owner": "elixir-tools", + "repo": "elixir-tools.nvim", + "rev": "803fa69dbb457305cff98e3997bed2c4b51aea7c", + "type": "github" + }, + "original": { + "owner": "elixir-tools", + "repo": "elixir-tools.nvim", + "type": "github" + } + }, + "plugin-fastaction-nvim": { + "flake": false, + "locked": { + "lastModified": 1734546047, + "narHash": "sha256-1GSxTyXqufjkRtNK3drWlCn/mGJ9mM9bHMR6ZwWT6X8=", + "owner": "Chaitanyabsprip", + "repo": "fastaction.nvim", + "rev": "886e22d85e13115808e81ca367d5aaba02d9a25b", + "type": "github" + }, + "original": { + "owner": "Chaitanyabsprip", + "repo": "fastaction.nvim", + "type": "github" + } + }, + "plugin-fidget-nvim": { + "flake": false, + "locked": { + "lastModified": 1734334336, + "narHash": "sha256-o0za2NxFtzHZa7PRIm9U/P1/fwJrxS1G79ukdGLhJ4Q=", + "owner": "j-hui", + "repo": "fidget.nvim", + "rev": "9238947645ce17d96f30842e61ba81147185b657", + "type": "github" + }, + "original": { + "owner": "j-hui", + "repo": "fidget.nvim", + "type": "github" + } + }, + "plugin-flutter-tools": { + "flake": false, + "locked": { + "lastModified": 1735420417, + "narHash": "sha256-xfSdPhrSUwBYdE9ZA8GgwFvR70nOp+snbNrFHeIfwOM=", + "owner": "akinsho", + "repo": "flutter-tools.nvim", + "rev": "a526c30f1941a7472509aaedda13758f943c968e", + "type": "github" + }, + "original": { + "owner": "akinsho", + "repo": "flutter-tools.nvim", + "type": "github" + } + }, + "plugin-friendly-snippets": { + "flake": false, + "locked": { + "lastModified": 1733106470, + "narHash": "sha256-I8SRZxnoNC6SOWW+scoA77Jwyxcb4eUczppLdyOiZe0=", + "owner": "rafamadriz", + "repo": "friendly-snippets", + "rev": "efff286dd74c22f731cdec26a70b46e5b203c619", + "type": "github" + }, + "original": { + "owner": "rafamadriz", + "repo": "friendly-snippets", + "type": "github" + } + }, + "plugin-fzf-lua": { + "flake": false, + "locked": { + "lastModified": 1737131132, + "narHash": "sha256-0IdADUsIr+SZ0ort92jPPfGIH1EdcwELYz+TCmDCPPI=", + "owner": "ibhagwan", + "repo": "fzf-lua", + "rev": "fbe21aeb147b3dc8b188b5753a8e288ecedcee5e", + "type": "github" + }, + "original": { + "owner": "ibhagwan", + "repo": "fzf-lua", + "type": "github" + } + }, + "plugin-gesture-nvim": { + "flake": false, + "locked": { + "lastModified": 1731669851, + "narHash": "sha256-LTkttlDmKO9ngzrJrMWeeG9R0Bz/PoroCAF2URhUEbM=", + "owner": "notomo", + "repo": "gesture.nvim", + "rev": "dbd839bda337cb73911aeef06897eb29cb99f76f", + "type": "github" + }, + "original": { + "owner": "notomo", + "repo": "gesture.nvim", + "type": "github" + } + }, + "plugin-gitsigns-nvim": { + "flake": false, + "locked": { + "lastModified": 1732361574, + "narHash": "sha256-H7A+AxioiedSuC+jqRwP4c7DjZR/0j4o/fTUasT2urc=", + "owner": "lewis6991", + "repo": "gitsigns.nvim", + "rev": "5f808b5e4fef30bd8aca1b803b4e555da07fc412", + "type": "github" + }, + "original": { + "owner": "lewis6991", + "repo": "gitsigns.nvim", + "type": "github" + } + }, + "plugin-glow-nvim": { + "flake": false, + "locked": { + "lastModified": 1703345545, + "narHash": "sha256-GsNcASzVvY0066kak2nvUY5luzanoBclqcUOsODww8g=", + "owner": "ellisonleao", + "repo": "glow.nvim", + "rev": "238070a686c1da3bccccf1079700eb4b5e19aea4", + "type": "github" + }, + "original": { + "owner": "ellisonleao", + "repo": "glow.nvim", + "type": "github" + } + }, + "plugin-gruvbox": { + "flake": false, + "locked": { + "lastModified": 1732485864, + "narHash": "sha256-qasIg1nvAlUWUUzSZLF36jnoNm8PmQa3owgh0tKGgHk=", + "owner": "ellisonleao", + "repo": "gruvbox.nvim", + "rev": "68c3460a5d1d1a362318960035c9f3466d5011f5", + "type": "github" + }, + "original": { + "owner": "ellisonleao", + "repo": "gruvbox.nvim", + "type": "github" + } + }, + "plugin-haskell-tools-nvim": { + "flake": false, + "locked": { + "lastModified": 1734222260, + "narHash": "sha256-gZVN9ADPO5wFOaf19FydCneb7aKTT9K1vcLoBURPEjk=", + "owner": "mrcjkb", + "repo": "haskell-tools.nvim", + "rev": "943b77b68a79d3991523ba4d373063c9355c6f55", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "repo": "haskell-tools.nvim", + "type": "github" + } + }, + "plugin-highlight-undo": { + "flake": false, + "locked": { + "lastModified": 1732378966, + "narHash": "sha256-b0JrMu3vbbYgyHPs9hyayMzUypFwugEAxvZOcuRMc/o=", + "owner": "tzachar", + "repo": "highlight-undo.nvim", + "rev": "5f588b420179a31d7073854bfd07ed9d5f364645", + "type": "github" + }, + "original": { + "owner": "tzachar", + "repo": "highlight-undo.nvim", + "type": "github" + } + }, + "plugin-hop-nvim": { + "flake": false, + "locked": { + "lastModified": 1694283445, + "narHash": "sha256-SnuFeD/lrMxKtpBRPgIwdG0kVF7BWe02PiV7URVDASI=", + "owner": "phaazon", + "repo": "hop.nvim", + "rev": "1a1eceafe54b5081eae4cb91c723abd1d450f34b", + "type": "github" + }, + "original": { + "owner": "phaazon", + "repo": "hop.nvim", + "type": "github" + } + }, + "plugin-icon-picker-nvim": { + "flake": false, + "locked": { + "lastModified": 1704321319, + "narHash": "sha256-VZKsVeSmPR3AA8267Mtd5sSTZl2CAqnbgqceCptgp4w=", + "owner": "ziontee113", + "repo": "icon-picker.nvim", + "rev": "3ee9a0ea9feeef08ae35e40c8be6a2fa2c20f2d3", + "type": "github" + }, + "original": { + "owner": "ziontee113", + "repo": "icon-picker.nvim", + "type": "github" + } + }, + "plugin-image-nvim": { + "flake": false, + "locked": { + "lastModified": 1735173549, + "narHash": "sha256-Sjbmf4BmjkjAorT3tojbC7JivJagFamAVgzwcCipa8k=", + "owner": "3rd", + "repo": "image.nvim", + "rev": "b991fc7f845bc6ab40c6ec00b39750dcd5190010", + "type": "github" + }, + "original": { + "owner": "3rd", + "repo": "image.nvim", + "type": "github" + } + }, + "plugin-indent-blankline": { + "flake": false, + "locked": { + "lastModified": 1733296464, + "narHash": "sha256-H3lUQZDvgj3a2STYeMUDiOYPe7rfsy08tJ4SlDd+LuE=", + "owner": "lukas-reineke", + "repo": "indent-blankline.nvim", + "rev": "259357fa4097e232730341fa60988087d189193a", + "type": "github" + }, + "original": { + "owner": "lukas-reineke", + "repo": "indent-blankline.nvim", + "type": "github" + } + }, + "plugin-leap-nvim": { + "flake": false, + "locked": { + "lastModified": 1722337962, + "narHash": "sha256-PFD/UliAHKk2ga+7p/GmoZGqZFWenIVLkzmO+FkhvrY=", + "owner": "ggandor", + "repo": "leap.nvim", + "rev": "c6bfb191f1161fbabace1f36f578a20ac6c7642c", + "type": "github" + }, + "original": { + "owner": "ggandor", + "repo": "leap.nvim", + "type": "github" + } + }, + "plugin-lsp-lines": { + "flake": false, + "locked": { + "lastModified": 1734793049, + "narHash": "sha256-jHiIZemneQACTDYZXBJqX2/PRTBoxq403ILvt1Ej1ZM=", + "owner": "~whynothugo", + "repo": "lsp_lines.nvim", + "rev": "a92c755f182b89ea91bd8a6a2227208026f27b4d", + "type": "sourcehut" + }, + "original": { + "owner": "~whynothugo", + "repo": "lsp_lines.nvim", + "type": "sourcehut" + } + }, + "plugin-lsp-signature": { + "flake": false, + "locked": { + "lastModified": 1726445971, + "narHash": "sha256-W6bN3R10B84noK7MOzvUOIc82WwyojIS97iFL/dO5yk=", + "owner": "ray-x", + "repo": "lsp_signature.nvim", + "rev": "fc38521ea4d9ec8dbd4c2819ba8126cea743943b", + "type": "github" + }, + "original": { + "owner": "ray-x", + "repo": "lsp_signature.nvim", + "type": "github" + } + }, + "plugin-lspkind": { + "flake": false, + "locked": { + "lastModified": 1733408701, + "narHash": "sha256-OCvKUBGuzwy8OWOL1x3Z3fo+0+GyBMI9TX41xSveqvE=", + "owner": "onsails", + "repo": "lspkind-nvim", + "rev": "d79a1c3299ad0ef94e255d045bed9fa26025dab6", + "type": "github" + }, + "original": { + "owner": "onsails", + "repo": "lspkind-nvim", + "type": "github" + } + }, + "plugin-lspsaga": { + "flake": false, + "locked": { + "lastModified": 1670360222, + "narHash": "sha256-7ENInq3LAPPTdm0Fb7klOc630j8m4LRj1kLZZFYLh68=", + "owner": "tami5", + "repo": "lspsaga.nvim", + "rev": "5faeec9f2508d2d49a66c0ac0d191096b4e3fa81", + "type": "github" + }, + "original": { + "owner": "tami5", + "repo": "lspsaga.nvim", + "type": "github" + } + }, + "plugin-lua-utils-nvim": { + "flake": false, + "locked": { + "lastModified": 1708177208, + "narHash": "sha256-9ildzQEMkXKZ3LHq+khGFgRQFxlIXQclQ7QU3fcU1C4=", + "owner": "nvim-neorg", + "repo": "lua-utils.nvim", + "rev": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd", + "type": "github" + }, + "original": { + "owner": "nvim-neorg", + "repo": "lua-utils.nvim", + "type": "github" + } + }, + "plugin-lualine": { + "flake": false, + "locked": { + "lastModified": 1731050126, + "narHash": "sha256-IN6Qz3jGxUcylYiRTyd8j6me3pAoqJsJXtFUvph/6EI=", + "owner": "hoob3rt", + "repo": "lualine.nvim", + "rev": "2a5bae925481f999263d6f5ed8361baef8df4f83", + "type": "github" + }, + "original": { + "owner": "hoob3rt", + "repo": "lualine.nvim", + "type": "github" + } + }, + "plugin-luasnip": { + "flake": false, + "locked": { + "lastModified": 1733162004, + "narHash": "sha256-efDe3RXncnNVkj37AmIv8oj0DKurB50Dziao5FGTLP4=", + "owner": "L3MON4D3", + "repo": "LuaSnip", + "rev": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d", + "type": "github" + }, + "original": { + "owner": "L3MON4D3", + "repo": "LuaSnip", + "type": "github" + } + }, + "plugin-lz-n": { + "flake": false, + "locked": { + "lastModified": 1735437369, + "narHash": "sha256-6NIXqwmX7RgwiZVEzmTnkJgmrPqFNx12ayIcRgNIaEs=", + "owner": "nvim-neorocks", + "repo": "lz.n", + "rev": "32be28a221b9c98e56841458e4b20c150a4169c4", + "type": "github" + }, + "original": { + "owner": "nvim-neorocks", + "repo": "lz.n", + "type": "github" + } + }, + "plugin-lzn-auto-require": { + "flake": false, + "locked": { + "lastModified": 1731009187, + "narHash": "sha256-KC1z+zC9vKODllZVpBu+udzM12oYJaS8e6LdXWtQ89U=", + "owner": "horriblename", + "repo": "lzn-auto-require", + "rev": "a075ed51976323fd7fc44ccfca89fe0449a08cca", + "type": "github" + }, + "original": { + "owner": "horriblename", + "ref": "require-rewrite", + "repo": "lzn-auto-require", + "type": "github" + } + }, + "plugin-mind-nvim": { + "flake": false, + "locked": { + "lastModified": 1679526071, + "narHash": "sha256-JIhAhQYGLLRucwlhzfckQYU5qjqbHtNH52JlGS5a79w=", + "owner": "phaazon", + "repo": "mind.nvim", + "rev": "002137dd7cf97865ebd01b6a260209d2daf2da66", + "type": "github" + }, + "original": { + "owner": "phaazon", + "repo": "mind.nvim", + "type": "github" + } + }, + "plugin-mini-ai": { + "flake": false, + "locked": { + "lastModified": 1733662803, + "narHash": "sha256-b/776l9nYM9e2atzXrvOk9dCxjzIuW/+iINC/yPv88Y=", + "owner": "echasnovski", + "repo": "mini.ai", + "rev": "ebb04799794a7f94628153991e6334c3304961b8", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.ai", + "type": "github" + } + }, + "plugin-mini-align": { + "flake": false, + "locked": { + "lastModified": 1735582248, + "narHash": "sha256-oHub8dEihIx4kcP3CD9GXG1SUObJUVpH4bg2Z6PmadQ=", + "owner": "echasnovski", + "repo": "mini.align", + "rev": "e715137aece7d05734403d793b8b6b64486bc812", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.align", + "type": "github" + } + }, + "plugin-mini-animate": { + "flake": false, + "locked": { + "lastModified": 1733078395, + "narHash": "sha256-ZePmJuHCCymTgaK46nSg5tRloxs+UKrVgVmT++rGKpc=", + "owner": "echasnovski", + "repo": "mini.animate", + "rev": "d14190ac3040116540889e2ebc25f488b195799e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.animate", + "type": "github" + } + }, + "plugin-mini-base16": { + "flake": false, + "locked": { + "lastModified": 1734960100, + "narHash": "sha256-VGs4k/xDujPcA0Nv5T18ybSv1iqnzg0AFmaweRdhvDM=", + "owner": "echasnovski", + "repo": "mini.base16", + "rev": "23453dacc1606e5d42238d82f0b42a2985386b62", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.base16", + "type": "github" + } + }, + "plugin-mini-basics": { + "flake": false, + "locked": { + "lastModified": 1730194519, + "narHash": "sha256-R8POaMcgb6SBOxIpanZsswieywapnU7zDNjQMRTkR8U=", + "owner": "echasnovski", + "repo": "mini.basics", + "rev": "67c10b3436d5d3b892715137f4773e71c6753b13", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.basics", + "type": "github" + } + }, + "plugin-mini-bracketed": { + "flake": false, + "locked": { + "lastModified": 1737036218, + "narHash": "sha256-y+tGFF1H37ES/hnEtr3GJK3GeB6D5s8ZdSpvzl+lh3s=", + "owner": "echasnovski", + "repo": "mini.bracketed", + "rev": "0091e11fabe34973fc038a8d0d0485202742e403", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.bracketed", + "type": "github" + } + }, + "plugin-mini-bufremove": { + "flake": false, + "locked": { + "lastModified": 1730726192, + "narHash": "sha256-CB6ZIlrCQlh2W44Knnb10REDcvj4jcYkW/9CiOaoH2E=", + "owner": "echasnovski", + "repo": "mini.bufremove", + "rev": "285bdac9596ee7375db50c0f76ed04336dcd2685", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.bufremove", + "type": "github" + } + }, + "plugin-mini-clue": { + "flake": false, + "locked": { + "lastModified": 1737130586, + "narHash": "sha256-/0DpZV/jXuhaqBz5j4JN3xmofATlwPMHNSm/uTXALg0=", + "owner": "echasnovski", + "repo": "mini.clue", + "rev": "63e42dad781b9ed4845d90ef1da8c52dfb6dce3f", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.clue", + "type": "github" + } + }, + "plugin-mini-colors": { + "flake": false, + "locked": { + "lastModified": 1730726192, + "narHash": "sha256-B2JahCUhKpYwOJrl+BhSp3UQFiyyMGJAYKGK+uMv3fk=", + "owner": "echasnovski", + "repo": "mini.colors", + "rev": "d64b1c0f520579d905f97208eca85329e664ab88", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.colors", + "type": "github" + } + }, + "plugin-mini-comment": { + "flake": false, + "locked": { + "lastModified": 1736611383, + "narHash": "sha256-vAgBDSVtXCP+rlu+cmXdoZQBGShyH7KfL8E/gvDMfnM=", + "owner": "echasnovski", + "repo": "mini.comment", + "rev": "6e1f9a8ebbf6f693fa3787ceda8ca3bf3cb6aec7", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.comment", + "type": "github" + } + }, + "plugin-mini-completion": { + "flake": false, + "locked": { + "lastModified": 1732271068, + "narHash": "sha256-dlQCfHUQX9rPiSYZSRipezHX0CG/redbV2g7cpwwExY=", + "owner": "echasnovski", + "repo": "mini.completion", + "rev": "6eb9546685c4e1c4af2365b87166d4afa39d8a1b", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.completion", + "type": "github" + } + }, + "plugin-mini-diff": { + "flake": false, + "locked": { + "lastModified": 1735324663, + "narHash": "sha256-dRvW/1lfVShiHmRU0mQA5g5xDyQ0EVtVLLZ0y6WSedg=", + "owner": "echasnovski", + "repo": "mini.diff", + "rev": "00f072250061ef498f91ed226918c9ec31a416a4", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.diff", + "type": "github" + } + }, + "plugin-mini-doc": { + "flake": false, + "locked": { + "lastModified": 1723308950, + "narHash": "sha256-Q3DAEV1ZHS+lFhZKFCNoIjn41ksk7WRrVP2b2d6uSss=", + "owner": "echasnovski", + "repo": "mini.doc", + "rev": "bb73a3d1ff390f7e2740027ea2567017099a237c", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.doc", + "type": "github" + } + }, + "plugin-mini-extra": { + "flake": false, + "locked": { + "lastModified": 1736279066, + "narHash": "sha256-lUJrviUjAmJ70g2y93aNw3e1mHGHoB9lbh44HGP7zQs=", + "owner": "echasnovski", + "repo": "mini.extra", + "rev": "477e3dda7b597b49bc1373951ea7da4da834c352", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.extra", + "type": "github" + } + }, + "plugin-mini-files": { + "flake": false, + "locked": { + "lastModified": 1736535707, + "narHash": "sha256-UHW78m4BiYMMrABwdkyyzQUENgQrVFbWJnmNdRMtr0w=", + "owner": "echasnovski", + "repo": "mini.files", + "rev": "d0f03a5c38836fd2cce3dc80734124959002078c", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.files", + "type": "github" + } + }, + "plugin-mini-fuzzy": { + "flake": false, + "locked": { + "lastModified": 1730726192, + "narHash": "sha256-XvDkDfwPcBxySuz58f2mpWTeo8EsOnMvZUcNI8HNZg8=", + "owner": "echasnovski", + "repo": "mini.fuzzy", + "rev": "faa5a6c0d29c28012c90bd011162963a58715428", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.fuzzy", + "type": "github" + } + }, + "plugin-mini-git": { + "flake": false, + "locked": { + "lastModified": 1736535710, + "narHash": "sha256-rXuKopyZBCBbpKuytCdm8keruSNK1ohk2NdeZv1wifI=", + "owner": "echasnovski", + "repo": "mini-git", + "rev": "fc13dde6cfe87cf25a4fd1ee177c0d157468436b", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini-git", + "type": "github" + } + }, + "plugin-mini-hipatterns": { + "flake": false, + "locked": { + "lastModified": 1733141274, + "narHash": "sha256-zJ8OMzfcBh9NtSg2FHDjB5DFX9C2qZRo8t8lc097sCI=", + "owner": "echasnovski", + "repo": "mini.hipatterns", + "rev": "f34975103a38b3f608219a1324cdfc58ea660b8b", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.hipatterns", + "type": "github" + } + }, + "plugin-mini-hues": { + "flake": false, + "locked": { + "lastModified": 1734960100, + "narHash": "sha256-4y79ejOkRL/fajZ4jC8t4K6EgNbnTsH++mIjmo6G3q0=", + "owner": "echasnovski", + "repo": "mini.hues", + "rev": "ae6ad4c666ff42c1102344fe1eba18bb486f2e46", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.hues", + "type": "github" + } + }, + "plugin-mini-icons": { + "flake": false, + "locked": { + "lastModified": 1737036219, + "narHash": "sha256-w0PxiTj9uiUffZXkMM18IO/b/zPpdRKW9ydyhvXRoqE=", + "owner": "echasnovski", + "repo": "mini.icons", + "rev": "910db5df9724d65371182948f921fce23c2c881e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.icons", + "type": "github" + } + }, + "plugin-mini-indentscope": { + "flake": false, + "locked": { + "lastModified": 1737036220, + "narHash": "sha256-Mrzc7oHXxyEGqdE003qiC9unScyb7i5A6+l8Do7yxws=", + "owner": "echasnovski", + "repo": "mini.indentscope", + "rev": "613df2830d7faeae7483ba2e736683154b95921e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.indentscope", + "type": "github" + } + }, + "plugin-mini-jump": { + "flake": false, + "locked": { + "lastModified": 1733662809, + "narHash": "sha256-qMP9ezk4xZov5S4vrUFM62lnc4YkEaZL1EVzdXwDq1Q=", + "owner": "echasnovski", + "repo": "mini.jump", + "rev": "bb93d998c9db6936697746330411f5fb9957145e", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.jump", + "type": "github" + } + }, + "plugin-mini-jump2d": { + "flake": false, + "locked": { + "lastModified": 1733662811, + "narHash": "sha256-+DihKCh6GYwin3H9YD+q30MLMRNXvvb1GtKnfBinGjc=", + "owner": "echasnovski", + "repo": "mini.jump2d", + "rev": "88077058297e80f1c76a18ed801ae9d7064187c6", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.jump2d", + "type": "github" + } + }, + "plugin-mini-map": { + "flake": false, + "locked": { + "lastModified": 1725613927, + "narHash": "sha256-dL+d92+GLAILQ/A1JVCwoe3B5WtwVK01tPuC+fOTB5A=", + "owner": "echasnovski", + "repo": "mini.map", + "rev": "4c58e755d75f9999abcd3b3c6e934734b6a8b098", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.map", + "type": "github" + } + }, + "plugin-mini-misc": { + "flake": false, + "locked": { + "lastModified": 1734103112, + "narHash": "sha256-qnYa4IZk14MGZArmVpn15l+P9cwtFWomBVxRuYHVyXc=", + "owner": "echasnovski", + "repo": "mini.misc", + "rev": "645fb9367c19bb485902e54e5451425981498601", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.misc", + "type": "github" + } + }, + "plugin-mini-move": { + "flake": false, + "locked": { + "lastModified": 1723711319, + "narHash": "sha256-nX0eAlhMnKhAftgM6qeHUuawagumLQMPKDkqZNPLljg=", + "owner": "echasnovski", + "repo": "mini.move", + "rev": "4caa1c212f5ca3d1633d21cfb184808090ed74b1", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.move", + "type": "github" + } + }, + "plugin-mini-notify": { + "flake": false, + "locked": { + "lastModified": 1736790793, + "narHash": "sha256-q27j14OV6LAfoxeqBG75GSiqtqmW37GOPHpmA2fD4gs=", + "owner": "echasnovski", + "repo": "mini.notify", + "rev": "05e598d5b349bd66404d576e6a4d4340aea5f194", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.notify", + "type": "github" + } + }, + "plugin-mini-operators": { + "flake": false, + "locked": { + "lastModified": 1731776514, + "narHash": "sha256-+Zhy0AhuMPSHnM6dqbV45Aa7dS7XJ4mpfcHApSbuy8A=", + "owner": "echasnovski", + "repo": "mini.operators", + "rev": "7cb4dc66c51a3d736d347bbc517dc73dc7d28888", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.operators", + "type": "github" + } + }, + "plugin-mini-pairs": { + "flake": false, + "locked": { + "lastModified": 1728656795, + "narHash": "sha256-PtHxLKU1smVTx655r5SINxuz5CJmZWnBW70T8zJ/oxM=", + "owner": "echasnovski", + "repo": "mini.pairs", + "rev": "7e834c5937d95364cc1740e20d673afe2d034cdb", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.pairs", + "type": "github" + } + }, + "plugin-mini-pick": { + "flake": false, + "locked": { + "lastModified": 1736696004, + "narHash": "sha256-Q4GD0WzUYNtoBMx8pIl6fX5glKn1oflS4HZVC+w/eAM=", + "owner": "echasnovski", + "repo": "mini.pick", + "rev": "09ade94d2c9c5133db9ae00f3693d82eae78e9be", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.pick", + "type": "github" + } + }, + "plugin-mini-sessions": { + "flake": false, + "locked": { + "lastModified": 1735582250, + "narHash": "sha256-vyn8MGyOWFgJ5QVvjYb7K1cKDtg9qWnWYMNf80+kpHk=", + "owner": "echasnovski", + "repo": "mini.sessions", + "rev": "71c9ae596664ac110560d27eb928fc24e22bc53d", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.sessions", + "type": "github" + } + }, + "plugin-mini-snippets": { + "flake": false, + "locked": { + "lastModified": 1736611383, + "narHash": "sha256-How9m7KTo66FrwjZQlgZRmJ5toFKn/+GnUbx/0va3lM=", + "owner": "echasnovski", + "repo": "mini.snippets", + "rev": "72920f62e3dd1330720e94e8f5d42592f3a1ecf8", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.snippets", + "type": "github" + } + }, + "plugin-mini-splitjoin": { + "flake": false, + "locked": { + "lastModified": 1719822504, + "narHash": "sha256-LDIbh5KfupTI4zkYOlLmVCd3DuZRhx5lTASN53VG34g=", + "owner": "echasnovski", + "repo": "mini.splitjoin", + "rev": "3e92f6764e770ba392325cad3a4497adcada695f", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.splitjoin", + "type": "github" + } + }, + "plugin-mini-starter": { + "flake": false, + "locked": { + "lastModified": 1736858747, + "narHash": "sha256-pJYkZUo+L3IeGCRdTipqTzMv+HatpNnyRxshaygKtIw=", + "owner": "echasnovski", + "repo": "mini.starter", + "rev": "4b257cfc93241e8c8cde3f9302d1616ad4e0d036", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.starter", + "type": "github" + } + }, + "plugin-mini-statusline": { + "flake": false, + "locked": { + "lastModified": 1735582251, + "narHash": "sha256-AQ2N93JDjtFpgerWTzRspmxrl9oQuALbeCUxBO4ZPqo=", + "owner": "echasnovski", + "repo": "mini.statusline", + "rev": "1b0edf76fe2af015f8c989385ff949f1db7aade2", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.statusline", + "type": "github" + } + }, + "plugin-mini-surround": { + "flake": false, + "locked": { + "lastModified": 1733662812, + "narHash": "sha256-okWJlG0KOdg1ShvkIIMnPSoOzGd7K84eDcp5kx6eVP8=", + "owner": "echasnovski", + "repo": "mini.surround", + "rev": "aa5e245829dd12d8ff0c96ef11da28681d6049aa", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.surround", + "type": "github" + } + }, + "plugin-mini-tabline": { + "flake": false, + "locked": { + "lastModified": 1729176541, + "narHash": "sha256-nucUqSN8w2xBnDp1dFBgRVVvfVoqZMdx7Zj78wdFAP0=", + "owner": "echasnovski", + "repo": "mini.tabline", + "rev": "06ef4ecaeca2e362c7d31113435d86d144b3cbbe", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.tabline", + "type": "github" + } + }, + "plugin-mini-test": { + "flake": false, + "locked": { + "lastModified": 1729520957, + "narHash": "sha256-NtsX441k84owAAJywq4G2rMvV6d7UR2K75G8oKam+gs=", + "owner": "echasnovski", + "repo": "mini.test", + "rev": "86a64d5a4bf9d73ebf5875edaae0d878f64f5e48", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.test", + "type": "github" + } + }, + "plugin-mini-trailspace": { + "flake": false, + "locked": { + "lastModified": 1725613928, + "narHash": "sha256-JKYvFz8g8kVZvxE44RhwoHXQykghXx7ebW/Mj1ZdJIw=", + "owner": "echasnovski", + "repo": "mini.trailspace", + "rev": "3a328e62559c33014e422fb9ae97afc4208208b1", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.trailspace", + "type": "github" + } + }, + "plugin-mini-visits": { + "flake": false, + "locked": { + "lastModified": 1737036221, + "narHash": "sha256-Q+m1gZ5Obu6Zzo87Djt6VCX76ZjdOiLb0j771jP8uQE=", + "owner": "echasnovski", + "repo": "mini.visits", + "rev": "90f20ba6ab7d3d7cb984fffddd82f5f6c7a6bea7", + "type": "github" + }, + "original": { + "owner": "echasnovski", + "repo": "mini.visits", + "type": "github" + } + }, + "plugin-minimap-vim": { + "flake": false, + "locked": { + "lastModified": 1710689313, + "narHash": "sha256-GR8VAHla5HWry1TAZQv0Xp7iG256vIGeQcBGMxyt310=", + "owner": "wfxr", + "repo": "minimap.vim", + "rev": "395378137e6180762d5b963ca9ad5ac2db5d3283", + "type": "github" + }, + "original": { + "owner": "wfxr", + "repo": "minimap.vim", + "type": "github" + } + }, + "plugin-modes-nvim": { + "flake": false, + "locked": { + "lastModified": 1734414076, + "narHash": "sha256-ShIK8ROowT1yFHgSIVHUFnnQOEMr3YPIqw4ixzR8w8M=", + "owner": "mvllow", + "repo": "modes.nvim", + "rev": "c7a4b1b383606832aab150902719bd5eb5cdb2b0", + "type": "github" + }, + "original": { + "owner": "mvllow", + "repo": "modes.nvim", + "type": "github" + } + }, + "plugin-neo-tree-nvim": { + "flake": false, + "locked": { + "lastModified": 1735302061, + "narHash": "sha256-tZMneZsEbB5bgZgYq4ZWwK25B3vcnn80Q7diKcRoEv4=", + "owner": "nvim-neo-tree", + "repo": "neo-tree.nvim", + "rev": "a9f8943b4c31f8460d25c71e0f463d65e9775f1c", + "type": "github" + }, + "original": { + "owner": "nvim-neo-tree", + "repo": "neo-tree.nvim", + "type": "github" + } + }, + "plugin-neocord": { + "flake": false, + "locked": { + "lastModified": 1733429637, + "narHash": "sha256-g/pq6hFo7duonIl1wWoxbJUTh/IRTH3hHEoQUdoiqKE=", + "owner": "IogaMaster", + "repo": "neocord", + "rev": "4d55d8dab2d5f2f272192add7a2c21982039c699", + "type": "github" + }, + "original": { + "owner": "IogaMaster", + "repo": "neocord", + "type": "github" + } + }, + "plugin-neodev-nvim": { + "flake": false, + "locked": { + "lastModified": 1720260306, + "narHash": "sha256-hOjzlo/IqmV8tYjGwfmcCPEmHYsWnEIwtHZdhpwA1kM=", + "owner": "folke", + "repo": "neodev.nvim", + "rev": "46aa467dca16cf3dfe27098042402066d2ae242d", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "neodev.nvim", + "type": "github" + } + }, + "plugin-neorg": { + "flake": false, + "locked": { + "lastModified": 1734188232, + "narHash": "sha256-xH87caxEebrWLwY/v3xyyOy6PTG/ZqX2OfCdwg/RqDY=", + "owner": "nvim-neorg", + "repo": "neorg", + "rev": "6b945909d84b5aeadc875f9b3f529ec44b9bc60f", + "type": "github" + }, + "original": { + "owner": "nvim-neorg", + "repo": "neorg", + "type": "github" + } + }, + "plugin-neorg-telescope": { + "flake": false, + "locked": { + "lastModified": 1722358034, + "narHash": "sha256-ei4uUqpIQjGKzu5ryu0Hlmis9TS9FJsYnjt4J4QdWlw=", + "owner": "nvim-neorg", + "repo": "neorg-telescope", + "rev": "ddb2556644cae922699a239bbb0fe16e25b084b7", + "type": "github" + }, + "original": { + "owner": "nvim-neorg", + "repo": "neorg-telescope", + "type": "github" + } + }, + "plugin-new-file-template-nvim": { + "flake": false, + "locked": { + "lastModified": 1721518222, + "narHash": "sha256-g0IjJrHRXw7U9goVLzVYUyHBSsDZGHMpi3YZPhg64zA=", + "owner": "otavioschwanck", + "repo": "new-file-template.nvim", + "rev": "6ac66669dbf2dc5cdee184a4fe76d22465ca67e8", + "type": "github" + }, + "original": { + "owner": "otavioschwanck", + "repo": "new-file-template.nvim", + "type": "github" + } + }, + "plugin-noice-nvim": { + "flake": false, + "locked": { + "lastModified": 1734026622, + "narHash": "sha256-OpwgNTGunmy6Y7D/k0T+DFK/WJ8MeVTGWwjiPTQlvEY=", + "owner": "folke", + "repo": "noice.nvim", + "rev": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "noice.nvim", + "type": "github" + } + }, + "plugin-none-ls": { + "flake": false, + "locked": { + "lastModified": 1708525772, + "narHash": "sha256-VCDUKiy9C3Bu9suf2bI6XSis1+j01oFC3GFPyQxi74c=", + "owner": "nvimtools", + "repo": "none-ls.nvim", + "rev": "bb680d752cec37949faca7a1f509e2fe67ab418a", + "type": "github" + }, + "original": { + "owner": "nvimtools", + "repo": "none-ls.nvim", + "rev": "bb680d752cec37949faca7a1f509e2fe67ab418a", + "type": "github" + } + }, + "plugin-nord": { + "flake": false, + "locked": { + "lastModified": 1737019140, + "narHash": "sha256-ZhDS7Y90DKp+jkUqcoQRf/zHy4DVgSDQXrnl3sBYJXs=", + "owner": "gbprod", + "repo": "nord.nvim", + "rev": "b0f3ed242fd8e5bafa7231367821d46c6c835dd8", + "type": "github" + }, + "original": { + "owner": "gbprod", + "repo": "nord.nvim", + "type": "github" + } + }, + "plugin-nui-nvim": { + "flake": false, + "locked": { + "lastModified": 1733856815, + "narHash": "sha256-6U7E/i5FuNXQy+sF4C5DVxuTPqNKD5wxUgFohpOjm9Q=", + "owner": "MunifTanjim", + "repo": "nui.nvim", + "rev": "53e907ffe5eedebdca1cd503b00aa8692068ca46", + "type": "github" + }, + "original": { + "owner": "MunifTanjim", + "repo": "nui.nvim", + "type": "github" + } + }, + "plugin-nvim-autopairs": { + "flake": false, + "locked": { + "lastModified": 1731803843, + "narHash": "sha256-LbaxiU3ienVBcMKrug3Coppc4R+MD2rjREw7rHQim1w=", + "owner": "windwp", + "repo": "nvim-autopairs", + "rev": "b464658e9b880f463b9f7e6ccddd93fb0013f559", + "type": "github" + }, + "original": { + "owner": "windwp", + "repo": "nvim-autopairs", + "type": "github" + } + }, + "plugin-nvim-bufferline-lua": { + "flake": false, + "locked": { + "lastModified": 1732824069, + "narHash": "sha256-zqz2GMius0gLxtgxt12RmLUVQFVaWe+MQaGCfUGr6bI=", + "owner": "akinsho", + "repo": "nvim-bufferline.lua", + "rev": "261a72b90d6db4ed8014f7bda976bcdc9dd7ce76", + "type": "github" + }, + "original": { + "owner": "akinsho", + "repo": "nvim-bufferline.lua", + "type": "github" + } + }, + "plugin-nvim-cmp": { + "flake": false, + "locked": { + "lastModified": 1734672427, + "narHash": "sha256-Z/Qy2ErbCa7dbjZVuJUkMmb4d24amNunNgRcbCGPfOg=", + "owner": "hrsh7th", + "repo": "nvim-cmp", + "rev": "b555203ce4bd7ff6192e759af3362f9d217e8c89", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "nvim-cmp", + "type": "github" + } + }, + "plugin-nvim-colorizer-lua": { + "flake": false, + "locked": { + "lastModified": 1738229011, + "narHash": "sha256-IEgZnIUeNXRKZ4eV1+KknluyKZj68HBWe1EW+LueuGA=", + "owner": "catgoose", + "repo": "nvim-colorizer.lua", + "rev": "9b5fe0450bfb2521c6cea29391e5ec571f129136", + "type": "github" + }, + "original": { + "owner": "catgoose", + "repo": "nvim-colorizer.lua", + "type": "github" + } + }, + "plugin-nvim-cursorline": { + "flake": false, + "locked": { + "lastModified": 1650034925, + "narHash": "sha256-Uhw65p1KBjs8KsVOmTzuiu3XKclxBob8AVdWEt30C/8=", + "owner": "yamatsum", + "repo": "nvim-cursorline", + "rev": "804f0023692653b2b2368462d67d2a87056947f9", + "type": "github" + }, + "original": { + "owner": "yamatsum", + "repo": "nvim-cursorline", + "type": "github" + } + }, + "plugin-nvim-dap": { + "flake": false, + "locked": { + "lastModified": 1735568902, + "narHash": "sha256-5iaXim9bDvSAI6jUXgu2OEk/KivfAsMTRry+UTHs2Gk=", + "owner": "mfussenegger", + "repo": "nvim-dap", + "rev": "ffb077e65259f13be096ea6d603e3575a76b214a", + "type": "github" + }, + "original": { + "owner": "mfussenegger", + "repo": "nvim-dap", + "type": "github" + } + }, + "plugin-nvim-dap-go": { + "flake": false, + "locked": { + "lastModified": 1727922873, + "narHash": "sha256-wcGp5df1ER5T5oLVitWE02OywgJs3V4pazcGU5qVaUY=", + "owner": "leoluz", + "repo": "nvim-dap-go", + "rev": "6aa88167ea1224bcef578e8c7160fe8afbb44848", + "type": "github" + }, + "original": { + "owner": "leoluz", + "repo": "nvim-dap-go", + "type": "github" + } + }, + "plugin-nvim-dap-ui": { + "flake": false, + "locked": { + "lastModified": 1735324898, + "narHash": "sha256-psIBQpx3tV2UWm5hZTMPBANcXHPAX24dIuDq8Qcscxs=", + "owner": "rcarriga", + "repo": "nvim-dap-ui", + "rev": "e94d98649dccb6a3884b66aabc2e07beb279e535", + "type": "github" + }, + "original": { + "owner": "rcarriga", + "repo": "nvim-dap-ui", + "type": "github" + } + }, + "plugin-nvim-docs-view": { + "flake": false, + "locked": { + "lastModified": 1733658747, + "narHash": "sha256-b5aH8Tj+tMk0BjNCgdeCEeR26oQ9NCobj98P7IDgIPY=", + "owner": "amrbashir", + "repo": "nvim-docs-view", + "rev": "1b97f8f954d74c46061bf289b6cea9232484c12c", + "type": "github" + }, + "original": { + "owner": "amrbashir", + "repo": "nvim-docs-view", + "type": "github" + } + }, + "plugin-nvim-lightbulb": { + "flake": false, + "locked": { + "lastModified": 1734997673, + "narHash": "sha256-byvgRJvvt5rhiUVWdreY2jELXoPVld5EKQlOXwjNgWE=", + "owner": "kosayoda", + "repo": "nvim-lightbulb", + "rev": "3ac0791be37ba9cc7939f1ad90ebc5e75abf4eea", + "type": "github" + }, + "original": { + "owner": "kosayoda", + "repo": "nvim-lightbulb", + "type": "github" + } + }, + "plugin-nvim-lspconfig": { + "flake": false, + "locked": { + "lastModified": 1735439232, + "narHash": "sha256-6a1HjpLYdZ+ZmWM1B0tv631A3EHHstPrjaV15UnVtoY=", + "owner": "neovim", + "repo": "nvim-lspconfig", + "rev": "8b15a1a597a59f4f5306fad9adfe99454feab743", + "type": "github" + }, + "original": { + "owner": "neovim", + "repo": "nvim-lspconfig", + "type": "github" + } + }, + "plugin-nvim-metals": { + "flake": false, + "locked": { + "lastModified": 1735386491, + "narHash": "sha256-G9V7fX65uW4z7kiuiP8mLtEjLoTJ1mkltj51OlN5/oM=", + "owner": "scalameta", + "repo": "nvim-metals", + "rev": "e6b02c99161b43c67cfe1d6e5f9a9b9a0bb4701c", + "type": "github" + }, + "original": { + "owner": "scalameta", + "repo": "nvim-metals", + "type": "github" + } + }, + "plugin-nvim-navbuddy": { + "flake": false, + "locked": { + "lastModified": 1716111817, + "narHash": "sha256-sZ1M27qNbLMHKR4Zu0NfJoBcQxJbhmW7Cx74Acirlww=", + "owner": "SmiteshP", + "repo": "nvim-navbuddy", + "rev": "f22bac988f2dd073601d75ba39ea5636ab6e38cb", + "type": "github" + }, + "original": { + "owner": "SmiteshP", + "repo": "nvim-navbuddy", + "type": "github" + } + }, + "plugin-nvim-navic": { + "flake": false, + "locked": { + "lastModified": 1701345631, + "narHash": "sha256-0p5n/V8Jlj9XyxV/fuMwsbQ7oV5m9H2GqZZEA/njxCQ=", + "owner": "SmiteshP", + "repo": "nvim-navic", + "rev": "8649f694d3e76ee10c19255dece6411c29206a54", + "type": "github" + }, + "original": { + "owner": "SmiteshP", + "repo": "nvim-navic", + "type": "github" + } + }, + "plugin-nvim-neoclip": { + "flake": false, + "locked": { + "lastModified": 1734898459, + "narHash": "sha256-RCMZi1DM9JFrXWQ5w2wOjFzpANkiukn+RvHB9swMtbk=", + "owner": "AckslD", + "repo": "nvim-neoclip.lua", + "rev": "5e5e010251281f4aea69cfc1d4976ffe6065cf0f", + "type": "github" + }, + "original": { + "owner": "AckslD", + "repo": "nvim-neoclip.lua", + "type": "github" + } + }, + "plugin-nvim-nio": { + "flake": false, + "locked": { + "lastModified": 1720707425, + "narHash": "sha256-i6imNTb1xrfBlaeOyxyIwAZ/+o6ew9C4/z34a7/BgFg=", + "owner": "nvim-neotest", + "repo": "nvim-nio", + "rev": "a428f309119086dc78dd4b19306d2d67be884eee", + "type": "github" + }, + "original": { + "owner": "nvim-neotest", + "repo": "nvim-nio", + "type": "github" + } + }, + "plugin-nvim-notify": { + "flake": false, + "locked": { + "lastModified": 1735562588, + "narHash": "sha256-9jDpoLLto9WgTsV399WeE2XGrTJXWTYbcJ+zOFWldAA=", + "owner": "rcarriga", + "repo": "nvim-notify", + "rev": "c3797193536711b5d8983975791c4b11dc35ab3a", + "type": "github" + }, + "original": { + "owner": "rcarriga", + "repo": "nvim-notify", + "type": "github" + } + }, + "plugin-nvim-scrollbar": { + "flake": false, + "locked": { + "lastModified": 1729162132, + "narHash": "sha256-/nB7eP2Rz/A9zMXrNEH4FReo6eZS0C/SEGvKhxV7AUA=", + "owner": "petertriho", + "repo": "nvim-scrollbar", + "rev": "6994eb9f73d5fdc36ee2c8717940e8c853e51a49", + "type": "github" + }, + "original": { + "owner": "petertriho", + "repo": "nvim-scrollbar", + "type": "github" + } + }, + "plugin-nvim-session-manager": { + "flake": false, + "locked": { + "lastModified": 1728423652, + "narHash": "sha256-W9jtfVXHC8MQJwdbxakNqhd+xh/auQb3U09XKdN2Wzw=", + "owner": "Shatur", + "repo": "neovim-session-manager", + "rev": "ce43f2eb2a52492157d7742e5f684b9a42bb3e5c", + "type": "github" + }, + "original": { + "owner": "Shatur", + "repo": "neovim-session-manager", + "type": "github" + } + }, + "plugin-nvim-surround": { + "flake": false, + "locked": { + "lastModified": 1732818349, + "narHash": "sha256-sC+V86FEDfIapY4Qy0Ch2dTUpqe+C/xEUR/iSIEY6LA=", + "owner": "kylechui", + "repo": "nvim-surround", + "rev": "9f0cb495f25bff32c936062d85046fbda0c43517", + "type": "github" + }, + "original": { + "owner": "kylechui", + "repo": "nvim-surround", + "type": "github" + } + }, + "plugin-nvim-tree-lua": { + "flake": false, + "locked": { + "lastModified": 1734820548, + "narHash": "sha256-4PmP31vYPH9xw4AjV5rDSKvcvZGTnIaPfR4Bwc0lAiA=", + "owner": "nvim-tree", + "repo": "nvim-tree.lua", + "rev": "68fc4c20f5803444277022c681785c5edd11916d", + "type": "github" + }, + "original": { + "owner": "nvim-tree", + "repo": "nvim-tree.lua", + "type": "github" + } + }, + "plugin-nvim-treesitter-context": { + "flake": false, + "locked": { + "lastModified": 1734710732, + "narHash": "sha256-TIFMPKzD2ero1eK9aVfY1iKEvf/Sw8SL/9mk9omCQ3c=", + "owner": "nvim-treesitter", + "repo": "nvim-treesitter-context", + "rev": "2bcf700b59bc92850ca83a1c02e86ba832e0fae0", + "type": "github" + }, + "original": { + "owner": "nvim-treesitter", + "repo": "nvim-treesitter-context", + "type": "github" + } + }, + "plugin-nvim-ts-autotag": { + "flake": false, + "locked": { + "lastModified": 1733164313, + "narHash": "sha256-v2NTFBIzKTYizUPWB3uhpnTGVZWaelhE3MT5+BDA6Do=", + "owner": "windwp", + "repo": "nvim-ts-autotag", + "rev": "1cca23c9da708047922d3895a71032bc0449c52d", + "type": "github" + }, + "original": { + "owner": "windwp", + "repo": "nvim-ts-autotag", + "type": "github" + } + }, + "plugin-nvim-ufo": { + "flake": false, + "locked": { + "lastModified": 1735147722, + "narHash": "sha256-etyfm4KpwjYN+kkotOMl0LgbQniILmqMqab4acMtTlw=", + "owner": "kevinhwang91", + "repo": "nvim-ufo", + "rev": "32cb247b893a384f1888b9cd737264159ecf183c", + "type": "github" + }, + "original": { + "owner": "kevinhwang91", + "repo": "nvim-ufo", + "type": "github" + } + }, + "plugin-nvim-web-devicons": { + "flake": false, + "locked": { + "lastModified": 1735569123, + "narHash": "sha256-h9rY6F+2sBlG9PFN34/0ZTkY66oCeCIPe/HEadM03K4=", + "owner": "nvim-tree", + "repo": "nvim-web-devicons", + "rev": "4adeeaa7a32d46cf3b5833341358c797304f950a", + "type": "github" + }, + "original": { + "owner": "nvim-tree", + "repo": "nvim-web-devicons", + "type": "github" + } + }, + "plugin-obsidian-nvim": { + "flake": false, + "locked": { + "lastModified": 1722536347, + "narHash": "sha256-mbq7fAPmlwOAbWlN3lGX9WGBKTV8cAPZx8pnRCyszJc=", + "owner": "epwalsh", + "repo": "obsidian.nvim", + "rev": "14e0427bef6c55da0d63f9a313fd9941be3a2479", + "type": "github" + }, + "original": { + "owner": "epwalsh", + "repo": "obsidian.nvim", + "type": "github" + } + }, + "plugin-omnisharp-extended": { + "flake": false, + "locked": { + "lastModified": 1732802864, + "narHash": "sha256-lA22ncMWHz2oVcZMPQGpLL3UjjXOXGxhtXR1LX5cX3A=", + "owner": "Hoffs", + "repo": "omnisharp-extended-lsp.nvim", + "rev": "4916fa12e5b28d21a1f031f0bdd10aa15a75d85d", + "type": "github" + }, + "original": { + "owner": "Hoffs", + "repo": "omnisharp-extended-lsp.nvim", + "type": "github" + } + }, + "plugin-onedark": { + "flake": false, + "locked": { + "lastModified": 1731171496, + "narHash": "sha256-NLHq9SUUo81m50NPQe8852uZbo4Mo4No10N3ptX43t0=", + "owner": "navarasu", + "repo": "onedark.nvim", + "rev": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6", + "type": "github" + }, + "original": { + "owner": "navarasu", + "repo": "onedark.nvim", + "type": "github" + } + }, + "plugin-orgmode-nvim": { + "flake": false, + "locked": { + "lastModified": 1734770880, + "narHash": "sha256-E1YJeTay1tX2PgiXwV/DRgrlYHIGUe9/uTA+6ORIhBw=", + "owner": "nvim-orgmode", + "repo": "orgmode", + "rev": "bf657742f7cb56211f99946ff64f5f87d7d7f0d0", + "type": "github" + }, + "original": { + "owner": "nvim-orgmode", + "repo": "orgmode", + "type": "github" + } + }, + "plugin-otter-nvim": { + "flake": false, + "locked": { + "lastModified": 1735130975, + "narHash": "sha256-NPBGcLi1lEmpGGbGs58Xzw1IriOyKTMQdwIdVFsbVDM=", + "owner": "jmbuhr", + "repo": "otter.nvim", + "rev": "e8c662e1aefa8b483cfba6e00729a39a363dcecc", + "type": "github" + }, + "original": { + "owner": "jmbuhr", + "repo": "otter.nvim", + "type": "github" + } + }, + "plugin-oxocarbon": { + "flake": false, + "locked": { + "lastModified": 1724853107, + "narHash": "sha256-Hi/nATEvZ4a6Yxc66KtuJqss6kQV19cmtIlhCw6alOI=", + "owner": "nyoom-engineering", + "repo": "oxocarbon.nvim", + "rev": "004777819ba294423b638a35a75c9f0c7be758ed", + "type": "github" + }, + "original": { + "owner": "nyoom-engineering", + "repo": "oxocarbon.nvim", + "type": "github" + } + }, + "plugin-pathlib-nvim": { + "flake": false, + "locked": { + "lastModified": 1724943804, + "narHash": "sha256-YhCJeNKlcjgg3q51UWFhuIEPzNueC8YTpeuPPJDndvw=", + "owner": "pysan3", + "repo": "pathlib.nvim", + "rev": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1", + "type": "github" + }, + "original": { + "owner": "pysan3", + "repo": "pathlib.nvim", + "type": "github" + } + }, + "plugin-plenary-nvim": { + "flake": false, + "locked": { + "lastModified": 1726602776, + "narHash": "sha256-bmmPekAvuBvLQmrnnX0n+FRBqfVxBsObhxIEkDGAla4=", + "owner": "nvim-lua", + "repo": "plenary.nvim", + "rev": "2d9b06177a975543726ce5c73fca176cedbffe9d", + "type": "github" + }, + "original": { + "owner": "nvim-lua", + "repo": "plenary.nvim", + "type": "github" + } + }, + "plugin-precognition-nvim": { + "flake": false, + "locked": { + "lastModified": 1732647805, + "narHash": "sha256-m3dKoKxCd/QODM+EL89c3RVOoZnuA4nrBG0KhPZ/o9Y=", + "owner": "tris203", + "repo": "precognition.nvim", + "rev": "531971e6d883e99b1572bf47294e22988d8fbec0", + "type": "github" + }, + "original": { + "owner": "tris203", + "repo": "precognition.nvim", + "type": "github" + } + }, + "plugin-project-nvim": { + "flake": false, + "locked": { + "lastModified": 1680567592, + "narHash": "sha256-avV3wMiDbraxW4mqlEsKy0oeewaRj9Q33K8NzWoaptU=", + "owner": "ahmedkhalf", + "repo": "project.nvim", + "rev": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb", + "type": "github" + }, + "original": { + "owner": "ahmedkhalf", + "repo": "project.nvim", + "type": "github" + } + }, + "plugin-promise-async": { + "flake": false, + "locked": { + "lastModified": 1722813441, + "narHash": "sha256-9eM66brPjiFlY64vmBetRYrKnpDyN7+/URMm4GsGimA=", + "owner": "kevinhwang91", + "repo": "promise-async", + "rev": "119e8961014c9bfaf1487bf3c2a393d254f337e2", + "type": "github" + }, + "original": { + "owner": "kevinhwang91", + "repo": "promise-async", + "type": "github" + } + }, + "plugin-rainbow-delimiters": { + "flake": false, + "locked": { + "lastModified": 1736686348, + "narHash": "sha256-zWHXYs3XdnoszqOFY3hA2L5mNn1a44OAeKv3lL3EMEw=", + "owner": "HiPhish", + "repo": "rainbow-delimiters.nvim", + "rev": "85b80abaa09cbbc039e3095b2f515b3cf8cadd11", + "type": "github" + }, + "original": { + "owner": "HiPhish", + "repo": "rainbow-delimiters.nvim", + "type": "github" + } + }, + "plugin-registers": { + "flake": false, + "locked": { + "lastModified": 1730794647, + "narHash": "sha256-M7uR3yXYUQ4I8Gt8P6k25q67UNwksRDPKGrS/FCqrt0=", + "owner": "tversteeg", + "repo": "registers.nvim", + "rev": "c217f8f369e0886776cda6c94eab839b30a8940d", + "type": "github" + }, + "original": { + "owner": "tversteeg", + "repo": "registers.nvim", + "type": "github" + } + }, + "plugin-render-markdown-nvim": { + "flake": false, + "locked": { + "lastModified": 1735525479, + "narHash": "sha256-ncFqBv0JITX3pTsLON+HctLUaKXhLRMBUrRWmI8KOSA=", + "owner": "MeanderingProgrammer", + "repo": "render-markdown.nvim", + "rev": "6fbd1491abc104409f119685de5353c35c97c005", + "type": "github" + }, + "original": { + "owner": "MeanderingProgrammer", + "repo": "render-markdown.nvim", + "type": "github" + } + }, + "plugin-rose-pine": { + "flake": false, + "locked": { + "lastModified": 1733845819, + "narHash": "sha256-ejh9UXQbLc8Ie6wF7zszzL1gaJzr16gcu0dUWqTo8AM=", + "owner": "rose-pine", + "repo": "neovim", + "rev": "91548dca53b36dbb9d36c10f114385f759731be1", + "type": "github" + }, + "original": { + "owner": "rose-pine", + "repo": "neovim", + "type": "github" + } + }, + "plugin-rtp-nvim": { + "flake": false, + "locked": { + "lastModified": 1724409589, + "narHash": "sha256-lmJbiD7I7MTEEpukESs67uAmLyn+p66hrUKLbEHp0Kw=", + "owner": "nvim-neorocks", + "repo": "rtp.nvim", + "rev": "494ddfc888bb466555d90ace731856de1320fe45", + "type": "github" + }, + "original": { + "owner": "nvim-neorocks", + "repo": "rtp.nvim", + "type": "github" + } + }, + "plugin-run-nvim": { + "flake": false, + "locked": { + "lastModified": 1735501787, + "narHash": "sha256-CFOyOARCLQiMOhFPeqz8n2ULyaaRxRZrOk0FCibjuIM=", + "owner": "diniamo", + "repo": "run.nvim", + "rev": "9015c9cece816ccf10a185b420f6e345fd990802", + "type": "github" + }, + "original": { + "owner": "diniamo", + "repo": "run.nvim", + "type": "github" + } + }, + "plugin-rustaceanvim": { + "flake": false, + "locked": { + "lastModified": 1738187731, + "narHash": "sha256-Z4aCPO4MR0Q2ZojT6YBGSa8fb7u5Nd+4Z/rekqhXqDY=", + "owner": "mrcjkb", + "repo": "rustaceanvim", + "rev": "4a2f2d2cc04f5b0aa0981f98bb7d002c898318ad", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "repo": "rustaceanvim", + "type": "github" + } + }, + "plugin-smartcolumn": { + "flake": false, + "locked": { + "lastModified": 1734696989, + "narHash": "sha256-6RodA5BQnL6tB3RCE5G2RiXqBvM3VP3HYZ+T3AxIF7Q=", + "owner": "m4xshen", + "repo": "smartcolumn.nvim", + "rev": "f14fbea6f86cd29df5042897ca9e3ba10ba4d27f", + "type": "github" + }, + "original": { + "owner": "m4xshen", + "repo": "smartcolumn.nvim", + "type": "github" + } + }, + "plugin-sqls-nvim": { + "flake": false, + "locked": { + "lastModified": 1733090837, + "narHash": "sha256-o5uD6shPkweuE+k/goBX42W3I2oojXVijfJC7L50sGU=", + "owner": "nanotee", + "repo": "sqls.nvim", + "rev": "a514379f5f89bf72955ed3bf5c1c31a40b8a1472", + "type": "github" + }, + "original": { + "owner": "nanotee", + "repo": "sqls.nvim", + "type": "github" + } + }, + "plugin-tabular": { + "flake": false, + "locked": { + "lastModified": 1720022617, + "narHash": "sha256-qmDpdg3Tl3W4JSovRb4ODlrKMjRL5CaVI05YBn0Q0LI=", + "owner": "godlygeek", + "repo": "tabular", + "rev": "12437cd1b53488e24936ec4b091c9324cafee311", + "type": "github" + }, + "original": { + "owner": "godlygeek", + "repo": "tabular", + "type": "github" + } + }, + "plugin-telescope": { + "flake": false, + "locked": { + "lastModified": 1732884846, + "narHash": "sha256-npb61MZYAotz71Co5G1dUeIqWt7GVeqZNz0A2Yz2dy4=", + "owner": "nvim-telescope", + "repo": "telescope.nvim", + "rev": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc", + "type": "github" + }, + "original": { + "owner": "nvim-telescope", + "repo": "telescope.nvim", + "type": "github" + } + }, + "plugin-tiny-devicons-auto-colors": { + "flake": false, + "locked": { + "lastModified": 1733445616, + "narHash": "sha256-klUZKvdYhwO3sq4Su4sBFDcNSAYXh53O72vg4+ZOrhI=", + "owner": "rachartier", + "repo": "tiny-devicons-auto-colors.nvim", + "rev": "c8f63933ee013c1e0a26091d58131e060546f01f", + "type": "github" + }, + "original": { + "owner": "rachartier", + "repo": "tiny-devicons-auto-colors.nvim", + "type": "github" + } + }, + "plugin-todo-comments": { + "flake": false, + "locked": { + "lastModified": 1726481242, + "narHash": "sha256-EH4Sy7qNkzOgA1INFzrtsRfD79TgMqSbKUdundyw22w=", + "owner": "folke", + "repo": "todo-comments.nvim", + "rev": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "todo-comments.nvim", + "type": "github" + } + }, + "plugin-toggleterm-nvim": { + "flake": false, + "locked": { + "lastModified": 1735340326, + "narHash": "sha256-oeNIb+QHa/9yGZz/2u9LYIdKluel0bcQkaIqOuQUkis=", + "owner": "akinsho", + "repo": "toggleterm.nvim", + "rev": "344fc1810292785b3d962ddac2de57669e1a7ff9", + "type": "github" + }, + "original": { + "owner": "akinsho", + "repo": "toggleterm.nvim", + "type": "github" + } + }, + "plugin-tokyonight": { + "flake": false, + "locked": { + "lastModified": 1734211493, + "narHash": "sha256-TJ/a6N6Cc1T0wdMxMopma1NtwL7rMYbZ6F0zFI1zaIA=", + "owner": "folke", + "repo": "tokyonight.nvim", + "rev": "45d22cf0e1b93476d3b6d362d720412b3d34465c", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "tokyonight.nvim", + "type": "github" + } + }, + "plugin-trouble": { + "flake": false, + "locked": { + "lastModified": 1732701472, + "narHash": "sha256-JhnERZfma2JHFEn/DElVmrSU5KxM2asx3SJ+86lCfoo=", + "owner": "folke", + "repo": "trouble.nvim", + "rev": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "trouble.nvim", + "type": "github" + } + }, + "plugin-ts-error-translator": { + "flake": false, + "locked": { + "lastModified": 1731721659, + "narHash": "sha256-fi68jJVNTL2WlTehcl5Q8tijAeu2usjIsWXjcuixkCM=", + "owner": "dmmulroy", + "repo": "ts-error-translator.nvim", + "rev": "47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4", + "type": "github" + }, + "original": { + "owner": "dmmulroy", + "repo": "ts-error-translator.nvim", + "type": "github" + } + }, + "plugin-typst-preview-nvim": { + "flake": false, + "locked": { + "lastModified": 1734839452, + "narHash": "sha256-d6Tv7xZRghYYDfABk/p2e9qTm4qnWHM+ejKDCcR0TfY=", + "owner": "chomosuke", + "repo": "typst-preview.nvim", + "rev": "c1100e8788baabe8ca8f8cd7fd63d3d479e49e36", + "type": "github" + }, + "original": { + "owner": "chomosuke", + "repo": "typst-preview.nvim", + "type": "github" + } + }, + "plugin-vim-dirtytalk": { + "flake": false, + "locked": { + "lastModified": 1713047519, + "narHash": "sha256-azU5jkv/fD/qDDyCU1bPNXOH6rmbDauG9jDNrtIXc0Y=", + "owner": "psliwka", + "repo": "vim-dirtytalk", + "rev": "aa57ba902b04341a04ff97214360f56856493583", + "type": "github" + }, + "original": { + "owner": "psliwka", + "repo": "vim-dirtytalk", + "type": "github" + } + }, + "plugin-vim-fugitive": { + "flake": false, + "locked": { + "lastModified": 1735457366, + "narHash": "sha256-45zsqKavWoclA67MC54bAel1nE8CLHtSdullHByiRS8=", + "owner": "tpope", + "repo": "vim-fugitive", + "rev": "174230d6a7f2df94705a7ffd8d5413e27ec10a80", + "type": "github" + }, + "original": { + "owner": "tpope", + "repo": "vim-fugitive", + "type": "github" + } + }, + "plugin-vim-illuminate": { + "flake": false, + "locked": { + "lastModified": 1715960194, + "narHash": "sha256-DdJzTHxoOv+vjFymETa2MgXpM/qDwvZjpoo1W8OOBj0=", + "owner": "RRethy", + "repo": "vim-illuminate", + "rev": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa", + "type": "github" + }, + "original": { + "owner": "RRethy", + "repo": "vim-illuminate", + "type": "github" + } + }, + "plugin-vim-markdown": { + "flake": false, + "locked": { + "lastModified": 1726813437, + "narHash": "sha256-ZCCSjZ5Xok4rnIwfa4VUEaz6d3oW9066l0EkoqiTppM=", + "owner": "preservim", + "repo": "vim-markdown", + "rev": "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51", + "type": "github" + }, + "original": { + "owner": "preservim", + "repo": "vim-markdown", + "type": "github" + } + }, + "plugin-vim-repeat": { + "flake": false, + "locked": { + "lastModified": 1720473942, + "narHash": "sha256-G/dmkq1KtSHIl+I5p3LfO6mGPS3eyLRbEEsuLbTpGlk=", + "owner": "tpope", + "repo": "vim-repeat", + "rev": "65846025c15494983dafe5e3b46c8f88ab2e9635", + "type": "github" + }, + "original": { + "owner": "tpope", + "repo": "vim-repeat", + "type": "github" + } + }, + "plugin-vim-startify": { + "flake": false, + "locked": { + "lastModified": 1695213983, + "narHash": "sha256-W5N/Dqxf9hSXEEJsrEkXInFwBXNBJe9Dzx9TVS12mPk=", + "owner": "mhinz", + "repo": "vim-startify", + "rev": "4e089dffdad46f3f5593f34362d530e8fe823dcf", + "type": "github" + }, + "original": { + "owner": "mhinz", + "repo": "vim-startify", + "type": "github" + } + }, + "plugin-which-key": { + "flake": false, + "locked": { + "lastModified": 1734253151, + "narHash": "sha256-f/+sYMDEguB5ZDiYiQAsDvdF/2cVcWnLBU+9qwigk4s=", + "owner": "folke", + "repo": "which-key.nvim", + "rev": "8ab96b38a2530eacba5be717f52e04601eb59326", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "which-key.nvim", + "type": "github" + } + }, + "plugin-yanky-nvim": { + "flake": false, + "locked": { + "lastModified": 1737126873, + "narHash": "sha256-Gt8kb6sZoNIM2SDWUPyAF5Tw99qMZl+ltUCfyMXgJsU=", + "owner": "gbprod", + "repo": "yanky.nvim", + "rev": "d2696b30e389dced94d5acab728f524a25f308d2", + "type": "github" + }, + "original": { + "owner": "gbprod", + "repo": "yanky.nvim", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "programsdb": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1738927953, + "narHash": "sha256-ohf8MB1+snwVG9T9zAW5fMuxKPhocE6LSoCXgRHmxC0=", + "owner": "wamserma", + "repo": "flake-programs-sqlite", + "rev": "4a7faf4c20eec578e602b6136e268963890e2d1b", + "type": "github" + }, + "original": { + "owner": "wamserma", + "repo": "flake-programs-sqlite", + "type": "github" + } + }, + "root": { + "inputs": { + "anyrun": "anyrun", + "flake-parts": "flake-parts_2", + "home-manager": "home-manager", + "hyprland": "hyprland", + "lix-module": "lix-module", + "nix-index-database": "nix-index-database", + "nixpkgs": "nixpkgs_2", + "nixpkgs-master": "nixpkgs-master", + "nixpkgs-stable": "nixpkgs-stable", + "nur": "nur", + "nvf": "nvf", + "nypkgs": "nypkgs", + "programsdb": "programsdb", + "stylix": "stylix", + "zen-browser": "zen-browser" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nvf", + "nil", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731983527, + "narHash": "sha256-JECaBgC0pQ91Hq3W4unH6K9to8s2Zl2sPNu7bLOv4ek=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "71287228d96e9568e1e70c6bbfa3f992d145947b", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_3", + "git-hooks": "git-hooks", + "gnome-shell": "gnome-shell", + "home-manager": "home-manager_2", + "nixpkgs": "nixpkgs_5", + "systems": "systems_6", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1738611626, + "narHash": "sha256-IgjqlYPaS8Bg+jc6a691w27XDFhBeM7gkP4eDcR2EBs=", + "owner": "danth", + "repo": "stylix", + "rev": "d513f59da5856978c363d2f82103f708f4a6024d", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" + } + }, + "systems": { + "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" + } + }, + "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" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1716423189, + "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1735737224, + "narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1725758778, + "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "utils": { + "locked": { + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "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": 1737634991, + "narHash": "sha256-dBAnb7Kbnier30cA7AgxVSxxARmxKZ1vHZT33THSIr8=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "e09dfe2726c8008f983e45a0aa1a3b7416aaeb8a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, + "zen-browser": { + "inputs": { + "nixpkgs": "nixpkgs_6" + }, + "locked": { + "lastModified": 1738941466, + "narHash": "sha256-mtHsTGEBFMH3e28bwX43pNFCP7xTb4VdMikOcJg36PQ=", + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "rev": "25356eff9ab70ccb01e70528fc8543ceb033a0c2", + "type": "github" + }, + "original": { + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..520866a --- /dev/null +++ b/flake.nix @@ -0,0 +1,104 @@ +{ + description = '' + $$\ + \__| + $$\ $$\ $$$$$$$\ $$\ $$\ $$\ $$$$$$\ $$$$$$\ $$$$$$$\ $$$$$$\ + $$ | $$ |$$ __$$\ $$ |\$$\ $$ |$$ __$$\ $$ __$$\ $$ _____|$$ __$$\ + $$ | $$ |$$ | $$ |$$ | \$$\$$ / $$$$$$$$ |$$ | \__|\$$$$$$\ $$$$$$$$ | + $$ | $$ |$$ | $$ |$$ | \$$$ / $$ ____|$$ | \____$$\ $$ ____| + \$$$$$$ |$$ | $$ |$$ | \$ / \$$$$$$$\ $$ | $$$$$$$ |\$$$$$$$\ + \______/ \__| \__|\__| \_/ \_______|\__| \_______/ \_______| + + ''; + + outputs = { + self, + stylix, + nixpkgs, + nixpkgs-master, + nix-index-database, + flake-parts, + nypkgs, + home-manager, + nvf, + lix-module, + ... + } @ inputs: + flake-parts.lib.mkFlake {inherit inputs;} { + flake = let + system = "x86_64-linux"; + in { + nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { + specialArgs = {inherit inputs;}; + modules = [ + stylix.nixosModules.stylix + lix-module.nixosModules.default + ./hosts/nixos + ]; + }; + + homeConfigurations.tx0 = home-manager.lib.homeManagerConfiguration { + pkgs = import nixpkgs { + inherit system; + config.allowUnfree = true; + overlays = []; + }; + extraSpecialArgs = {inherit inputs;}; + modules = [ + stylix.homeManagerModules.stylix + nix-index-database.hmModules.nix-index + nvf.homeManagerModules.default + ./home + ]; + }; + }; + systems = ["x86_64-linux"]; + }; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11"; + nixpkgs-master.url = "github:nixos/nixpkgs/master"; + nur.url = "github:nix-community/NUR"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + flake-parts.url = "github:hercules-ci/flake-parts"; + stylix.url = "github:danth/stylix"; + zen-browser.url = "github:0xc000022070/zen-browser-flake"; + + nix-index-database = { + url = "github:nix-community/nix-index-database"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + programsdb = { + url = "github:wamserma/flake-programs-sqlite"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nypkgs = { + url = "github:yunfachi/nypkgs"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + anyrun = { + url = "github:anyrun-org/anyrun"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nvf.url = "github:notashelf/nvf"; + + hyprland = { + url = "github:hyprwm/Hyprland/v0.46.2"; + }; + + lix-module = { + url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; +} diff --git a/home/alacritty/default.nix b/home/alacritty/default.nix new file mode 100644 index 0000000..b4369a2 --- /dev/null +++ b/home/alacritty/default.nix @@ -0,0 +1,43 @@ +{ + lib, + config, + ... +}: let + cfg = config.universe.alacritty; +in { + options.universe.alacritty = { + enable = lib.mkEnableOption "alacritty terminal"; + }; + config = lib.mkIf cfg.enable { + programs.alacritty = { + enable = true; + settings = { + general = {live_config_reload = true;}; + + # font = { + # normal = { family = "JetBrainsMono Nerd Font Mono"; style = "Regular"; }; + # bold = { family = "JetBrainsMono Nerd Font Mono"; style = "Bold"; }; + # italic = { family = "JetBrainsMono Nerd Font Mono"; style = "Italic"; }; + # size = 14; + # }; + font.glyph_offset = { + x = 0; + y = 0; + }; + + window = { + padding = { + x = 10; + y = 10; + }; + dynamic_padding = true; + }; + + terminal.shell = { + program = "tmux"; + args = ["new"]; + }; + }; + }; + }; +} diff --git a/home/anyrun/default.nix b/home/anyrun/default.nix new file mode 100644 index 0000000..1b9d8d5 --- /dev/null +++ b/home/anyrun/default.nix @@ -0,0 +1,32 @@ +{ + pkgs, + inputs, + config, + ... +}: { + imports = [inputs.anyrun.homeManagerModules.default]; + + programs.anyrun = { + enable = true; + config = { + plugins = [ + inputs.anyrun.packages.${pkgs.system}.applications + ]; + x = {fraction = 0.5;}; + y = {absolute = 20;}; + width = {absolute = 600;}; + showResultsImmediately = false; + closeOnClick = false; + hidePluginInfo = true; + hideIcons = false; + layer = "top"; + maxEntries = null; + }; + + extraCss = '' + window { + background-color: transparent; + } + ''; + }; +} diff --git a/home/default.nix b/home/default.nix new file mode 100644 index 0000000..0aff78b --- /dev/null +++ b/home/default.nix @@ -0,0 +1,16 @@ +{inputs, ...}: { + imports = inputs.nypkgs.legacyPackages."x86_64-linux".lib.umport { + path = ./.; + + include = [ + ./packages/default.nix + ./waybar/default.nix + ]; + + exclude = [ + ./default.nix + ./packages + ./waybar + ]; + }; +} diff --git a/home/foot/default.nix b/home/foot/default.nix new file mode 100644 index 0000000..8ab73fa --- /dev/null +++ b/home/foot/default.nix @@ -0,0 +1,17 @@ +{pkgs, ...}: { + programs.foot = { + enable = true; + server.enable = true; + settings = { + main = { + term = "xterm-256color"; + shell = "tmux new"; + pad = "10x10"; + }; + + mouse = { + hide-when-typing = "yes"; + }; + }; + }; +} diff --git a/home/ghostty/default.nix b/home/ghostty/default.nix new file mode 100644 index 0000000..4cd1e4a --- /dev/null +++ b/home/ghostty/default.nix @@ -0,0 +1,17 @@ +{pkgs, ...}: { + programs.ghostty = { + enable = true; + enableFishIntegration = true; + installBatSyntax = true; + installVimSyntax = false; + clearDefaultKeybinds = true; + settings = { + window-padding-x = 10; + window-padding-y = 10; + window-vsync = true; + window-decoration = "none"; + command = "tmux new"; + confirm-close-surface = false; + }; + }; +} diff --git a/home/hyprland/binds.nix b/home/hyprland/binds.nix new file mode 100644 index 0000000..c1a65fc --- /dev/null +++ b/home/hyprland/binds.nix @@ -0,0 +1,74 @@ +let + terminal = "foot"; + fileManager = "nautilus -w"; + discord = "vesktop"; + telegram = "telegram-desktop"; + browser = "zen"; + menu = "anyrun"; +in { + wayland.windowManager.hyprland.settings = { + bind = [ + # Software + "SUPER, RETURN, exec, ${terminal}" + "SUPER, E, exec, ${fileManager}" + "SUPER, D, exec, ${discord}" + "SUPER, T, exec, ${telegram}" + "SUPER, B, exec, ${browser}" + + # Controls + "SUPER, Q, killactive, " + "SUPER, M, exit, " + "SUPER, C, togglefloating, " + "SUPER, SPACE, exec, ${menu}" + "SUPER, Z, pseudo" + "SUPER, V, layoutmsg, swapsplit" + "SUPER, X, togglesplit" + "SUPER, Home, exec, hyprshot -m region" + "SUPER, Prior, exec, hyprshot -m window" + "SUPER, Next, exec, hyprshot -m output" + "SUPER Ctrl, Q, exec, $locker" + + # Media + ", XF86AudioPlay, exec, playerctl play-pause" + ", XF86AudioNext, exec, playerctl next" + ", XF86AudioPrev, exec, playerctl previous" + ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+" + ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-" + + # Focus + "SUPER, left, movefocus, l " + "SUPER, right, movefocus, r " + "SUPER, up, movefocus, u " + "SUPER, down, movefocus, d " + + # Workspaces + "SUPER, 1, workspace, 1 " + "SUPER, 2, workspace, 2 " + "SUPER, 3, workspace, 3 " + "SUPER, 4, workspace, 4 " + "SUPER, 5, workspace, 5 " + "SUPER, 6, workspace, 6 " + "SUPER, 7, workspace, 7" + "SUPER, 8, workspace, 8" + "SUPER, 9, workspace, 9" + "SUPER, 0, workspace, 10" + "SUPER SHIFT, 1, movetoworkspace, 1" + "SUPER SHIFT, 2, movetoworkspace, 2" + "SUPER SHIFT, 3, movetoworkspace, 3" + "SUPER SHIFT, 4, movetoworkspace, 4" + "SUPER SHIFT, 5, movetoworkspace, 5" + "SUPER SHIFT, 6, movetoworkspace, 6" + "SUPER SHIFT, 7, movetoworkspace, 7" + "SUPER SHIFT, 8, movetoworkspace, 8" + "SUPER SHIFT, 9, movetoworkspace, 9" + "SUPER SHIFT, 0, movetoworkspace, 10" + "SUPER, mouse_down, workspace, e+1" + "SUPER, mouse_up, workspace, e-1" + ]; + bindm = [ + "SUPER, mouse:272, movewindow" + "SUPER, mouse:273, resizewindow" + ]; + }; +} diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix new file mode 100644 index 0000000..5576647 --- /dev/null +++ b/home/hyprland/default.nix @@ -0,0 +1,143 @@ +{ + pkgs, + inputs, + ... +}: { + wayland.windowManager.hyprland = { + enable = true; + package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + systemd.variables = ["--all"]; + settings = { + monitor = [ + "DP-1, 3440x1440@100, 1920x0, 1" + "HDMI-A-1, 1920x1200@60, 0x0, 1" + ]; + + general = { + gaps_in = 15; + gaps_out = 40; + border_size = 3; + resize_on_border = false; + allow_tearing = false; + layout = "dwindle"; + }; + + decoration = { + rounding = 10; + active_opacity = 1.0; + inactive_opacity = 1.0; + + dim_inactive = false; + dim_strength = 0.2; + + blur = { + enabled = true; + size = 3; + passes = 4; + noise = 0.07; + xray = true; + brightness = 0.4; + popups = false; + }; + }; + + dwindle = { + pseudotile = false; + preserve_split = true; + smart_split = false; + smart_resizing = false; + }; + + misc = { + disable_hyprland_logo = true; + }; + + layerrule = [ + "blur, notifications" + "ignorezero, notifications" + + "blur, rofi" + "ignorezero, rofi" + + "animation fade, selection" + "animation slide top, anyrun" + ]; + + windowrulev2 = [ + "suppressevent maximize, class:.*" + "float, class:^(com.saivert.pwvucontrol)$" + "size 696 570, class:^(com.saivert.pwvucontrol)$" + "move 1654 807, class:^(com.saivert.pwvucontrol)$" + "monitor DP-1, class:^(com.saivert.pwvucontrol)$" + "opacity 0.9, class:^(com.saivert.pwvucontrol)$" + "maximize, class:^(org.telegram.desktop)$,title:^(Media viewer)$" + "float, class:^(org.telegram.desktop)$,title:^(Media viewer)$" + "float, class:^(nemo)$,title:^.*(Properties)$" + "float, class:^(zen-alpha)$,title:^(Library)$" + "opacity 0.9, class:^(zen-alpha)$,title:^(Library)$" + "opacity 0.9, class:^(Spotify)$" + "noblur, class:^()$,title:^()$" + "plugin:chromakey,fullscreen:0" + "opacity 0.999,fullscreen:0" + ]; + + animations = { + enabled = true; + # bezier = [ + # "myBezier, 0.05, 1, 0.1, 1" + # ]; + # animation = [ + # "windows, 1, 7, myBezier, slide" + # "fade, 1, 7, myBezier" + # "workspaces, 1, 6, myBezier" + # "layers, 1, 6, myBezier, slide bottom" + # ]; + + bezier = [ + "easeOutQuint,0.23,1,0.32,1" + "aseInOutCubic,0.65,0.05,0.36,1" + "linear,0,0,1,1" + "almostLinear,0.5,0.5,0.75,1.0" + "quick,0.15,0,0.1,1" + ]; + + animation = [ + "global, 1, 10, default" + "border, 1, 5.39, easeOutQuint" + "windows, 1, 4.79, easeOutQuint" + "windowsIn, 1, 4.1, easeOutQuint, popin 87%" + "windowsOut, 1, 1.49, linear, popin 87%" + "fadeIn, 1, 1.73, almostLinear" + "fadeOut, 1, 1.46, almostLinear" + "fade, 1, 3.03, quick" + "layers, 1, 3.81, easeOutQuint" + "layersIn, 1, 4, easeOutQuint, fade" + "layersOut, 1, 1.5, linear, fade" + "fadeLayersIn, 1, 1.79, almostLinear" + "fadeLayersOut, 1, 1.39, almostLinear" + "workspaces, 1, 1.94, aseInOutCubic" + "workspacesIn, 1, 1.21, aseInOutCubic" + "workspacesOut, 1, 1.94, aseInOutCubic" + ]; + }; + + input = { + kb_layout = "us,ru"; + kb_options = "grp:caps_toggle"; + follow_mouse = 1; + sensitivity = 0; + }; + + exec-once = [ + "hyprctl setcursor Bibata-Modern-Classic 24" + "waybar" + "telegram-desktop -startintray" + "vesktop" + "nm-applet" + "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" + "hyprpaper" + ]; + }; + }; +} diff --git a/home/mako/default.nix b/home/mako/default.nix new file mode 100644 index 0000000..127114d --- /dev/null +++ b/home/mako/default.nix @@ -0,0 +1,13 @@ +{config, ...}: { + services.mako = { + enable = true; + anchor = "bottom-right"; + output = "DP-1"; + borderSize = 3; + width = 300; + height = 110; + defaultTimeout = 5000; + ignoreTimeout = true; + borderRadius = 3; + }; +} diff --git a/home/nix/default.nix b/home/nix/default.nix new file mode 100644 index 0000000..f307ff5 --- /dev/null +++ b/home/nix/default.nix @@ -0,0 +1,33 @@ +{ + inputs, + pkgs, + ... +}: { + nix = { + package = pkgs.lix; + nixPath = ["nixpkgs=${inputs.nixpkgs}"]; + settings = { + extra-substituters = [ + "https://cache.garnix.io" + "https://nix-community.cachix.org" + "https://cache.nixos.org/" + "https://hyprland.cachix.org" + ]; + extra-trusted-public-keys = [ + "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + ]; + builders-use-substitutes = true; + auto-optimise-store = true; + trusted-users = [ + "tx0" + "root" + "@wheel" + ]; + warn-dirty = false; + extra-experimental-features = ["nix-command" "flakes"]; + }; + }; +} diff --git a/home/nixpkgs/default.nix b/home/nixpkgs/default.nix new file mode 100644 index 0000000..e609e23 --- /dev/null +++ b/home/nixpkgs/default.nix @@ -0,0 +1,9 @@ +{...}: { + nixpkgs.config = { + allowUnfree = true; + allowBroken = true; + allowAliases = true; + allowInsecure = true; + allowUnfreePredicate = _: true; + }; +} diff --git a/home/packages/default.nix b/home/packages/default.nix new file mode 100644 index 0000000..3161e09 --- /dev/null +++ b/home/packages/default.nix @@ -0,0 +1,80 @@ +{ + pkgs, + inputs, + ... +}: { + home.packages = with pkgs; [ + # flakes + inputs.zen-browser.packages.${system}.default + (callPackage ./derivations/bunnyfetch {}) + + #fonts + (google-fonts.override {fonts = ["Poppins" "Inter" "Roboto Mono"];}) + material-symbols + nerd-fonts.jetbrains-mono + nerd-fonts.caskaydia-cove + dejavu_fonts + font-awesome + cantarell-fonts + + # code + git + go + poetry + # vscode + python313 + + # utilites + wl-clipboard + xclip + ufetch + eza + bat + distrobox + android-tools + zip + unzip + nix-output-monitor + + #net + amneziawg-go + amneziawg-tools + + # other + playerctl + gtk3 + gtk4 + adwaita-qt + adwaita-qt6 + qadwaitadecorations + qadwaitadecorations-qt6 + libsForQt5.qt5ct + kdePackages.qt6ct + hicolor-icon-theme + rpm + p7zip + #ueberzugpp + + # gui + deluge-gtk + bottles + hyprpaper + virt-viewer + libreoffice + font-manager + networkmanagerapplet + nautilus + waybar + mako + hyprpicker + hyprshot + playerctl + pwvucontrol + viewnior + mate.engrampa + telegram-desktop + inputs.nixpkgs-stable.legacyPackages.${system}.vesktop + prismlauncher + inkscape + ]; +} diff --git a/home/packages/derivations/bunnyfetch/bunnyfetch.sh b/home/packages/derivations/bunnyfetch/bunnyfetch.sh new file mode 100644 index 0000000..32b3e90 --- /dev/null +++ b/home/packages/derivations/bunnyfetch/bunnyfetch.sh @@ -0,0 +1,61 @@ +set +o nounset + +# shellcheck source=/dev/null +source /etc/os-release + +username="$(whoami)" +hostname="$(cat /etc/hostname)" +kernel="$(uname -r)" +shell="$(basename "$SHELL")" + +ui='unknown' +uitype='UI' +if [ -n "${DE}" ]; then + ui="${DE}" + uitype='DE' +elif [ -n "${WM}" ]; then + ui="${WM}" + uitype='WM' +elif [ -n "${XDG_CURRENT_DESKTOP}" ]; then + ui="${XDG_CURRENT_DESKTOP}" + uitype='DE' +elif [ -n "${DESKTOP_SESSION}" ]; then + ui="${DESKTOP_SESSION}" + uitype='DE' +elif [ -n "${rcwm}" ]; then + ui="${rcwm}" + uitype='WM' +elif [ -n "${XDG_SESSION_TYPE}" ]; then + ui="${XDG_SESSION_TYPE}" +fi +ui="$(basename "${ui}")" + +# shellcheck disable=SC2034 +black='\033[0;30m' +# shellcheck disable=SC2034 +red='\033[0;31m' +# shellcheck disable=SC2034 +green='\033[0;32m' +# shellcheck disable=SC2034 +yellow='\033[0;33m' +# shellcheck disable=SC2034 +blue='\033[0;34m' +# shellcheck disable=SC2034 +magenta='\033[0;35m' +# shellcheck disable=SC2034 +cyan='\033[0;36m' +# shellcheck disable=SC2034 +white='\033[0;37m' + +# shellcheck disable=SC2034 +b='\e[1m' +r='\e[0m' + +# shellcheck disable=SC2059 +printf " + ${red}${username}@${hostname}${r} + (\ /) ${blue}OS${r} ${NAME} + ( . .) ${yellow}Kernel${r} ${kernel} + c(\")(\") ${green}Shell${r} ${shell} + ${magenta}${uitype}${r} ${ui} +" diff --git a/home/packages/derivations/bunnyfetch/default.nix b/home/packages/derivations/bunnyfetch/default.nix new file mode 100644 index 0000000..441ae43 --- /dev/null +++ b/home/packages/derivations/bunnyfetch/default.nix @@ -0,0 +1,13 @@ +{ + lib, + coreutils, + writeShellApplication, +}: let +in + writeShellApplication { + name = "bunnyfetch"; + runtimeInputs = [ + coreutils + ]; + text = builtins.readFile ./bunnyfetch.sh; + } diff --git a/home/profile/default.nix b/home/profile/default.nix new file mode 100644 index 0000000..a791808 --- /dev/null +++ b/home/profile/default.nix @@ -0,0 +1,40 @@ +{ + pkgs, + config, + ... +}: { + home = { + username = "tx0"; + homeDirectory = "/home/tx0/"; + stateVersion = "24.11"; + sessionVariables = { + EDITOR = "${config.home.homeDirectory}/.nix-profile/bin/nvim"; + HYPRSHOT_DIR = "$HOME/Pictures/Screenshots/"; + FLAKE = "/home/tx0/nixos/"; + NIXOS_OZONE_WL = 1; + ELECTRON_OZONE_PLATFORM_HINT = 1; + MOZ_ENABLE_WAYLAND = 1; + fish_greeting = ""; + }; + + sessionPath = ["$HOME/.local/bin"]; + }; + + gtk.gtk3.bookmarks = [ + "file:///mnt/data/" + "file:///home/tx0/Downloads/" + "file:///home/tx0/Documents/" + "file:///home/tx0/Pictures/Screenshots" + ]; + + services.udiskie = { + enable = false; + settings = { + program_options = { + file_manager = "${pkgs.nautilus}/bin/nautilus"; + }; + }; + }; + + universe.alacritty.enable = true; +} diff --git a/home/stylix/default.nix b/home/stylix/default.nix new file mode 100644 index 0000000..f9e3b49 --- /dev/null +++ b/home/stylix/default.nix @@ -0,0 +1,112 @@ +{ + pkgs, + config, + ... +}: let + enableLutgen = false; +in { + dconf.settings = { + "org/gnome/desktop/wm/preferences" = { + button-layout = ":"; + }; + "org.gnome.desktop.interface" = { + gtk-color-scheme = "prefer-dark"; + color-scheme = "prefer-dark"; + }; + }; + + home.pointerCursor = { + gtk.enable = true; + x11.enable = true; + }; + + gtk = { + enable = true; + + iconTheme = { + package = pkgs.papirus-icon-theme; + name = "Papirus-Dark"; + }; + }; + + qt = { + # platformTheme.name = lib.mkForce "gtk3"; + enable = true; + }; + + stylix = { + enable = true; + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-medium.yaml"; + image = + if enableLutgen + then let + input = ./wallpapers.jpg; + level = 10; + lum = 1.0; + preserve = false; + in + pkgs.runCommand "output.png" {} '' + ${pkgs.lutgen}/bin/lutgen apply ${input} -l ${builtins.toString level} -L ${builtins.toString lum} ${ + if preserve == true + then "-P" + else "" + } -o $out -- ${ + builtins.concatStringsSep " " (with config.lib.stylix.colors; [ + base00 + base01 + base02 + base03 + base04 + base05 + base06 + base07 + base08 + base09 + base0A + base0B + base0C + base0D + base0E + base0F + ]) + } + '' + else ./wallpapers.jpg; + + polarity = "dark"; + + cursor = { + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Classic"; + size = 24; + }; + + fonts = { + serif = { + name = "Cantarell"; + package = pkgs.cantarell-fonts; + }; + monospace = { + name = "CaskaydiaCove Nerd Font Mono"; + package = pkgs.nerd-fonts.jetbrains-mono; + }; + sansSerif = config.stylix.fonts.serif; + emoji = config.stylix.fonts.serif; + + sizes = { + desktop = 12; + applications = 12; + popups = 12; + terminal = 16; + }; + }; + + opacity = {terminal = 0.65;}; + + targets = { + kde.enable = false; + waybar.enable = false; + vesktop.enable = true; + }; + }; +} diff --git a/home/stylix/wallpapers.jpg b/home/stylix/wallpapers.jpg new file mode 100644 index 0000000..d0d18f4 Binary files /dev/null and b/home/stylix/wallpapers.jpg differ diff --git a/home/symlinks/default.nix b/home/symlinks/default.nix new file mode 100644 index 0000000..069138e --- /dev/null +++ b/home/symlinks/default.nix @@ -0,0 +1,41 @@ +{config, ...}: { + home.file = { + # Create symbolic links for directories + Documents = { + source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/Documents"; + target = "${config.home.homeDirectory}/Documents"; + }; + Desktop = { + source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/Desktop"; + target = "${config.home.homeDirectory}/Desktop"; + }; + Downloads = { + source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/Downloads"; + target = "${config.home.homeDirectory}/Downloads"; + }; + Music = { + source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/Music"; + target = "${config.home.homeDirectory}/Music"; + }; + Pictures = { + source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/Pictures"; + target = "${config.home.homeDirectory}/Pictures"; + }; + Templates = { + source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/Templates"; + target = "${config.home.homeDirectory}/Templates"; + }; + Videos = { + source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/Videos"; + target = "${config.home.homeDirectory}/Videos"; + }; + ssh = { + source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/.ssh"; + target = "${config.home.homeDirectory}/.ssh"; + }; + zen = { + source = config.lib.file.mkOutOfStoreSymlink "/mnt/data_home/ZenBrowser"; + target = "${config.home.homeDirectory}/.zen"; + }; + }; +} diff --git a/home/terminal/bat.nix b/home/terminal/bat.nix new file mode 100644 index 0000000..4cb0b03 --- /dev/null +++ b/home/terminal/bat.nix @@ -0,0 +1,5 @@ +{ + programs.bat = { + enable = true; + }; +} diff --git a/home/terminal/bat/default.nix b/home/terminal/bat/default.nix new file mode 100644 index 0000000..4cb0b03 --- /dev/null +++ b/home/terminal/bat/default.nix @@ -0,0 +1,5 @@ +{ + programs.bat = { + enable = true; + }; +} diff --git a/home/terminal/fish.nix b/home/terminal/fish.nix new file mode 100644 index 0000000..0818955 --- /dev/null +++ b/home/terminal/fish.nix @@ -0,0 +1,60 @@ +{ + pkgs, + config, + ... +}: { + programs.fish = { + enable = true; + + functions = { + _fetch = '' + bunnyfetch + printf "\n" + ''; + + filesize = '' + for file in $argv + if [ -f "$file" ] + echo "$file: $(stat -c %s "$file" | numfmt --to=iec)" + else + echo "$file: not found" + end + end + ''; + + y = '' + set tmp (mktemp -t "yazi-cwd.XXXXXX") + yazi $argv --cwd-file="$tmp" + if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ] + builtin cd -- "$cwd" + end + rm -f -- "$tmp" + ''; + + arm64cc-env = '' + set -gx ARCH arm64 + set -gx hardeningDisable all + set -gx CROSS_COMPILE aarch64-linux-gnu- + ''; + }; + + shellAliases = { + ls = "eza"; + cat = "bat"; + v = "nvim"; + V = "sudoedit"; + ":q" = "exit"; + cdt = "cd (mktemp -d)"; + }; + + interactiveShellInit = '' + ${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source + bind \cl 'clear; _fetch; commandline -f repaint' + bind \cb ${pkgs.btop}/bin/btop + bind \cf 'fzf; commandline -f repaint' + bind \cs 'cdi; commandline -f repaint' + + _fetch + ''; + }; +} diff --git a/home/terminal/fish/default.nix b/home/terminal/fish/default.nix new file mode 100644 index 0000000..0818955 --- /dev/null +++ b/home/terminal/fish/default.nix @@ -0,0 +1,60 @@ +{ + pkgs, + config, + ... +}: { + programs.fish = { + enable = true; + + functions = { + _fetch = '' + bunnyfetch + printf "\n" + ''; + + filesize = '' + for file in $argv + if [ -f "$file" ] + echo "$file: $(stat -c %s "$file" | numfmt --to=iec)" + else + echo "$file: not found" + end + end + ''; + + y = '' + set tmp (mktemp -t "yazi-cwd.XXXXXX") + yazi $argv --cwd-file="$tmp" + if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ] + builtin cd -- "$cwd" + end + rm -f -- "$tmp" + ''; + + arm64cc-env = '' + set -gx ARCH arm64 + set -gx hardeningDisable all + set -gx CROSS_COMPILE aarch64-linux-gnu- + ''; + }; + + shellAliases = { + ls = "eza"; + cat = "bat"; + v = "nvim"; + V = "sudoedit"; + ":q" = "exit"; + cdt = "cd (mktemp -d)"; + }; + + interactiveShellInit = '' + ${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source + bind \cl 'clear; _fetch; commandline -f repaint' + bind \cb ${pkgs.btop}/bin/btop + bind \cf 'fzf; commandline -f repaint' + bind \cs 'cdi; commandline -f repaint' + + _fetch + ''; + }; +} diff --git a/home/terminal/fzf.nix b/home/terminal/fzf.nix new file mode 100644 index 0000000..69b8dc0 --- /dev/null +++ b/home/terminal/fzf.nix @@ -0,0 +1,6 @@ +{ + programs.fzf = { + enable = true; + enableFishIntegration = true; + }; +} diff --git a/home/terminal/fzf/default.nix b/home/terminal/fzf/default.nix new file mode 100644 index 0000000..69b8dc0 --- /dev/null +++ b/home/terminal/fzf/default.nix @@ -0,0 +1,6 @@ +{ + programs.fzf = { + enable = true; + enableFishIntegration = true; + }; +} diff --git a/home/terminal/git.nix b/home/terminal/git.nix new file mode 100644 index 0000000..bfa59a3 --- /dev/null +++ b/home/terminal/git.nix @@ -0,0 +1,7 @@ +{ + programs.git = { + enable = true; + userEmail = "me@tx0.su"; + userName = "tx0"; + }; +} diff --git a/home/terminal/git/default.nix b/home/terminal/git/default.nix new file mode 100644 index 0000000..bfa59a3 --- /dev/null +++ b/home/terminal/git/default.nix @@ -0,0 +1,7 @@ +{ + programs.git = { + enable = true; + userEmail = "me@tx0.su"; + userName = "tx0"; + }; +} diff --git a/home/terminal/nvf.nix b/home/terminal/nvf.nix new file mode 100644 index 0000000..b55ad6b --- /dev/null +++ b/home/terminal/nvf.nix @@ -0,0 +1,141 @@ +{ + pkgs, + config, + lib, + ... +}: let + inherit (config.lib.stylix) colors; +in { + programs.nvf = { + enable = true; + settings.vim = { + useSystemClipboard = true; + viAlias = true; + vimAlias = true; + theme = { + enable = true; + name = "base16"; + style = "dark"; + base16-colors = { + inherit (colors) base00 base01 base02 base03 base04 base05 base06 base07; + inherit (colors) base08 base09 base0A base0B base0C base0D base0E base0F; + }; + transparent = true; + }; + + options = { + tabstop = 2; + expandtab = true; + softtabstop = 2; + shiftwidth = 2; + }; + + lsp = { + formatOnSave = true; + }; + + visuals = { + nvim-scrollbar.enable = true; + nvim-web-devicons.enable = true; + nvim-cursorline.enable = true; + fidget-nvim.enable = true; + }; + + statusline.lualine.enable = true; + + autopairs.nvim-autopairs.enable = true; + autocomplete.nvim-cmp.enable = true; + + tabline = { + nvimBufferline = { + enable = true; + mappings = { + cycleNext = ""; + }; + setupOpts.options = { + numbers = { + _type = "lua-inline"; + expr = '' + function(opts) + return string.format('%s', opts.id) + end + ''; + }; + }; + }; + }; + + ui = { + borders.enable = true; + colorizer.enable = true; + }; + + binds.whichKey.enable = true; + + treesitter.context.enable = false; + + dashboard = { + dashboard-nvim.enable = true; + }; + + languages = { + enableLSP = true; + enableTreesitter = true; + enableFormat = true; + + nix.enable = true; + python = { + enable = true; + # lsp.server = "pyright"; + }; + go.enable = true; + bash.enable = true; + css.enable = true; + html.enable = true; + lua.enable = true; + }; + + lazy.plugins = { + "vim-tmux-navigator" = { + package = pkgs.vimPlugins.vim-tmux-navigator; + setupModule = "vim-tmux-navigator"; + cmd = [ + "TmuxNavigateLeft" + "TmuxNavigateDown" + "TmuxNavigateUp" + "TmuxNavigateRight" + "TmuxNavigatePrevious" + "TmuxNavigatorProcessList" + ]; + keys = [ + { + key = ""; + mode = "n"; + action = "TmuxNavigateLeft"; + } + { + key = ""; + mode = "n"; + action = "TmuxNavigateDown"; + } + { + key = ""; + mode = "n"; + action = "TmuxNavigateUp"; + } + { + key = ""; + mode = "n"; + action = "TmuxNavigateRight"; + } + { + key = ""; + mode = "n"; + action = "TmuxNavigatePrevious"; + } + ]; + }; + }; + }; + }; +} diff --git a/home/terminal/nvf/default.nix b/home/terminal/nvf/default.nix new file mode 100644 index 0000000..b55ad6b --- /dev/null +++ b/home/terminal/nvf/default.nix @@ -0,0 +1,141 @@ +{ + pkgs, + config, + lib, + ... +}: let + inherit (config.lib.stylix) colors; +in { + programs.nvf = { + enable = true; + settings.vim = { + useSystemClipboard = true; + viAlias = true; + vimAlias = true; + theme = { + enable = true; + name = "base16"; + style = "dark"; + base16-colors = { + inherit (colors) base00 base01 base02 base03 base04 base05 base06 base07; + inherit (colors) base08 base09 base0A base0B base0C base0D base0E base0F; + }; + transparent = true; + }; + + options = { + tabstop = 2; + expandtab = true; + softtabstop = 2; + shiftwidth = 2; + }; + + lsp = { + formatOnSave = true; + }; + + visuals = { + nvim-scrollbar.enable = true; + nvim-web-devicons.enable = true; + nvim-cursorline.enable = true; + fidget-nvim.enable = true; + }; + + statusline.lualine.enable = true; + + autopairs.nvim-autopairs.enable = true; + autocomplete.nvim-cmp.enable = true; + + tabline = { + nvimBufferline = { + enable = true; + mappings = { + cycleNext = ""; + }; + setupOpts.options = { + numbers = { + _type = "lua-inline"; + expr = '' + function(opts) + return string.format('%s', opts.id) + end + ''; + }; + }; + }; + }; + + ui = { + borders.enable = true; + colorizer.enable = true; + }; + + binds.whichKey.enable = true; + + treesitter.context.enable = false; + + dashboard = { + dashboard-nvim.enable = true; + }; + + languages = { + enableLSP = true; + enableTreesitter = true; + enableFormat = true; + + nix.enable = true; + python = { + enable = true; + # lsp.server = "pyright"; + }; + go.enable = true; + bash.enable = true; + css.enable = true; + html.enable = true; + lua.enable = true; + }; + + lazy.plugins = { + "vim-tmux-navigator" = { + package = pkgs.vimPlugins.vim-tmux-navigator; + setupModule = "vim-tmux-navigator"; + cmd = [ + "TmuxNavigateLeft" + "TmuxNavigateDown" + "TmuxNavigateUp" + "TmuxNavigateRight" + "TmuxNavigatePrevious" + "TmuxNavigatorProcessList" + ]; + keys = [ + { + key = ""; + mode = "n"; + action = "TmuxNavigateLeft"; + } + { + key = ""; + mode = "n"; + action = "TmuxNavigateDown"; + } + { + key = ""; + mode = "n"; + action = "TmuxNavigateUp"; + } + { + key = ""; + mode = "n"; + action = "TmuxNavigateRight"; + } + { + key = ""; + mode = "n"; + action = "TmuxNavigatePrevious"; + } + ]; + }; + }; + }; + }; +} diff --git a/home/terminal/tmux.nix b/home/terminal/tmux.nix new file mode 100644 index 0000000..45094c2 --- /dev/null +++ b/home/terminal/tmux.nix @@ -0,0 +1,44 @@ +{ + pkgs, + config, + ... +}: { + programs.tmux = { + enable = true; + shell = "${pkgs.fish}/bin/fish"; + terminal = "tmux-256color"; + historyLimit = 100000; + plugins = with pkgs.tmuxPlugins; [ + vim-tmux-navigator + ]; + escapeTime = 0; + mouse = true; + + extraConfig = '' + set -g destroy-unattached on + + unbind C-b + set -g prefix C-Space + bind C-Space send-prefix + + set -g base-index 1 + set -g pane-base-index 1 + set-window-option -g pane-base-index 1 + set -g renumber-windows on + + bind -n M-H previous-window + bind -n M-: next-window + + set-window-option -g mode-keys vi + + bind-key -T copy-mode-vi v send-keys -X begin-selection + bind-key -T copy-mode-vi C-v send-keys -X rectangle-selection + bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel + unbind % + unbind '"' + bind ']' split-window -v -c "#{pane_current_path}" + bind '\' split-window -h -c "#{pane_current_path}" + bind C-l send-keys 'C-l' + ''; + }; +} diff --git a/home/terminal/tmux/default.nix b/home/terminal/tmux/default.nix new file mode 100644 index 0000000..45094c2 --- /dev/null +++ b/home/terminal/tmux/default.nix @@ -0,0 +1,44 @@ +{ + pkgs, + config, + ... +}: { + programs.tmux = { + enable = true; + shell = "${pkgs.fish}/bin/fish"; + terminal = "tmux-256color"; + historyLimit = 100000; + plugins = with pkgs.tmuxPlugins; [ + vim-tmux-navigator + ]; + escapeTime = 0; + mouse = true; + + extraConfig = '' + set -g destroy-unattached on + + unbind C-b + set -g prefix C-Space + bind C-Space send-prefix + + set -g base-index 1 + set -g pane-base-index 1 + set-window-option -g pane-base-index 1 + set -g renumber-windows on + + bind -n M-H previous-window + bind -n M-: next-window + + set-window-option -g mode-keys vi + + bind-key -T copy-mode-vi v send-keys -X begin-selection + bind-key -T copy-mode-vi C-v send-keys -X rectangle-selection + bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel + unbind % + unbind '"' + bind ']' split-window -v -c "#{pane_current_path}" + bind '\' split-window -h -c "#{pane_current_path}" + bind C-l send-keys 'C-l' + ''; + }; +} diff --git a/home/terminal/yazi.nix b/home/terminal/yazi.nix new file mode 100644 index 0000000..c39119e --- /dev/null +++ b/home/terminal/yazi.nix @@ -0,0 +1,40 @@ +{ + programs.yazi = { + enable = true; + settings = { + opener = { + edit = [ + { + run = ''$EDITOR "$@"''; + block = true; + for = "unix"; + } + ]; + open = [ + { + run = ''xdg-open "$@"''; + desc = "Open"; + } + ]; + }; + open = { + prepend_rules = [ + { + mime = "text/*"; + use = "edit"; + } + { + name = "*.html"; + use = ["open" "edit"]; + } + ]; + append_rules = [ + { + name = "*"; + use = "open"; + } + ]; + }; + }; + }; +} diff --git a/home/terminal/yazi/default.nix b/home/terminal/yazi/default.nix new file mode 100644 index 0000000..c39119e --- /dev/null +++ b/home/terminal/yazi/default.nix @@ -0,0 +1,40 @@ +{ + programs.yazi = { + enable = true; + settings = { + opener = { + edit = [ + { + run = ''$EDITOR "$@"''; + block = true; + for = "unix"; + } + ]; + open = [ + { + run = ''xdg-open "$@"''; + desc = "Open"; + } + ]; + }; + open = { + prepend_rules = [ + { + mime = "text/*"; + use = "edit"; + } + { + name = "*.html"; + use = ["open" "edit"]; + } + ]; + append_rules = [ + { + name = "*"; + use = "open"; + } + ]; + }; + }; + }; +} diff --git a/home/terminal/zoxide.nix b/home/terminal/zoxide.nix new file mode 100644 index 0000000..be37fc8 --- /dev/null +++ b/home/terminal/zoxide.nix @@ -0,0 +1,13 @@ +{ + pkgs, + config, + ... +}: { + programs.zoxide = { + enable = true; + enableFishIntegration = true; + options = [ + "--cmd cd" + ]; + }; +} diff --git a/home/terminal/zoxide/default.nix b/home/terminal/zoxide/default.nix new file mode 100644 index 0000000..be37fc8 --- /dev/null +++ b/home/terminal/zoxide/default.nix @@ -0,0 +1,13 @@ +{ + pkgs, + config, + ... +}: { + programs.zoxide = { + enable = true; + enableFishIntegration = true; + options = [ + "--cmd cd" + ]; + }; +} diff --git a/home/waybar/assets/vol.svg b/home/waybar/assets/vol.svg new file mode 100644 index 0000000..47f6ec0 --- /dev/null +++ b/home/waybar/assets/vol.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/home/waybar/default.nix b/home/waybar/default.nix new file mode 100644 index 0000000..5859d8a --- /dev/null +++ b/home/waybar/default.nix @@ -0,0 +1,405 @@ +{ + pkgs, + config, + ... +}: let + music-script = pkgs.callPackage ./scripts/music {}; +in { + programs.waybar = { + enable = true; + package = pkgs.waybar; + settings = { + main = { + name = "main"; + layer = "top"; + position = "bottom"; + # output = ["DP-1"]; + height = 50; + width = 1800; + spacing = 0; + margin-top = -15; + margin-bottom = 0; + + modules-left = [ + "tray" + + "custom/cpu" + "cpu" + + "custom/memory" + "memory" + + "custom/player-btn-play" + #"custom/player-btn-prev" + #"custom/player-btn-next" + "custom/player-text" + ]; + + modules-center = [ + "hyprland/workspaces" + ]; + + modules-right = [ + "wireplumber#icon" + "wireplumber#text" + + "custom/language" + "hyprland/language" + + "custom/clock" + "clock" + + "custom/date" + "clock#date" + ]; + + "tray" = { + icon-size = 15; + spacing = 16; + }; + + "custom/cpu" = { + tooltip = false; + format = ""; + }; + "cpu" = { + interval = 1; + format = "{usage}%"; + }; + + "custom/memory" = { + tooltip = false; + format = ""; + }; + "memory" = { + interval = 1; + format = "{used:0.1f}Gb"; + }; + + "custom/player-btn-prev" = { + tooltip = false; + on-click = "${pkgs.playerctl}/bin/playerctl previous"; + format = "{}"; + return-type = "json"; + exec = "${music-script}/bin/main.py --icon-text ''"; + }; + "custom/player-btn-play" = { + tooltip = false; + format = "{}"; + max-length = 40; + return-type = "json"; + on-click = "${pkgs.playerctl}/bin/playerctl play-pause"; + exec = "${music-script}/bin/main.py --icon"; + }; + "custom/player-btn-next" = { + tooltip = false; + on-click = "${pkgs.playerctl}/bin/playerctl next"; + format = "{}"; + return-type = "json"; + exec = "${music-script}/bin/main.py --icon-text ''"; + }; + "custom/player-text" = { + tooltip-format = "{}"; + format = "{}"; + max-length = 40; + return-type = "json"; + escape = false; + exec = "${music-script}/bin/main.py"; + }; + + "hyprland/workspaces" = { + format = "{name}"; + on-click = "activate"; + tooltip = false; + "persistent_workspaces" = { + "*" = []; + }; + }; + + "wireplumber#icon" = { + tooltip = false; + scroll-step = 2; + format = "{icon}"; + format-icons = ["" "" ""]; + format-muted = ""; + on-click = "pwvucontrol"; + max-volume = 100; + }; + "wireplumber#text" = { + scroll-step = 2; + format = "{volume}%"; + on-click = "pwvucontrol"; + max-volume = 100; + }; + + "custom/language" = { + tooltip = false; + format = ""; + }; + "hyprland/language" = { + format = "{}"; + format-en = "Eng"; + format-ru = "Rus"; + tooltip-format = "{}"; + }; + + "custom/clock" = { + tooltip = false; + format = ""; + }; + "clock" = { + tooltip = false; + format = "{:%H:%M}"; + timezone = "Asia/Yekaterinburg"; + }; + + "custom/date" = { + tooltip = false; + format = ""; + }; + "clock#date" = { + tooltip-format = "{:%Y %B}\n{calendar}"; + format = "{:%b %d}"; + timezone = "Asia/Yekaterinburg"; + }; + }; + + /* + second = { + name = "second"; + layer = "top"; + position = "bottom"; + output = ["HDMI-A-1"]; + height = 50; + width = 900; + spacing = 0; + margin-top = -15; + margin-bottom = 0; + + modules-left = [ + "tray" + ]; + + modules-center = [ + "hyprland/workspaces" + ]; + + modules-right = [ + "wireplumber#icon" + "wireplumber#text" + + "custom/clock" + "clock" + + "custom/date" + "clock#date" + ]; + + "tray" = { + icon-size = 15; + spacing = 16; + }; + + "hyprland/workspaces" = { + format = "{name}"; + on-click = "activate"; + tooltip = false; + "persistent_workspaces" = { + "*" = []; + }; + }; + + "wireplumber#icon" = { + tooltip = false; + scroll-step = 2; + format = "{icon}"; + format-icons = ["" "" ""]; + format-muted = ""; + on-click = "pwvucontrol"; + max-volume = 100; + }; + "wireplumber#text" = { + scroll-step = 2; + format = "{volume}%"; + on-click = "pwvucontrol"; + max-volume = 100; + }; + + "custom/clock" = { + tooltip = false; + format = ""; + }; + "clock" = { + tooltip = false; + format = "{:%H:%M}"; + timezone = "Asia/Yekaterinburg"; + }; + + "custom/date" = { + tooltip = false; + format = ""; + }; + "clock#date" = { + tooltip-format = "{:%Y %B}\n{calendar}"; + format = "{:%b %d}"; + timezone = "Asia/Yekaterinburg"; + }; + }; + */ + }; + + style = let + outer-radius = 100; + inner-radius = 40; + bar-radius = 25; + outer-gapps = 6; + inner-gapps = 8; + chip-gapps = 4; + icon-size = 20; + text-size = 15; + + s = x: builtins.toString x; + half = x: s ((builtins.floor (x * 10 / 2) * 1.0) / 10); + in + with config.lib.stylix.colors.withHashtag; + /* + css + */ + '' + * { + font-family: "${config.stylix.fonts.serif.name}"; + font-weight: bold; + font-size: ${s text-size}px; + min-height: 0px; + } + + window#waybar { + background-color: ${base01}; + transition-duration: 0.5s; + border-radius: ${s bar-radius}px ${s bar-radius}px 0px 0px; + /* border-radius: ${s bar-radius}px; */ + } + + #workspaces { + font-size: 14px; + background-color: ${base00}; + margin: ${s outer-gapps}px ${half inner-gapps}px; + padding: 4px; + border-radius: ${s outer-radius}px; + } + + #workspaces button { + background-color: ${base00}; + color: ${base04}; + padding: 2px 4px; + margin: 3px; + border-radius: ${s outer-radius}px; + } + + #workspaces button:hover { + background-color: ${base02}; + color: ${base06}; + } + + #workspaces button.active { + background-color: ${base05}; + color: ${base01}; + } + + /* global rules */ + #custom-cpu, + #custom-memory, + #custom-language, + #custom-clock, + #custom-date, + #custom-player-btn-play, + #custom-player-btn-prev, + #custom-player-btn-next, + #custom-player-text, + #battery, + #wireplumber, + #tray, + #language, + #clock, + #cpu, + #memory, + #custom-spotify { + background: ${base00}; + border-style: none; + border-radius: ${s outer-radius}px; + color: ${base05}; + margin: ${s outer-gapps}px ${half inner-gapps}px; + padding: 0px 10px; + } + + #tray { + margin: ${s outer-gapps}px ${half chip-gapps}px ${s outer-gapps}px ${s outer-gapps}px; + } + + /* icon chips */ + #wireplumber.icon, + #custom-memory, + #custom-language, + #custom-clock, + #custom-date, + #custom-player-btn-prev, + #custom-player-btn-next, + #custom-player-btn-play, + #custom-cpu { + font-size: ${s icon-size}px; + font-family: "Material Symbols Rounded"; + min-width: 25px; + } + + /* text chips */ + #wireplumber.text, + #memory, + #language, + #clock, + #cpu { + min-width: 40px; + } + + /* start chips */ + #custom-cpu, + #custom-memory, + #custom-player-btn-play, + #wireplumber.icon, + #custom-language, + #custom-clock, + #custom-date { + padding: 0px 7px 0px 10px; + margin: ${s outer-gapps}px ${half chip-gapps}px ${s outer-gapps}px ${half inner-gapps}px; + border-radius: ${s outer-radius}px ${s inner-radius}px ${s inner-radius}px ${s outer-radius}px + } + + /* center chips */ + #custom-player-btn-next, + #custom-player-btn-prev { + margin: ${s outer-gapps}px ${half chip-gapps}px ${s outer-gapps}px ${half chip-gapps}px; + border-radius: ${s (inner-radius / 4)}px; + min-width: 15px; + } + + /* end chips */ + #cpu, + #memory, + #custom-player-text, + #wireplumber.text, + #language, + #clock{ + padding: 0px 10px 0px 7px; + margin: ${s outer-gapps}px ${half inner-gapps}px ${s outer-gapps}px ${half chip-gapps}px; + border-radius: ${s inner-radius}px ${s outer-radius}px ${s outer-radius}px ${s inner-radius}px + } + + #wireplumber.icon.muted { + color: ${base08}; + } + + #clock.date { + margin: ${s outer-gapps}px ${s outer-gapps}px ${s outer-gapps}px ${half chip-gapps}px; + } + ''; + }; +} diff --git a/home/waybar/scripts/music/default.nix b/home/waybar/scripts/music/default.nix new file mode 100644 index 0000000..8a65053 --- /dev/null +++ b/home/waybar/scripts/music/default.nix @@ -0,0 +1,23 @@ +{ + lib, + python3Packages, + gobject-introspection, + wrapGAppsHook, + playerctl, +}: +python3Packages.buildPythonApplication { + pname = "waybar-music-script"; + version = "0.0.0"; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook + ]; + + propagatedBuildInputs = [ + python3Packages.pygobject3 + playerctl + ]; + + src = ./.; +} diff --git a/home/waybar/scripts/music/main.py b/home/waybar/scripts/music/main.py new file mode 100755 index 0000000..b66ea5a --- /dev/null +++ b/home/waybar/scripts/music/main.py @@ -0,0 +1,233 @@ +#!/usr/bin/env python3 +import gi + +gi.require_version("Playerctl", "2.0") +from gi.repository import Playerctl, GLib +from gi.repository.Playerctl import Player +import argparse +import logging +import sys +import signal +import gi +import json +import os +from typing import List + +logger = logging.getLogger(__name__) + + +def signal_handler(sig, frame): + logger.info("Received signal to stop, exiting") + sys.stdout.write("\n") + sys.stdout.flush() + # loop.quit() + sys.exit(0) + + +class PlayerManager: + def __init__( + self, selected_player=None, excluded_player=[], icon=False, icon_text=None + ): + self.manager = Playerctl.PlayerManager() + self.loop = GLib.MainLoop() + self.manager.connect( + "name-appeared", lambda *args: self.on_player_appeared(*args) + ) + self.manager.connect( + "player-vanished", lambda *args: self.on_player_vanished(*args) + ) + + signal.signal(signal.SIGINT, signal_handler) + signal.signal(signal.SIGTERM, signal_handler) + signal.signal(signal.SIGPIPE, signal.SIG_DFL) + self.selected_player = selected_player + self.excluded_player = excluded_player.split(",") if excluded_player else [] + self.icon = icon + self.icon_text = icon_text + + self.init_players() + + def init_players(self): + for player in self.manager.props.player_names: + if player.name in self.excluded_player: + continue + if self.selected_player is not None and self.selected_player != player.name: + logger.debug(f"{player.name} is not the filtered player, skipping it") + continue + self.init_player(player) + + def run(self): + logger.info("Starting main loop") + self.loop.run() + + def init_player(self, player): + logger.info(f"Initialize new player: {player.name}") + player = Playerctl.Player.new_from_name(player) + player.connect("playback-status", self.on_playback_status_changed, None) + player.connect("metadata", self.on_metadata_changed, None) + self.manager.manage_player(player) + self.on_metadata_changed(player, player.props.metadata) + + def get_players(self) -> List[Player]: + return self.manager.props.players + + def write_output(self, text, player): + logger.debug(f"Writing output: {text}") + + output = { + "text": text, + "class": "custom-" + player.props.player_name, + "alt": player.props.player_name, + } + + sys.stdout.write(json.dumps(output) + "\n") + sys.stdout.flush() + + def clear_output(self): + sys.stdout.write("\n") + sys.stdout.flush() + + def on_playback_status_changed(self, player, status, _=None): + logger.debug( + f"Playback status changed for player {player.props.player_name}: {status}" + ) + self.on_metadata_changed(player, player.props.metadata) + + def get_first_playing_player(self): + players = self.get_players() + logger.debug(f"Getting first playing player from {len(players)} players") + if len(players) > 0: + # if any are playing, show the first one that is playing + # reverse order, so that the most recently added ones are preferred + for player in players[::-1]: + if player.props.status == "Playing": + return player + # if none are playing, show the first one + return players[0] + else: + logger.debug("No players found") + return None + + def show_most_important_player(self): + logger.debug("Showing most important player") + # show the currently playing player + # or else show the first paused player + # or else show nothing + current_player = self.get_first_playing_player() + if current_player is not None: + self.on_metadata_changed(current_player, current_player.props.metadata) + else: + self.clear_output() + + def on_metadata_changed(self, player, metadata, _=None): + logger.debug(f"Metadata changed for player {player.props.player_name}") + player_name = player.props.player_name + artist = player.get_artist() + title = player.get_title() + title = title.replace("&", "&") + + track_info = "" + if ( + player_name == "spotify" + and "mpris:trackid" in metadata.keys() + and ":ad:" in player.props.metadata["mpris:trackid"] + ): + track_info = "Advertisement" + elif artist is not None and title is not None: + track_info = f"{title} - {artist}" + else: + track_info = title + + if track_info: + if self.icon: + if player.props.status == "Playing": + track_info = "" + else: + track_info = "" + if self.icon_text: + track_info = self.icon_text + # only print output if no other player is playing + current_playing = self.get_first_playing_player() + if ( + current_playing is None + or current_playing.props.player_name == player.props.player_name + ): + self.write_output(track_info, player) + else: + logger.debug( + f"Other player {current_playing.props.player_name} is playing, skipping" + ) + + def on_player_appeared(self, _, player): + logger.info(f"Player has appeared: {player.name}") + if player.name in self.excluded_player: + logger.debug( + "New player appeared, but it's in exclude player list, skipping" + ) + return + if player is not None and ( + self.selected_player is None or player.name == self.selected_player + ): + self.init_player(player) + else: + logger.debug( + "New player appeared, but it's not the selected player, skipping" + ) + + def on_player_vanished(self, _, player): + logger.info(f"Player {player.props.player_name} has vanished") + self.show_most_important_player() + + +def parse_arguments(): + parser = argparse.ArgumentParser() + + # Increase verbosity with every occurrence of -v + parser.add_argument("-v", "--verbose", action="count", default=0) + + parser.add_argument("-x", "--exclude", "- Comma-separated list of excluded player") + + # Define for which player we"re listening + parser.add_argument("--player") + + parser.add_argument("--enable-logging", action="store_true") + + parser.add_argument("--icon", action="store_true") + + parser.add_argument("--icon-text") + + return parser.parse_args() + + +def main(): + arguments = parse_arguments() + + # Initialize logging + if arguments.enable_logging: + logfile = os.path.join( + os.path.dirname(os.path.realpath(__file__)), "media-player.log" + ) + logging.basicConfig( + filename=logfile, + level=logging.DEBUG, + format="%(asctime)s %(name)s %(levelname)s:%(lineno)d %(message)s", + ) + + # Logging is set by default to WARN and higher. + # With every occurrence of -v it's lowered by one + logger.setLevel(max((3 - arguments.verbose) * 10, 0)) + + logger.info("Creating player manager") + if arguments.player: + logger.info(f"Filtering for player: {arguments.player}") + if arguments.exclude: + logger.info(f"Exclude player {arguments.exclude}") + + player = PlayerManager( + arguments.player, arguments.exclude, arguments.icon, arguments.icon_text + ) + player.run() + + +if __name__ == "__main__": + main() diff --git a/home/waybar/scripts/music/setup.py b/home/waybar/scripts/music/setup.py new file mode 100644 index 0000000..f152e9e --- /dev/null +++ b/home/waybar/scripts/music/setup.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python + +from setuptools import setup, find_packages + +setup(name='waybar-music-info', + version='0.0.0', + packages=find_packages(), + scripts=["main.py"], + ) diff --git a/home/xdg/default.nix b/home/xdg/default.nix new file mode 100644 index 0000000..e4e4396 --- /dev/null +++ b/home/xdg/default.nix @@ -0,0 +1,24 @@ +{ + xdg = { + mimeApps = { + enable = true; + defaultApplications = { + "text/plain" = ["neovim.desktop"]; + "x-scheme-handler/http" = ["userapp-Zen-JXSV02.desktop"]; + "x-scheme-handler/https" = ["userapp-Zen-JXSV02.desktop"]; + "x-scheme-handler/chrome" = ["userapp-Zen-JXSV02.desktop"]; + "text/html" = ["userapp-Zen-JXSV02.desktop"]; + "application/x-extension-htm" = ["userapp-Zen-JXSV02.desktop"]; + "application/x-extension-html" = ["userapp-Zen-JXSV02.desktop"]; + "application/x-extension-shtml" = ["userapp-Zen-JXSV02.desktop"]; + "application/xhtml+xml" = ["userapp-Zen-JXSV02.desktop"]; + "application/x-extension-xhtml" = ["userapp-Zen-JXSV02.desktop"]; + "application/x-extension-xht" = ["userapp-Zen-JXSV02.desktop"]; + "x-scheme-handler/tg" = ["org.telegram.desktop.desktop"]; + "x-scheme-handler/tonsite" = ["org.telegram.desktop.desktop"]; + "application/pdf" = ["zen.desktop"]; + "x-scheme-handler/discord" = ["vesktop.desktop"]; + }; + }; + }; +} diff --git a/hosts/common/boot/default.nix b/hosts/common/boot/default.nix new file mode 100644 index 0000000..5d47ee7 --- /dev/null +++ b/hosts/common/boot/default.nix @@ -0,0 +1,21 @@ +{ + lib, + pkgs, + config, + ... +}: { + boot = { + kernelPackages = pkgs.linuxPackages_zen; + kernelModules = []; + extraModulePackages = with config.boot.kernelPackages; [ + amneziawg + ]; + + loader.systemd-boot = { + enable = true; + }; + loader.efi.canTouchEfiVariables = true; + + binfmt.emulatedSystems = ["aarch64-linux"]; + }; +} diff --git a/hosts/common/nix/default.nix b/hosts/common/nix/default.nix new file mode 100644 index 0000000..3236f3c --- /dev/null +++ b/hosts/common/nix/default.nix @@ -0,0 +1,34 @@ +{ + inputs, + pkgs, + ... +}: { + nix = { + package = pkgs.lix; + nixPath = ["nixpkgs=${inputs.nixpkgs}"]; + settings = { + experimental-features = ["nix-command" "flakes"]; + + extra-substituters = [ + "https://cache.garnix.io" + "https://nix-community.cachix.org" + "https://cache.nixos.org" + "https://hyprland.cachix.org" + ]; + extra-trusted-public-keys = [ + "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + ]; + builders-use-substitutes = true; + auto-optimise-store = true; + trusted-users = [ + "tx0" + "root" + "@wheel" + ]; + warn-dirty = false; + }; + }; +} diff --git a/hosts/common/nixpkgs/default.nix b/hosts/common/nixpkgs/default.nix new file mode 100644 index 0000000..a71e4d6 --- /dev/null +++ b/hosts/common/nixpkgs/default.nix @@ -0,0 +1,9 @@ +{...}: { + nixpkgs.config = { + allowUnfree = true; + allowBroken = true; + allowAliases = true; + allowInsecure = true; + allowUnfreePredicate = true; + }; +} diff --git a/hosts/common/packages/default.nix b/hosts/common/packages/default.nix new file mode 100644 index 0000000..2c4c17b --- /dev/null +++ b/hosts/common/packages/default.nix @@ -0,0 +1,14 @@ +{pkgs, ...}: { + environment.sessionVariables = { + EDITOR = "nvim"; + FLAKE = "/home/tx0/nixos/"; + }; + + environment.systemPackages = with pkgs; [ + git + fish + home-manager + rocmPackages.clr.icd + steam + ]; +} diff --git a/hosts/common/programs/default.nix b/hosts/common/programs/default.nix new file mode 100644 index 0000000..628a2a6 --- /dev/null +++ b/hosts/common/programs/default.nix @@ -0,0 +1,32 @@ +{ + pkgs, + inputs, + ... +}: { + programs = { + fish.enable = true; + amnezia-vpn.enable = true; + + nh = { + enable = true; + clean = { + enable = true; + dates = "weekly"; + extraArgs = "--keep-since 7d"; + }; + }; + + clash-verge = { + enable = true; + autoStart = true; + }; + + hyprland = { + enable = true; + package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + }; + + command-not-found.dbPath = inputs.programsdb.packages.${pkgs.system}.programs-sqlite; + }; +} diff --git a/hosts/common/services/default.nix b/hosts/common/services/default.nix new file mode 100644 index 0000000..a809010 --- /dev/null +++ b/hosts/common/services/default.nix @@ -0,0 +1,35 @@ +{ + lib, + pkgs, + ... +}: { + services = { + resolved.enable = true; + + openssh = { + enable = true; + ports = [22 48001]; + settings = { + PasswordAuthentication = false; + }; + }; + + udev.packages = [ + pkgs.android-udev-rules + ]; + + printing.enable = true; + + libinput.enable = true; + + pipewire = { + enable = lib.mkForce true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + audio.enable = true; + }; + + udisks2.enable = true; + }; +} diff --git a/hosts/common/users/default.nix b/hosts/common/users/default.nix new file mode 100644 index 0000000..bad661f --- /dev/null +++ b/hosts/common/users/default.nix @@ -0,0 +1,41 @@ +{pkgs, ...}: { + time.timeZone = "Asia/Yekaterinburg"; + i18n.defaultLocale = "en_US.UTF-8"; + users = { + defaultUserShell = pkgs.fish; + users."tx0" = { + isNormalUser = true; + extraGroups = [ + "wheel" + "input" + "networkmanager" + "video" + "audio" + "podman" + "adbusers" + "kvm" + ]; + subGidRanges = [ + { + count = 65536; + startGid = 100000; + } + ]; + subUidRanges = [ + { + count = 65536; + startUid = 100000; + } + ]; + packages = []; + useDefaultShell = true; + openssh.authorizedKeys = { + keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz8WZ+c24RYjBMVNZGMR+IjSQb7WtrMi2ZcfAf6BwNLaKJTlWABN20FSscbGy8oCdfheAKvdTrx+hMRNCmEdTmNZlDXZ0kDBFh1h3I2geC3XNWjXuYSSmZpfW71Tex5ZHpruD9lstL9rBVY7c1ZKJfmtgM5m+x44FZwjxdFffQbj9LtLmy6zWQ7iX7/zzcdPJvJxoQbBwmAeVqZErpR/IoSG2uXTS4tIqGStfg6kBoV/AZBwYCxE0f3jFzajTMm+n6kjnKOiztfaw+NVB4+QLlSvB5i3iJ7afjhv/KfH4/t0gmVCfqo+O9pPOUqLokQvHvAu33M6PP5Roc4mK+pGEYXabUdv757uo8RdDg6x3bu5kgJS+V06ZycnDtHYNda+8/qEh+nryu0TqqJtqALwO2k7VcTgDoMrU3UvXRSA3wIO+Gp8qbPVjJv1/jSKoVurmFe3Wwy0LVEA++zF4F571aOPzwY49q6AF+JuPCUWPy44K7oG6MfFPZSk7TtSelH18= timoxa@pc" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAka1w1Ld4KLiZfztI6Qqe5irM6g8G0ENGmqds+LWiGE" + ]; + }; + shell = pkgs.fish; + }; + }; +} diff --git a/hosts/common/virtualisation/podman.nix b/hosts/common/virtualisation/podman.nix new file mode 100644 index 0000000..c982261 --- /dev/null +++ b/hosts/common/virtualisation/podman.nix @@ -0,0 +1,6 @@ +{ + virtualisation.podman = { + enable = true; + dockerCompat = true; + }; +} diff --git a/hosts/nixos/default.nix b/hosts/nixos/default.nix new file mode 100644 index 0000000..ea14766 --- /dev/null +++ b/hosts/nixos/default.nix @@ -0,0 +1,12 @@ +{inputs, ...}: { + system.stateVersion = "24.11"; + imports = inputs.nypkgs.legacyPackages."x86_64-linux".lib.umport { + paths = [./. ../common]; + + exclude = [ + ./default.nix + # ./stylix/themes + # ./programs/niri.nix + ]; + }; +} diff --git a/hosts/nixos/hardware/default.nix b/hosts/nixos/hardware/default.nix new file mode 100644 index 0000000..e1b7568 --- /dev/null +++ b/hosts/nixos/hardware/default.nix @@ -0,0 +1,81 @@ +{ + config, + lib, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-amd"]; + boot.extraModulePackages = []; + boot.kernelParams = [ + "video=DP-1:3440x1440@100" + "video=HDMI-A-1:1920x1200@60" + ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/eac97f4e-9e1b-4e9e-bf7c-726328f347bc"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/C2C4-53B2"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; + + fileSystems."/mnt/data" = { + device = "/dev/disk/by-partlabel/data"; + fsType = "btrfs"; + options = ["compress=zstd" "subvol=@Data"]; + }; + + fileSystems."/mnt/data_home" = { + device = "/dev/disk/by-partlabel/data"; + fsType = "btrfs"; + options = ["compress=zstd" "subvol=@Home"]; + }; + + # fileSystems."/mnt/arch" = { + # device = "/dev/disk/by-uuid/7c552892-f313-438d-91bd-b10fb8c06230"; + # fsType = "btrfs"; + # options = ["compress=zstd" "subvol=@"]; + # }; + + # fileSystems."/mnt/arch/var/log" = { + # device = "/dev/disk/by-uuid/7c552892-f313-438d-91bd-b10fb8c06230"; + # fsType = "btrfs"; + # options = ["compress=zstd" "subvol=@log"]; + # }; + + # fileSystems."/mnt/arch/var/cache/pacman/pkg" = { + # device = "/dev/disk/by-uuid/7c552892-f313-438d-91bd-b10fb8c06230"; + # fsType = "btrfs"; + # options = ["compress=zstd" "subvol=@pkg"]; + # }; + + # fileSystems."/mnt/arch/home" = { + # device = "/dev/disk/by-uuid/7c552892-f313-438d-91bd-b10fb8c06230"; + # fsType = "btrfs"; + # options = ["compress=zstd" "subvol=@home"]; + # }; + + swapDevices = []; + + networking.useDHCP = lib.mkDefault true; + + hardware.graphics = { + enable = true; + enable32Bit = true; + }; + + services.xserver.videoDrivers = ["displaylink" "modesetting" "amdgpu"]; + virtualisation.vmware.host.enable = true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/nixos/network/default.nix b/hosts/nixos/network/default.nix new file mode 100644 index 0000000..6a0474a --- /dev/null +++ b/hosts/nixos/network/default.nix @@ -0,0 +1,7 @@ +{ + networking = { + hostName = "nixos"; + networkmanager.enable = true; + dhcpcd.enable = true; + }; +} diff --git a/hosts/nixos/network/yggdrasil.nix b/hosts/nixos/network/yggdrasil.nix new file mode 100644 index 0000000..82fa1f8 --- /dev/null +++ b/hosts/nixos/network/yggdrasil.nix @@ -0,0 +1,14 @@ +{...}: { + services.yggdrasil = { + enable = false; + settings = { + Peers = [ + "tls://ygg1.tx0.su:65534" + "tls://ygg2.tx0.su:65534" + "tls://ygg3.tx0.su:65534" + ]; + + IfName = "ygg"; + }; + }; +} diff --git a/hosts/nixos/ollama/default.nix b/hosts/nixos/ollama/default.nix new file mode 100644 index 0000000..b424e5d --- /dev/null +++ b/hosts/nixos/ollama/default.nix @@ -0,0 +1,14 @@ +{ + pkgs, + config, + ... +}: { + services.ollama = { + enable = true; + # acceleration = "rocm"; + # environmentVariables = { + # HCC_AMDGPU_TARGET = "gfx1032"; # used to be necessary, but doesn't seem to anymore + # }; + # rocmOverrideGfx = "10.3.1"; + }; +}