aboutsummaryrefslogtreecommitdiff
path: root/home/rices/cassette-futurism/nvim.nix
blob: 8e20790f34c2bc616ed2281479e4811eb4a09e47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{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
    '';
  };
}