Archived
Watch
1
0
Fork
You've already forked nixos
0
for realsies... (also flake.lock update)
This commit is contained in:
asnev 2026-10-12 15:03:18 +07:00
commit 6026661a77
Signed by: asnev
SSH key fingerprint: SHA256:8hagYq9hDUuS5clQ78FKhIoQDvg5crdkYMHX+3g7wB4
3 changed files with 270 additions and 93 deletions

View file

@ -1,6 +1,11 @@
{pkgs, ...}: {
{
inputs,
pkgs,
...
}: {
imports = [
./vim.nix
inputs.nvf.homeManagerModules.default
./nvf.nix
];
home.stateVersion = "26.05"; # Nope, didn't read the comment either.
@ -15,6 +20,8 @@
karp
keepassxc
pdfarranger
# emacs
emacs
# multimedia
furnace
corrscope
@ -27,15 +34,14 @@
# games
osu-lazer-bin
pcsx2
ppsspp
# emulation
(unstable.bottles.override {removeWarningPopup = true;})
# devel
unstable.ocaml
unstable.racket
unstable.lazygit
unstable.opencode
unstable.nodejs
unstable.python315
treesitter-cli
];
programs = {
@ -60,12 +66,10 @@
git = {
enable = true;
userName = "asnev";
userEmail = "notasnev@proton.me";
signing = {
key = "/home/coyote/.ssh/id_ed25519.pub";
format = "ssh";
};
settings.user.name = "asnev";
settings.user.email = "notasnev@proton.me";
signing.key = "/home/coyote/.ssh/id_ed25519.pub";
signing.format = "ssh";
includes = [
{
condition = "gitdir:/home/coyote/NixOS/";
@ -87,7 +91,7 @@
enable = true;
clock24 = true;
baseIndex = 1;
shortcut = "a";
shortcut = "b";
keyMode = "vi";
terminal = "tmux-256color";
escapeTime = 10;
@ -118,8 +122,6 @@
renamed = "r";
deleted = "d";
};
character.success_symbol = "[λ](bold green)";
character.error_symbol = "[λ](bold red)";
};
};

181
home/coyote/nvf.nix Normal file
View file

@ -0,0 +1,181 @@
{...}: {
programs.nvf = {
enable = true;
defaultEditor = true;
enableManpages = true;
settings.vim = {
viAlias = true;
vimAlias = true;
syntaxHighlighting = true;
lineNumberMode = "relNumber";
searchCase = "smart";
hideSearchHighlight = false;
clipboard = {
enable = true;
registers = "unnamedplus";
providers.wl-copy.enable = true;
};
options = {
encoding = "utf-8";
backspace = "indent,eol,start";
history = 1000;
mouse = "a";
updatetime = 300;
ruler = true;
cursorline = true;
showcmd = true;
showmode = true;
laststatus = 1;
wildmenu = true;
wildmode = ["longest" "list" "full"];
ttyfast = true;
lazyredraw = true;
signcolumn = "no";
autoindent = true;
expandtab = true;
smarttab = true;
tabstop = 4;
shiftwidth = 4;
softtabstop = 4;
hlsearch = true;
incsearch = true;
termguicolors = true;
background = "dark";
showmatch = true;
};
theme = {
enable = true;
name = "gruvbox";
style = "dark";
};
globals.terminal_ansi_colors = [
"#282828"
"#cc241d"
"#98971a"
"#d79921"
"#458588"
"#b16286"
"#689d6a"
"#a89984"
"#928374"
"#fb4934"
"#b8bb26"
"#fabd2f"
"#83a598"
"#d3869b"
"#8ec07c"
"#ebdbb2"
];
keymaps = [
{
mode = "i";
key = "<C-l>";
action = "λ";
desc = "inserts lambda";
}
];
languages.nix = {
enable = true;
treesitter.enable = true;
lsp.enable = false;
format.enable = false;
extraDiagnostics.enable = false;
};
utility.undotree.enable = true;
augroups = [
{
name = "my_filetype_settings";
clear = true;
}
];
autocmds = [
{
event = ["FileType"];
pattern = [
"javascript"
"javascriptreact"
"typescript"
"typescriptreact"
"html"
"css"
"scss"
"json"
"jsonc"
"vue"
"svelte"
"yaml"
"toml"
"markdown"
"nix"
"vim"
"ruby"
"eruby"
"dart"
"haskell"
"elm"
];
group = "my_filetype_settings";
desc = "2-space indent";
command = "setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2";
}
{
event = ["FileType"];
pattern = [
"python"
"rust"
"java"
"lua"
"c"
"cpp"
"cs"
"php"
"kotlin"
"swift"
"scala"
"perl"
];
group = "my_filetype_settings";
desc = "4-space indent";
command = "setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4";
}
{
event = ["FileType"];
pattern = ["go" "gomod" "make"];
group = "my_filetype_settings";
desc = "hard tabs";
command = "setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=0";
}
{
event = ["FileType"];
pattern = ["lisp" "scheme" "clojure" "racket" "fennel"];
group = "my_filetype_settings";
desc = "Lisp-style indent";
command = "setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2 lisp autoindent";
}
];
luaConfigRC.my_lispwords = ''
vim.opt.lispwords:append({
"defun", "defmacro", "defvar", "defparameter", "defmethod",
"define-syntax", "lambda", "let", "let*", "letrec", "flet",
"labels", "progn", "when", "unless", "if", "cond",
})
'';
};
};
}

View file

@ -1,69 +0,0 @@
{pkgs, ...}: {
programs.vim = {
enable = true;
packageConfigurable = pkgs.unstable.vim-full;
defaultEditor = true;
plugins = with pkgs.unstable.vimPlugins; [gruvbox vim-nix undotree];
extraConfig = ''
set nocompatible
set encoding=utf-8
set backspace=indent,eol,start
set clipboard=unnamedplus
set mouse=a
set history=1000
set updatetime=300
syntax on
set ruler
set number
set relativenumber
set cursorline
set showcmd
set showmode
set laststatus=1
set wildmenu
set wildmode=longest,list,full
set ttyfast
set lazyredraw
filetype plugin indent on
set autoindent
set expandtab
set smarttab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set hlsearch
set incsearch
set ignorecase
set smartcase
inoremap <C-l> λ
set termguicolors
set background=dark
colorscheme gruvbox
let g:terminal_ansi_colors = ['#282828', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#a89984', '#928374', '#fb4934', '#b8bb26', '#fabd2f', '#83a598', '#d3869b', '#8ec07c', '#ebdbb2']
set showmatch
set lispwords+=defun,defmacro,defvar,defparameter,defmethod,define-syntax,lambda,let,let*,letrec,flet,labels,progn,when,unless,if,cond
augroup coyote_filetype_settings
autocmd!
autocmd FileType javascript,javascriptreact,typescript,typescriptreact,html,css,scss,json,jsonc,vue,svelte,yaml,toml,markdown,nix,vim,ruby,eruby,dart,haskell,elm
\ setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2
autocmd FileType python,rust,java,lua,c,cpp,cs,php,kotlin,swift,scala,perl
\ setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4
autocmd FileType go,gomod,make
\ setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=0
autocmd FileType lisp,scheme,clojure,racket,fennel
\ setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2
\ lisp autoindent
augroup END
'';
};
}