{pkgs, ...}: let vars = import ./variables.nix; in { programs.neovim = { enable = true; defaultEditor = true; viAlias = true; vimAlias = true; extraLuaConfig = '' -- Cassette Futurism Neovim theme vim.cmd([[ highlight Normal guibg=${vars.colors.background} guifg=${vars.colors.foreground} highlight NormalFloat guibg=${vars.colors.backgroundAlt} guifg=${vars.colors.foreground} highlight Comment guifg=${vars.colors.gray4} gui=italic highlight Constant guifg=${vars.colors.orange} highlight String guifg=${vars.colors.success} highlight Character guifg=${vars.colors.success} highlight Number guifg=${vars.colors.orange} highlight Boolean guifg=${vars.colors.hotPink} highlight Float guifg=${vars.colors.orange} highlight Identifier guifg=${vars.colors.cyan} highlight Function guifg=${vars.colors.purple} highlight Statement guifg=${vars.colors.magenta} highlight Keyword guifg=${vars.colors.magenta} highlight Operator guifg=${vars.colors.cyan} highlight PreProc guifg=${vars.colors.hotPink} highlight Type guifg=${vars.colors.yellow} highlight Special guifg=${vars.colors.cyan} highlight Underlined guifg=${vars.colors.purple} gui=underline highlight Error guibg=${vars.colors.error} guifg=${vars.colors.background} highlight Todo guibg=${vars.colors.yellow} guifg=${vars.colors.background} highlight LineNr guifg=${vars.colors.gray4} highlight CursorLineNr guifg=${vars.colors.hotPink} highlight Visual guibg=${vars.colors.gray2} highlight Search guibg=${vars.colors.purple} guifg=${vars.colors.background} highlight IncSearch guibg=${vars.colors.hotPink} guifg=${vars.colors.background} highlight StatusLine guibg=${vars.colors.backgroundAlt} guifg=${vars.colors.cyan} highlight StatusLineNC guibg=${vars.colors.backgroundAlt} guifg=${vars.colors.gray4} highlight VertSplit guibg=${vars.colors.background} guifg=${vars.colors.gray3} highlight Pmenu guibg=${vars.colors.backgroundAlt} guifg=${vars.colors.foreground} highlight PmenuSel guibg=${vars.colors.hotPink} guifg=${vars.colors.background} highlight PmenuSbar guibg=${vars.colors.gray2} highlight PmenuThumb guibg=${vars.colors.gray4} ]]) -- Basic settings vim.opt.number = true vim.opt.relativenumber = true vim.opt.expandtab = true vim.opt.shiftwidth = 2 vim.opt.tabstop = 2 vim.opt.smartindent = true vim.opt.termguicolors = true vim.opt.cursorline = true ''; }; }