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": {
|
||||
"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": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"lastModified": 1791914995,
|
||||
"narHash": "sha256-Zf/xfQEAasnwnmEfHqW/4hjDE/s44yn2hD4RuVIZRjA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"rev": "b7a79d3fea1e214f6d668d521cecec0c01e26544",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -25,11 +41,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1790996401,
|
||||
"narHash": "sha256-f+kOxEmOUnQazVAmGg0i8hzwgd1kX/geY+k/Dpheye8=",
|
||||
"lastModified": 1792274446,
|
||||
"narHash": "sha256-AM1HmBeDnB2B3dSiXuCYeu7Me+lHNpz/P39lVxGJBuQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "db7d5e2332710f5abb088f6b5de927d7f9511b35",
|
||||
"rev": "ab3823b4b24c0c3ca984c1f3ee577fd6d667424c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -39,13 +55,28 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1791426274,
|
||||
"narHash": "sha256-MWhktfFtFE8Jl7bf9Pkp7TR5MSdYCjCswSo0Gkb4ywc=",
|
||||
"lastModified": 1792295010,
|
||||
"narHash": "sha256-F7meJtbqGttmUoMmYjRRgkVs42sn7bh7vvRvLPlUN98=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7c8764b7c7b09b34f632464276218ef9090eaa11",
|
||||
"rev": "8ce73368d1efd4d657e9064d29b144a52046b4e8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -71,12 +102,35 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nvf": "nvf"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@
|
|||
url = "github:nix-community/home-manager/release-26.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nvf = {
|
||||
url = "github:NotAShelf/nvf";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
};
|
||||
flake-utils = {
|
||||
url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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
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.sudo.enable = false;
|
||||
|
||||
security.doas.enable = true;
|
||||
|
|
@ -63,7 +64,9 @@
|
|||
nh
|
||||
alejandra
|
||||
git
|
||||
unstable.python315
|
||||
# system utils
|
||||
file
|
||||
firmware-updater
|
||||
mtr
|
||||
gnupg
|
||||
|
|
@ -151,7 +154,9 @@
|
|||
fonts.fontconfig.subpixel.rgba = "rgb";
|
||||
fonts.fontconfig.hinting.enable = true;
|
||||
fonts.fontconfig.defaultFonts = {
|
||||
serif = ["Noto Serif"];
|
||||
sansSerif = ["Inter"];
|
||||
monospace = ["Iosevka Nerd Font"];
|
||||
emoji = ["Noto Color Emoji"];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue