diff --git a/flake.lock b/flake.lock index ca303c3..a1305a7 100755 --- a/flake.lock +++ b/flake.lock @@ -87,27 +87,6 @@ "type": "github" } }, - "devshell": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735644329, - "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", - "owner": "numtide", - "repo": "devshell", - "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, "dream2nix": { "inputs": { "nixpkgs": [ @@ -212,20 +191,6 @@ } }, "flake-compat_6": { - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "revCount": 69, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, - "flake-compat_7": { "flake": false, "locked": { "lastModified": 1696426674, @@ -241,7 +206,7 @@ "type": "github" } }, - "flake-compat_8": { + "flake-compat_7": { "flake": false, "locked": { "lastModified": 1733328505, @@ -257,7 +222,7 @@ "type": "github" } }, - "flake-compat_9": { + "flake-compat_8": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -315,27 +280,6 @@ } }, "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "nixvim", - "nixpkgs" - ] - }, - "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_4": { "inputs": { "nixpkgs-lib": [ "nur", @@ -433,25 +377,7 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_7" - }, - "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_6": { - "inputs": { - "systems": "systems_9" + "systems": "systems_8" }, "locked": { "lastModified": 1731533236, @@ -503,32 +429,6 @@ "type": "github" } }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "nixvim", - "flake-compat" - ], - "gitignore": "gitignore_3", - "nixpkgs": [ - "nixvim", - "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" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -574,28 +474,6 @@ } }, "gitignore_3": { - "inputs": { - "nixpkgs": [ - "nixvim", - "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" - } - }, - "gitignore_4": { "inputs": { "nixpkgs": [ "pre-commit-hooks-nix", @@ -626,11 +504,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1738855896, - "narHash": "sha256-8fPYBNRogRoys8QFFRnMlSgzbRWpUVEEyRK6aTl5Yjg=", + "lastModified": 1738723095, + "narHash": "sha256-5l7ghUJb++dh59VlaZlmAKDoaJgCtT7pCKP87bRNFZE=", "owner": "helix-editor", "repo": "helix", - "rev": "c36ed6ad929210674138f3f91a35208b8c9e3e9c", + "rev": "b0e1eaf50d01257a743b8508f9eb29b78882c403", "type": "github" }, "original": { @@ -673,32 +551,11 @@ ] }, "locked": { - "lastModified": 1738878603, - "narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=", + "lastModified": 1738789832, + "narHash": "sha256-HdlMPfObPu5y7oDfH/w3vvlU3UTQ/bQjSULChZARm5M=", "owner": "nix-community", "repo": "home-manager", - "rev": "433799271274c9f2ab520a49527ebfe2992dcfbd", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738841109, - "narHash": "sha256-sEgE3nifaRU5gfAx33ds0tx/j+qM0/5/bHopv/w6c0c=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "f99c704fe3a4cf8d72b2d568ec80bc38be1a9407", + "rev": "30ea6fed4e4b41693cebc2263373dd810de4de49", "type": "github" }, "original": { @@ -783,11 +640,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1738863928, - "narHash": "sha256-sQAMrDOw8BmhELfKuL/rCtTdXHt95PlIqfhGbIunVqQ=", + "lastModified": 1738770121, + "narHash": "sha256-A51F7pmZXFrVB1AIhlTPL4cHlgkRKC0ffMs5y9zSazc=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "54441e0c4e51dd182f78876c014446d5d0359ba8", + "rev": "8a6778f0a087cdfc4bc1d3751b0be2c2bf3322aa", "type": "github" }, "original": { @@ -1097,34 +954,6 @@ "type": "github" } }, - "ixx": { - "inputs": { - "flake-utils": [ - "nixvim", - "nuschtosSearch", - "flake-utils" - ], - "nixpkgs": [ - "nixvim", - "nuschtosSearch", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1729958008, - "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", - "owner": "NuschtOS", - "repo": "ixx", - "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "ref": "v0.0.6", - "repo": "ixx", - "type": "github" - } - }, "lix": { "flake": false, "locked": { @@ -1185,27 +1014,6 @@ "type": "github" } }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738743987, - "narHash": "sha256-O3bnAfsObto6l2tQOmQlrO6Z2kD6yKwOWfs7pA0CpOc=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "ae406c04577ff9a64087018c79b4fdc02468c87c", - "type": "github" - }, - "original": { - "owner": "lnl7", - "repo": "nix-darwin", - "type": "github" - } - }, "nixos-cosmic": { "inputs": { "flake-compat": "flake-compat_5", @@ -1213,11 +1021,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1738903990, - "narHash": "sha256-Wp+yWCWMf/AiPQqKhh/WwyiX0p/9dDDQmX4tDFgpY94=", + "lastModified": 1738805812, + "narHash": "sha256-3wupg+xSzRPUius7y29btqCR2l28GpCjwS9q83uK9uU=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "854ba004e57bc48ba163eeed4cc0a0cced4cff5e", + "rev": "bbab2cc88af97520259c5575bf29c83bf391424c", "type": "github" }, "original": { @@ -1354,48 +1162,20 @@ "type": "github" } }, - "nixvim": { + "nur": { "inputs": { - "devshell": "devshell", - "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_3", - "git-hooks": "git-hooks", - "home-manager": "home-manager_2", - "nix-darwin": "nix-darwin", "nixpkgs": [ "nixpkgs" ], - "nuschtosSearch": "nuschtosSearch", "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1738917768, - "narHash": "sha256-mQ3ysHsEVHVjX5EzRzYG5hrDY0cqP6O7kNlCg6wFA90=", - "owner": "nix-community", - "repo": "nixvim", - "rev": "f2f70b4376874b74d9bae0df2d4bfd5292c1499e", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixvim", - "type": "github" - } - }, - "nur": { - "inputs": { - "flake-parts": "flake-parts_4", - "nixpkgs": [ - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix_3" - }, - "locked": { - "lastModified": 1738918229, - "narHash": "sha256-1COZUlXOJd3xFcbUJbDwitan1iyO2RV/FlrrL0DjE5Y=", + "lastModified": 1738816609, + "narHash": "sha256-y5cbTsuUCMYigHjV9cD9+zcqpwu+oJIUnVtcnCWmIhg=", "owner": "nix-community", "repo": "NUR", - "rev": "afdea32d8180eca0a2fa6789d00b6cc52d8eecf5", + "rev": "e853d733b274463ff290f6f756f985406e740f30", "type": "github" }, "original": { @@ -1404,29 +1184,6 @@ "type": "github" } }, - "nuschtosSearch": { - "inputs": { - "flake-utils": "flake-utils_5", - "ixx": "ixx", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738508923, - "narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=", - "owner": "NuschtOS", - "repo": "search", - "rev": "86e2038290859006e05ca7201425ea5b5de4aecb", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "repo": "search", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_2", @@ -1452,8 +1209,8 @@ }, "pre-commit-hooks-nix": { "inputs": { - "flake-compat": "flake-compat_7", - "gitignore": "gitignore_4", + "flake-compat": "flake-compat_6", + "gitignore": "gitignore_3", "nixpkgs": [ "nixpkgs" ] @@ -1548,11 +1305,10 @@ "ngipkgs": "ngipkgs", "nixos-cosmic": "nixos-cosmic", "nixpkgs": "nixpkgs_3", - "nixvim": "nixvim", "nur": "nur", "pre-commit-hooks-nix": "pre-commit-hooks-nix", "sops-nix": "sops-nix_2", - "systems": "systems_8", + "systems": "systems_7", "waybar": "waybar", "yazi": "yazi", "zed-editor": "zed-editor" @@ -1776,21 +1532,6 @@ } }, "systems_7": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_8": { "locked": { "lastModified": 1680978846, "narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=", @@ -1805,7 +1546,7 @@ "type": "github" } }, - "systems_9": { + "systems_8": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1843,27 +1584,6 @@ } }, "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738680491, - "narHash": "sha256-8X7tR3kFGkE7WEF5EXVkt4apgaN85oHZdoTGutCFs6I=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "64dbb922d51a42c0ced6a7668ca008dded61c483", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_3": { "inputs": { "nixpkgs": [ "nur", @@ -1886,7 +1606,7 @@ }, "waybar": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_7", "nixpkgs": [ "nixpkgs" ] @@ -1948,16 +1668,16 @@ }, "yazi": { "inputs": { - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_5", "nixpkgs": "nixpkgs_4", "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1738917769, - "narHash": "sha256-f8+C+L8eOugnyx4Zm2y3qAXH33BsI5F1JWecigPKuMg=", + "lastModified": 1738762515, + "narHash": "sha256-0LIVLou8bMYf4guwRy6YTNhMwwKWC4Ty1pg0bHm4588=", "owner": "sxyazi", "repo": "yazi", - "rev": "17ff1e8812304d52aab56eb5dd6a220578a0dd74", + "rev": "e9fcab3b375afef4b0083687388b90e060a55a37", "type": "github" }, "original": { @@ -1969,18 +1689,18 @@ "zed-editor": { "inputs": { "crane": "crane_2", - "flake-compat": "flake-compat_9", + "flake-compat": "flake-compat_8", "nixpkgs": [ "nixpkgs" ], "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1738912888, - "narHash": "sha256-ViqtsIIOXupdWV2dDry/XIXG/kuZ5n72gbXXJpDCj1s=", + "lastModified": 1738822025, + "narHash": "sha256-ME4bjL8qSnJuDf7rPnO0P8A3IVFPm89gp7yKuSuVQac=", "owner": "zed-industries", "repo": "zed", - "rev": "1f9d02607b46fe9b91521e531c7f4af14b85eea4", + "rev": "c61f12dd225ffabd3913aa29adfdf3feb1a62522", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 116ebaf..e1f3eeb 100755 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,6 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; @@ -38,10 +37,6 @@ url = "github:helix-editor/helix"; inputs.nixpkgs.follows = "nixpkgs"; }; - nixvim = { - url = "github:nix-community/nixvim"; - inputs.nixpkgs.follows = "nixpkgs"; - }; nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic"; hyprland = { url = "github:hyprwm/Hyprland"; @@ -87,7 +82,6 @@ inputs.lix-module.nixosModules.default inputs.nur.modules.nixos.default inputs.sops-nix.nixosModules.sops - inputs.nixvim.nixosModules.nixvim ]; fallaryn = inputs.self.lib.mkLinuxSystem [ ./systems/fallaryn diff --git a/modules/home/cli/development/editing/neovim/default.nix b/modules/home/cli/development/editing/neovim/default.nix new file mode 100755 index 0000000..106781d --- /dev/null +++ b/modules/home/cli/development/editing/neovim/default.nix @@ -0,0 +1,3 @@ +{ + programs.neovim.enable = true; +} diff --git a/modules/home/default.nix b/modules/home/default.nix index 52085b2..7fd896a 100755 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -21,34 +21,15 @@ in inherit (modules) cli brave + emulators firefox tor - ghostty - prismLauncher - steam - zed - feishin - obsidian - libreOffice - okular - kolourPaint - imageViewing - obsStudio - daVinci - mpv - freetube - discordCanary - element - signal + code + gaming + media + messaging sharing - bitwarden - emote - flameshot - gnomeCalculator - scrcpy - systemMonitor - usbImager - virtManager + tools hypr wayland theming diff --git a/modules/home/gui/apps/tools/systemMonitor/default.nix b/modules/home/gui/apps/tools/systemMonitor/default.nix deleted file mode 100755 index 88428fd..0000000 --- a/modules/home/gui/apps/tools/systemMonitor/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - pkgs, - ... -}: -{ - home.packages = builtins.attrValues { - inherit (pkgs) - gnome-system-monitor - ; - }; -} diff --git a/modules/home/gui/desktop/hypr/land/default.nix b/modules/home/gui/desktop/hypr/land/default.nix index 3ec6ec8..bcdf9e0 100755 --- a/modules/home/gui/desktop/hypr/land/default.nix +++ b/modules/home/gui/desktop/hypr/land/default.nix @@ -20,7 +20,6 @@ let input = import (configPath + /input.nix); misc = import (configPath + /misc.nix); windowrulev2 = import (configPath + /windowrulev2.nix); - xwayland = import (configPath + /xwayland.nix); }; in { diff --git a/modules/home/gui/desktop/theming/gtk/config/cursorTheme.nix b/modules/home/gui/desktop/theming/gtk/config/cursorTheme.nix new file mode 100755 index 0000000..23a9967 --- /dev/null +++ b/modules/home/gui/desktop/theming/gtk/config/cursorTheme.nix @@ -0,0 +1,13 @@ +{ + pkgs, + flake, + ... +}: +let + inherit (flake.config.aesthetics.themes) cursor; +in +{ + name = "catppuccin-macchiato-dark-cursors"; + package = pkgs.catppuccin-cursors.macchiatoDark; + size = cursor.size; +} diff --git a/modules/home/gui/desktop/theming/gtk/config/gtk3.nix b/modules/home/gui/desktop/theming/gtk/config/gtk3.nix new file mode 100755 index 0000000..ee1ec73 --- /dev/null +++ b/modules/home/gui/desktop/theming/gtk/config/gtk3.nix @@ -0,0 +1,5 @@ +{ + extraConfig = { + gtk-application-prefer-dark-theme = true; + }; +} diff --git a/modules/home/gui/desktop/theming/gtk/config/homeCursor.nix b/modules/home/gui/desktop/theming/gtk/config/homeCursor.nix new file mode 100755 index 0000000..037cc12 --- /dev/null +++ b/modules/home/gui/desktop/theming/gtk/config/homeCursor.nix @@ -0,0 +1,13 @@ +{ pkgs, flake, ... }: +let + inherit (flake.config.aesthetics.themes) + cursor + ; +in +{ + gtk.enable = true; + x11.enable = true; + name = "catppuccin-mocha-dark-cursors"; + package = pkgs.catppuccin-cursors.macchiatoDark; + size = cursor.size; +} diff --git a/modules/home/gui/desktop/theming/gtk/config/iconTheme.nix b/modules/home/gui/desktop/theming/gtk/config/iconTheme.nix new file mode 100755 index 0000000..199e53d --- /dev/null +++ b/modules/home/gui/desktop/theming/gtk/config/iconTheme.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + package = pkgs.catppuccin-papirus-folders.override { + flavor = "macchiato"; + accent = "mauve"; + }; + name = "Papirus-Dark"; +} diff --git a/modules/home/gui/desktop/theming/gtk/config/theme.nix b/modules/home/gui/desktop/theming/gtk/config/theme.nix new file mode 100755 index 0000000..ae38e2a --- /dev/null +++ b/modules/home/gui/desktop/theming/gtk/config/theme.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + package = pkgs.catppuccin-gtk.override { + size = "compact"; + variant = "macchiato"; + accents = [ + "mauve" + ]; + }; + name = "catppuccin-macchiato-mauve-compact"; +} diff --git a/modules/home/gui/desktop/theming/gtk/default.nix b/modules/home/gui/desktop/theming/gtk/default.nix index 498427a..16938af 100755 --- a/modules/home/gui/desktop/theming/gtk/default.nix +++ b/modules/home/gui/desktop/theming/gtk/default.nix @@ -1,43 +1,37 @@ { pkgs, flake, ... }: let - inherit (flake.config.aesthetics.themes) cursor; + configPath = ./config; + cursorThemePath = import (configPath + /cursorTheme.nix) { + inherit + flake + pkgs + ; + }; + iconThemePath = import (configPath + /iconTheme.nix) { + inherit + pkgs + ; + }; + themePath = import (configPath + /theme.nix) { + inherit + pkgs + ; + }; + homeCursorPath = import (configPath + /homeCursor.nix) { + inherit + flake + pkgs + ; + }; + gtk3Path = import (configPath + /gtk3.nix); in { gtk = { enable = true; - gtk3 = { - extraConfig = { - gtk-application-prefer-dark-theme = true; - }; - }; - cursorTheme = { - name = "catppuccin-macchiato-dark-cursors"; - package = pkgs.catppuccin-cursors.macchiatoDark; - size = cursor.size; - }; - iconTheme = { - package = pkgs.catppuccin-papirus-folders.override { - flavor = "macchiato"; - accent = "mauve"; - }; - name = "Papirus-Dark"; - }; - theme = { - package = pkgs.catppuccin-gtk.override { - size = "compact"; - variant = "macchiato"; - accents = [ - "mauve" - ]; - }; - name = "catppuccin-macchiato-mauve-compact"; - }; - }; - home.pointerCursor = { - gtk.enable = true; - x11.enable = true; - name = "catppuccin-mocha-dark-cursors"; - package = pkgs.catppuccin-cursors.macchiatoDark; - size = cursor.size; + gtk3 = gtk3Path; + cursorTheme = cursorThemePath; + iconTheme = iconThemePath; + theme = themePath; }; + home.pointerCursor = homeCursorPath; } diff --git a/modules/nixos/programs/goldwarden/default.nix b/modules/nixos/programs/goldwarden/default.nix deleted file mode 100644 index 0be283b..0000000 --- a/modules/nixos/programs/goldwarden/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - programs.goldwarden.enable = true; -} diff --git a/modules/nixos/programs/nixvim/default.nix b/modules/nixos/programs/nixvim/default.nix deleted file mode 100755 index 7dd4210..0000000 --- a/modules/nixos/programs/nixvim/default.nix +++ /dev/null @@ -1,163 +0,0 @@ -{ pkgs, ... }: -{ - programs.nixvim = { - enable = true; - colorschemes.catppuccin = { - enable = true; - settings.flavour = "macchiato"; - }; - globals.mapleader = " "; - keymaps = [ - { - action = "Neotree toggle"; - key = "e"; - mode = "n"; - options.silent = true; - } - ]; - - plugins = { - avante = { - enable = true; - settings = { - claude = { - model = "claude-3-5-sonnet-latest"; - }; - }; - }; - - trouble.enable = true; - web-devicons.enable = true; - conform-nvim = { - enable = true; - settings = { - formatters_by_ft = { - - css = [ - "prettierd" - "prettier" - ]; - html = [ - "prettierd" - "prettier" - ]; - javascript = [ - "prettierd" - "prettier" - ]; - javascriptreact = [ "prettier" ]; - json = [ "prettier" ]; - markdown = [ "prettier" ]; - nix = [ "nixfmt" ]; - rust = [ "rustfmt" ]; - sh = [ "shfmt" ]; - typescript = [ - "prettierd" - "prettier" - ]; - typescriptreact = [ "prettier" ]; - yaml = [ - "prettierd" - "prettier" - ]; - }; - formatters = { - asmfmt = { - command = "asmfmt"; - stdin = true; - }; - }; - }; - settings.format_on_save = { - lspFallback = true; - timeoutMs = 2000; - }; - }; - direnv = { - enable = true; - }; - treesitter = { - enable = true; - }; - lean.enable = true; - nix.enable = true; - markdown-preview.enable = true; - zellij.enable = true; - zellij-nav.enable = true; - yazi.enable = true; - gitsigns = { - enable = true; - settings = { - current_line_blame = true; - trouble = true; - }; - }; - copilot-chat = { - enable = true; - }; - nvim-tree = { - enable = true; - openOnSetupFile = true; - autoReloadOnWrite = true; - }; - nix-develop.enable = true; - lazygit.enable = true; - haskell-scope-highlighting.enable = true; - lsp = { - enable = true; - servers = { - elmls.enable = true; - hls = { - enable = true; - installGhc = true; - }; - ghcide.enable = true; - leanls.enable = true; - markdown_oxide.enable = true; - nixd.enable = true; - nushell.enable = true; - rls.enable = true; - rust_analyzer = { - enable = true; - installCargo = true; - installRustc = true; - }; - yamlls.enable = true; - java_language_server = { - package = "java-language-server"; - cmd = [ "java-language-server" ]; - }; - }; - }; - }; - opts = { - updatetime = 100; - number = true; - relativenumber = true; - splitbelow = true; - splitright = true; - scrolloff = 4; - - autoindent = true; - clipboard = "unnamedplus"; - expandtab = true; - shiftwidth = 2; - smartindent = true; - tabstop = 2; - - ignorecase = true; - incsearch = true; - smartcase = true; - wildmode = "list:longest"; - - swapfile = false; - undofile = true; - }; - clipboard.providers.wl-copy.enable = true; - extraPlugins = builtins.attrValues { - inherit (pkgs) - - ; - }; - }; -}