-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathoptions.nix
133 lines (116 loc) · 4.32 KB
/
options.nix
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
{ lib, pkgs, ... }:
{
clipboard = {
# Use system clipboard
register = "unnamedplus";
providers = {
wl-copy = {
enable = true;
package = pkgs.wl-clipboard;
};
};
};
colorscheme = "catppuccin";
colorschemes.catppuccin.enable = true;
luaLoader.enable = true;
globals = {
# Disable useless providers
loaded_ruby_provider = 0; # Ruby
loaded_perl_provider = 0; # Perl
loaded_python_provider = 0; # Python 2
# Custom for toggles
disable_diagnostics = false;
disable_autoformat = false;
spell_enabled = true;
colorizing_enabled = false;
first_buffer_opened = false;
};
opts = {
completeopt = [
"menu"
"menuone"
"noselect"
];
updatetime = 100; # Faster completion
# Line numbers
relativenumber = true; # Relative line numbers
number = true; # Display the absolute line number of the current line
hidden = true; # Keep closed buffer open in the background
mouse = "a"; # Enable mouse control
mousemodel = "extend"; # Mouse right-click extends the current selection
splitbelow = true; # A new window is put below the current one
splitright = true; # A new window is put right of the current one
swapfile = false; # Disable the swap file
modeline = true; # Tags such as 'vim:ft=sh'
modelines = 100; # Sets the type of modelines
undofile = true; # Automatically save and restore undo history
incsearch = true; # Incremental search: show match for partly typed search command
ignorecase = true; # When the search query is lower-case, match both lower and upper-case
# patterns
smartcase = true; # Override the 'ignorecase' option if the search pattern contains upper
# case characters
cursorline = true; # Highlight the screen line of the cursor
cursorcolumn = false; # Highlight the screen column of the cursor
signcolumn = "yes"; # Whether to show the signcolumn
colorcolumn = "100"; # Columns to highlight
laststatus = 3; # When to use a status line for the last window
fileencoding = "utf-8"; # File-content encoding for the current buffer
termguicolors = true; # Enables 24-bit RGB color in the |TUI|
spelllang = lib.mkDefault [ "en_us" ]; # Spell check languages
spell = true; # Highlight spelling mistakes (local to window)
wrap = false; # Prevent text from wrapping
# Tab options
tabstop = 2; # Number of spaces a <Tab> in the text stands for (local to buffer)
shiftwidth = 2; # Number of spaces used for each step of (auto)indent (local to buffer)
softtabstop = 0; # If non-zero, number of spaces to insert for a <Tab> (local to buffer)
expandtab = true; # Expand <Tab> to spaces in Insert mode (local to buffer)
autoindent = true; # Do clever autoindenting
textwidth = 0; # Maximum width of text that is being inserted. A longer line will be
# broken after white space to get this width.
# Folding
foldlevel = 99; # Folds with a level higher than this number will be closed
foldcolumn = "1";
foldenable = true;
foldlevelstart = -1;
fillchars = {
horiz = "━";
horizup = "┻";
horizdown = "┳";
vert = "┃";
vertleft = "┫";
vertright = "┣";
verthoriz = "╋";
eob = " ";
diff = "╱";
fold = " ";
foldopen = "";
foldclose = "";
msgsep = "‾";
};
# backspace = { append = [ "nostop" ]; };
breakindent = true;
cmdheight = 0;
copyindent = true;
# diffopt = { append = [ "algorithm:histogram" "linematch:60" ]; };
# fillchars = { eob = " "; };
history = 100;
infercase = true;
linebreak = true;
preserveindent = true;
pumheight = 10;
# shortmess = { append = { s = true; I = true; }; };
showmode = false;
showtabline = 2;
timeoutlen = 500;
title = true;
# viewoptions = { remove = [ "curdir" ]; };
virtualedit = "block";
writebackup = false;
lazyredraw = false; # Faster scrolling if enabled, breaks noice
synmaxcol = 240; # Max column for syntax highlight
showmatch = true; # when closing a bracket, briefly flash the matching one
matchtime = 1; # duration of that flashing n deci-seconds
startofline = true; # motions like "G" also move to the first char
report = 9001; # disable "x more/fewer lines" messages
};
}