nvf
for realsies... (also flake.lock update)
This commit is contained in:
parent
25af328bfa
commit
6026661a77
6 changed files with 270 additions and 93 deletions
74
flake.lock
generated
74
flake.lock
generated
|
|
@ -1,15 +1,31 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777699697,
|
||||||
|
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "382052b74656a369c5408822af3f2501e9b1af81",
|
||||||
|
"revCount": 94,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1791914995,
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
"narHash": "sha256-Zf/xfQEAasnwnmEfHqW/4hjDE/s44yn2hD4RuVIZRjA=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
"rev": "b7a79d3fea1e214f6d668d521cecec0c01e26544",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -25,11 +41,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1790996401,
|
"lastModified": 1792274446,
|
||||||
"narHash": "sha256-f+kOxEmOUnQazVAmGg0i8hzwgd1kX/geY+k/Dpheye8=",
|
"narHash": "sha256-AM1HmBeDnB2B3dSiXuCYeu7Me+lHNpz/P39lVxGJBuQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "db7d5e2332710f5abb088f6b5de927d7f9511b35",
|
"rev": "ab3823b4b24c0c3ca984c1f3ee577fd6d667424c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -39,13 +55,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"mnw": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784154424,
|
||||||
|
"narHash": "sha256-HRn4O1X2ShYtbq5Egji72/aemyc2cIQicjRZD9hBqM8=",
|
||||||
|
"owner": "Gerg-L",
|
||||||
|
"repo": "mnw",
|
||||||
|
"rev": "0151d9fa87992cbeb67c86616fb9170dcec830b6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Gerg-L",
|
||||||
|
"repo": "mnw",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1791426274,
|
"lastModified": 1792295010,
|
||||||
"narHash": "sha256-MWhktfFtFE8Jl7bf9Pkp7TR5MSdYCjCswSo0Gkb4ywc=",
|
"narHash": "sha256-F7meJtbqGttmUoMmYjRRgkVs42sn7bh7vvRvLPlUN98=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7c8764b7c7b09b34f632464276218ef9090eaa11",
|
"rev": "8ce73368d1efd4d657e9064d29b144a52046b4e8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -71,12 +102,35 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nvf": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"mnw": "mnw",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs-unstable"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1792175215,
|
||||||
|
"narHash": "sha256-XD64JVLV8iE4lR+W5gkTweEaT+SBwOrSy0+le2WgITI=",
|
||||||
|
"owner": "NotAShelf",
|
||||||
|
"repo": "nvf",
|
||||||
|
"rev": "a736b60b1e2019931168979951c94dc46e342957",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NotAShelf",
|
||||||
|
"repo": "nvf",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
"nvf": "nvf"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,10 @@
|
||||||
url = "github:nix-community/home-manager/release-26.05";
|
url = "github:nix-community/home-manager/release-26.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
nvf = {
|
||||||
|
url = "github:NotAShelf/nvf";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
|
};
|
||||||
flake-utils = {
|
flake-utils = {
|
||||||
url = "github:numtide/flake-utils";
|
url = "github:numtide/flake-utils";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./vim.nix
|
inputs.nvf.homeManagerModules.default
|
||||||
|
./nvf.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.stateVersion = "26.05"; # Nope, didn't read the comment either.
|
home.stateVersion = "26.05"; # Nope, didn't read the comment either.
|
||||||
|
|
@ -15,6 +20,8 @@
|
||||||
karp
|
karp
|
||||||
keepassxc
|
keepassxc
|
||||||
pdfarranger
|
pdfarranger
|
||||||
|
# emacs
|
||||||
|
emacs
|
||||||
# multimedia
|
# multimedia
|
||||||
furnace
|
furnace
|
||||||
corrscope
|
corrscope
|
||||||
|
|
@ -27,15 +34,14 @@
|
||||||
# games
|
# games
|
||||||
osu-lazer-bin
|
osu-lazer-bin
|
||||||
pcsx2
|
pcsx2
|
||||||
|
ppsspp
|
||||||
# emulation
|
# emulation
|
||||||
(unstable.bottles.override {removeWarningPopup = true;})
|
(unstable.bottles.override {removeWarningPopup = true;})
|
||||||
# devel
|
# devel
|
||||||
unstable.ocaml
|
|
||||||
unstable.racket
|
unstable.racket
|
||||||
unstable.lazygit
|
unstable.lazygit
|
||||||
unstable.opencode
|
unstable.opencode
|
||||||
unstable.nodejs
|
treesitter-cli
|
||||||
unstable.python315
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
@ -60,12 +66,10 @@
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "asnev";
|
settings.user.name = "asnev";
|
||||||
userEmail = "notasnev@proton.me";
|
settings.user.email = "notasnev@proton.me";
|
||||||
signing = {
|
signing.key = "/home/coyote/.ssh/id_ed25519.pub";
|
||||||
key = "/home/coyote/.ssh/id_ed25519.pub";
|
signing.format = "ssh";
|
||||||
format = "ssh";
|
|
||||||
};
|
|
||||||
includes = [
|
includes = [
|
||||||
{
|
{
|
||||||
condition = "gitdir:/home/coyote/NixOS/";
|
condition = "gitdir:/home/coyote/NixOS/";
|
||||||
|
|
@ -87,7 +91,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
clock24 = true;
|
clock24 = true;
|
||||||
baseIndex = 1;
|
baseIndex = 1;
|
||||||
shortcut = "a";
|
shortcut = "b";
|
||||||
keyMode = "vi";
|
keyMode = "vi";
|
||||||
terminal = "tmux-256color";
|
terminal = "tmux-256color";
|
||||||
escapeTime = 10;
|
escapeTime = 10;
|
||||||
|
|
@ -118,8 +122,6 @@
|
||||||
renamed = "r";
|
renamed = "r";
|
||||||
deleted = "d";
|
deleted = "d";
|
||||||
};
|
};
|
||||||
character.success_symbol = "[λ](bold green)";
|
|
||||||
character.error_symbol = "[λ](bold red)";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
181
home/coyote/nvf.nix
Normal file
181
home/coyote/nvf.nix
Normal 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",
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -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
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -48,6 +48,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
security.sudo.enable = false;
|
security.sudo.enable = false;
|
||||||
|
|
||||||
security.doas.enable = true;
|
security.doas.enable = true;
|
||||||
|
|
@ -63,7 +64,9 @@
|
||||||
nh
|
nh
|
||||||
alejandra
|
alejandra
|
||||||
git
|
git
|
||||||
|
unstable.python315
|
||||||
# system utils
|
# system utils
|
||||||
|
file
|
||||||
firmware-updater
|
firmware-updater
|
||||||
mtr
|
mtr
|
||||||
gnupg
|
gnupg
|
||||||
|
|
@ -151,7 +154,9 @@
|
||||||
fonts.fontconfig.subpixel.rgba = "rgb";
|
fonts.fontconfig.subpixel.rgba = "rgb";
|
||||||
fonts.fontconfig.hinting.enable = true;
|
fonts.fontconfig.hinting.enable = true;
|
||||||
fonts.fontconfig.defaultFonts = {
|
fonts.fontconfig.defaultFonts = {
|
||||||
|
serif = ["Noto Serif"];
|
||||||
sansSerif = ["Inter"];
|
sansSerif = ["Inter"];
|
||||||
monospace = ["Iosevka Nerd Font"];
|
monospace = ["Iosevka Nerd Font"];
|
||||||
|
emoji = ["Noto Color Emoji"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue