Files
laptop-config/home.nix
T

162 lines
3.2 KiB
Nix
Executable File

{ config, pkgs, ... }:
{
home.username = "roy";
home.homeDirectory = "/home/roy";
home.packages = with pkgs; [
age
dig
ffmpeg_6
git
grim
kdePackages.gwenview
prismlauncher
slurp
sops
ssh-to-age
tree
unzip
vlc
wl-clipboard
yq-go
zip
];
programs.git = {
enable = true;
userName = "Roy Dumblauskas";
userEmail = "roydumblauskas@gmail.com";
};
# user program config files
home.file = {
"hypr".source = ./roy-config/hypr;
"waybar".source = ./roy-config/waybar;
};
# user persisted dirs
home.persistance."/persist/home" = {
directories = [
".ssh"
"rp"
];
};
programs.nixvim = {
enable = true;
opts = {
number = true;
relativenumber = true;
shiftwidth = 2;
tabstop = 2;
expandtab = true;
};
plugins = {
lsp-lines.enable = true;
lsp-format.enable = true;
lsp = {
enable = true;
inlayHints = true;
servers = {
html.enable = true;
lua_ls.enable = true;
nil_ls.enable = true;
ts_ls.enable = true;
marksman.enable = true;
pyright.enable = true;
gopls.enable = true;
terraformls.enable = true;
ansiblels.enable = true;
jsonls.enable = true;
yamlls.enable = true;
};
keymaps = {
silent = true;
lspBuf = {
gd = {
action = "definition";
desc = "Goto Definition";
};
gr = {
action = "references";
desc = "Goto References";
};
gD = {
action = "declaration";
desc = "Goto Declaration";
};
gI = {
action = "implementation";
desc = "Goto Implementation";
};
gT = {
action = "type_definition";
desc = "Type Definition";
};
K = {
action = "hover";
desc = "Hover";
};
"<leader>cw" = {
action = "workspace_symbol";
desc = "Workspace Symbol";
};
"<leader>cr" = {
action = "rename";
desc = "Rename";
};
};
diagnostic = {
"<leader>cd" = {
action = "open_float";
desc = "Line Diagnostics";
};
"]d" = {
action = "goto_next";
desc = "Next Diagnostic";
};
"[d" = {
action = "goto_prev";
desc = "Previous Diagnostic";
};
};
};
};
};
extraConfigLua = ''
local _border = "rounded"
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(
vim.lsp.handlers.hover, {
border = _border
}
)
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
vim.lsp.handlers.signature_help, {
border = _border
}
)
vim.diagnostic.config{
float={border=_border}
};
require('lspconfig.ui.windows').default_options = {
border = _border
}
'';
colorschemes.catppuccin.enable = true;
};
home.stateVersion = "24.11";
programs.home-manager.enable = true;
}