kekl
This commit is contained in:
@ -3,9 +3,8 @@
|
|||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
{
|
||||||
in {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./modules/system/nix/default.nix
|
./modules/system/nix/default.nix
|
||||||
@ -43,7 +42,7 @@ in {
|
|||||||
useOSProber = true;
|
useOSProber = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
supportedFilesystems = ["ntfs"];
|
supportedFilesystems = [ "ntfs" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
@ -231,6 +230,7 @@ in {
|
|||||||
vesktop
|
vesktop
|
||||||
pacman
|
pacman
|
||||||
wf-recorder
|
wf-recorder
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
@ -238,7 +238,7 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
extraRules = [
|
extraRules = [
|
||||||
{
|
{
|
||||||
users = ["fabian"];
|
users = [ "fabian" ];
|
||||||
noPass = true;
|
noPass = true;
|
||||||
keepEnv = true;
|
keepEnv = true;
|
||||||
}
|
}
|
||||||
@ -270,5 +270,4 @@ in {
|
|||||||
|
|
||||||
system.stateVersion = "unstable";
|
system.stateVersion = "unstable";
|
||||||
|
|
||||||
home-manager.users.fabian = ./modules/home/home.nix;
|
|
||||||
}
|
}
|
||||||
|
21
flake.lock
generated
21
flake.lock
generated
@ -36,6 +36,26 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736785676,
|
||||||
|
"narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"mnw": {
|
"mnw": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735150973,
|
"lastModified": 1735150973,
|
||||||
@ -2239,6 +2259,7 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nvf": "nvf"
|
"nvf": "nvf"
|
||||||
}
|
}
|
||||||
|
19
flake.nix
19
flake.nix
@ -3,25 +3,30 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
nvf.url = "github:notashelf/nvf";
|
nvf.url = "github:notashelf/nvf";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
nvf,
|
nvf,
|
||||||
}: {
|
}: {
|
||||||
packages."x86_64-linux".default =
|
|
||||||
(nvf.lib.neovimConfiguration {
|
|
||||||
pkgs = nixpkgs.legacyPakcages."x86_64-linux";
|
|
||||||
modules = [./modules/system/nix/nvim/default.nix];
|
|
||||||
})
|
|
||||||
.neovim;
|
|
||||||
nixosConfigurations.poggers = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.poggers = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
nvf.homeManagerModules.default
|
nvf.nixosModules.default
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users.fabian = import ./modules/home/home.nix;
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
30
modules/system/nix/nvim/cmp.nix
Normal file
30
modules/system/nix/nvim/cmp.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.nvf.settings.vim = {
|
||||||
|
extraLuaFiles = [
|
||||||
|
(builtins.path {
|
||||||
|
path = ./raw/cmp.lua;
|
||||||
|
name = "my-lua-file";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
autocomplete = {
|
||||||
|
nvim-cmp = {
|
||||||
|
enable = true;
|
||||||
|
setupOpts = {
|
||||||
|
completion = {
|
||||||
|
completeopt = "menu,menuone,noinsert,noselect";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sourcePlugins = [
|
||||||
|
"crates-nvim"
|
||||||
|
"cmp-path"
|
||||||
|
"cmp-nvim-lsp"
|
||||||
|
"rustaceanvim"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -8,12 +8,27 @@
|
|||||||
./terminal.nix
|
./terminal.nix
|
||||||
./neotree.nix
|
./neotree.nix
|
||||||
./opts.nix
|
./opts.nix
|
||||||
|
./cmp.nix
|
||||||
];
|
];
|
||||||
|
programs.nvf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
vim = {
|
vim = {
|
||||||
|
extraLuaFiles = [
|
||||||
|
(builtins.path {
|
||||||
|
path = ./raw/opts.lua;
|
||||||
|
name = "opts.lua";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
autopairs.nvim-autopairs.enable = true;
|
||||||
|
statusline.lualine = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
telescope.enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "horizon";
|
};
|
||||||
style = "dark";
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
35
modules/system/nix/nvim/default.nix~
Normal file
35
modules/system/nix/nvim/default.nix~
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./lsp.nix
|
||||||
|
./terminal.nix
|
||||||
|
./neotree.nix
|
||||||
|
./opts.nix
|
||||||
|
./cmp.nix
|
||||||
|
];
|
||||||
|
programs.nvf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
vim = {
|
||||||
|
extraLuaFiles = [
|
||||||
|
(builtins.path {
|
||||||
|
path = ./raw/opts.lua;
|
||||||
|
name = "opts.lua"
|
||||||
|
})
|
||||||
|
];
|
||||||
|
autopairs.nvim-autopairs.enable = true;
|
||||||
|
statusline.lualine = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
telescope.enable = true;
|
||||||
|
theme = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,7 @@
|
|||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
vim = {
|
programs.nvf.settings.vim = {
|
||||||
languages = {
|
languages = {
|
||||||
clang = {
|
clang = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -11,6 +11,15 @@
|
|||||||
treesitter.enable = true;
|
treesitter.enable = true;
|
||||||
lsp.enable = true;
|
lsp.enable = true;
|
||||||
};
|
};
|
||||||
|
python = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
go = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
lua = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
rust = {
|
rust = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dap.enable = true;
|
dap.enable = true;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
vim = {
|
programs.nvf.settings.vim = {
|
||||||
filetree = {
|
filetree = {
|
||||||
neo-tree = {
|
neo-tree = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
vim = {
|
|
||||||
globals = {
|
|
||||||
mapleader = " ";
|
|
||||||
|
|
||||||
shiftwidth = 2;
|
|
||||||
tabstop = 2;
|
|
||||||
softtabstop = 2;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
59
modules/system/nix/nvim/raw/cmp.lua
Normal file
59
modules/system/nix/nvim/raw/cmp.lua
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
local cmp = require("cmp")
|
||||||
|
vim.opt.completeopt = { "menu", "menuone", "noinsert", "noselect" }
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require('luasnip').lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
sorting = {
|
||||||
|
comparators = {
|
||||||
|
cmp.config.compare.offset,
|
||||||
|
cmp.config.compare.exact,
|
||||||
|
cmp.config.compare.recently_used,
|
||||||
|
cmp.config.compare.kind,
|
||||||
|
cmp.config.compare.sort_text,
|
||||||
|
cmp.config.compare.length,
|
||||||
|
cmp.config.compare.order,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_next_item()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { "i", "s" }),
|
||||||
|
|
||||||
|
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_prev_item()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { "i", "s" }),
|
||||||
|
|
||||||
|
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||||
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
|
["<C-e>"] = cmp.mapping.abort(),
|
||||||
|
["<C-Left>"] = cmp.mapping.abort(),
|
||||||
|
["<CR>"] = cmp.mapping.confirm({ select = false }),
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'luasnip' },
|
||||||
|
{ name = 'buffer' },
|
||||||
|
{ name = 'path' },
|
||||||
|
{ name = 'nvim_lua' },
|
||||||
|
{ name = 'emoji' },
|
||||||
|
}),
|
||||||
|
highlight = {
|
||||||
|
default = "Subtle"
|
||||||
|
},
|
||||||
|
})
|
37
modules/system/nix/nvim/raw/opts.lua
Normal file
37
modules/system/nix/nvim/raw/opts.lua
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
vim.opt.shiftwidth = 2
|
||||||
|
vim.opt.tabstop = 2
|
||||||
|
vim.opt.cursorline = true
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
vim.opt.autoindent = true
|
||||||
|
vim.opt.smartindent = true
|
||||||
|
vim.opt.softtabstop = 4
|
||||||
|
vim.opt.relativenumber = true
|
||||||
|
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = true,
|
||||||
|
virtual_lines = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
map('n', '<c-t>', ":ToggleTerm size=40<CR>", opts)
|
||||||
|
map('n', '<c-n>', ":Neotree filesystem reveal toggle<CR>", opts)
|
||||||
|
map('v', '<Tab>', '>gv', opts)
|
||||||
|
map('v', '<S-Tab>', '<gv', opts)
|
||||||
|
|
||||||
|
vim.cmd [[
|
||||||
|
set nobackup
|
||||||
|
cnoreabbrev W! w!
|
||||||
|
cnoreabbrev Q! q!
|
||||||
|
cnoreabbrev Qall! qall!
|
||||||
|
cnoreabbrev Wq wq
|
||||||
|
cnoreabbrev Wa wa
|
||||||
|
cnoreabbrev wQ wq
|
||||||
|
cnoreabbrev WQ wq
|
||||||
|
cnoreabbrev W w
|
||||||
|
cnoreabbrev Q q
|
||||||
|
cnoreabbrev Qall qall
|
||||||
|
]]
|
||||||
|
|
37
modules/system/nix/nvim/raw/opts.lua~
Normal file
37
modules/system/nix/nvim/raw/opts.lua~
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
vim.opt.shiftwidth = 2
|
||||||
|
vim.opt.tabstop = 2
|
||||||
|
vim.opt.cursorline = true
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
vim.opt.autoindent = true
|
||||||
|
vim.opt.smartindent = true
|
||||||
|
vim.opt.softtabstop = 4
|
||||||
|
vim.opt.relativenumber = true
|
||||||
|
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = true,
|
||||||
|
virtual_lines = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
map('n', '<c-t>', ":ToggleTerm size=40<CR>", opts)
|
||||||
|
map('n', '<c-n>', ":Neotree filesystem reveal toggle<CR>", opts)
|
||||||
|
map('v', '<Tab>', '>gv', opts)
|
||||||
|
map('v', '<S-Tab>', '<gv', opts)
|
||||||
|
|
||||||
|
vim.cmd [[
|
||||||
|
set nobackup
|
||||||
|
cnoreabbrev W! w!
|
||||||
|
cnoreabbrev Q! q!
|
||||||
|
cnoreabbrev Qall! qall!
|
||||||
|
cnoreabbrev Wq wq
|
||||||
|
cnoreabbrev Wa wa
|
||||||
|
cnoreabbrev wQ wq
|
||||||
|
cnoreabbrev WQ wq
|
||||||
|
cnoreabbrev W w
|
||||||
|
cnoreabbrev Q q
|
||||||
|
cnoreabbrev Qall qall
|
||||||
|
]]
|
||||||
|
|
@ -3,10 +3,12 @@
|
|||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
vim = {
|
programs.nvf.settings.vim = {
|
||||||
terminal = {
|
terminal = {
|
||||||
|
toggleterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lazygit.enable = true;
|
lazygit.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user