{ inputs, config, lib, pkgs, ... }: { imports = [ inputs.nixvim.homeModules.nixvim ]; programs.nixvim = { enable = true; waylandSupport = true; # Basic options opts = { autoindent = true; clipboard = "unnamedplus"; shiftwidth = 2; mousescroll = "ver:0,hor:0"; expandtab = true; # Always insert spaces, never hard tab characters tabstop = 2; # Make hard tabs display as 2 columns (matches shiftwidth) softtabstop = 2; # Backspace deletes 2 spaces at a time number = true; relativenumber = true; cursorline = true; # Highlights the entire current line cursorlineopt = "both"; # Highlights both the line AND the line number termguicolors = true; }; colorschemes.catppuccin = { enable = true; settings = { flavour = "mocha"; term_colors = true; styles = { booleans = ["bold" "italic"]; conditionals = ["bold"]; functions = ["bold"]; keywords = ["italic"]; }; }; }; keymaps = [ { mode = "v"; key = ">"; action = ">gv"; options.desc = "Indent and keep selection"; } { mode = "v"; key = "<"; action = "