197 lines
3.8 KiB
Nix
197 lines
3.8 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
darwinConfig,
|
|
...
|
|
}:
|
|
|
|
{
|
|
imports = [ ];
|
|
|
|
home.username = "dergrumpf";
|
|
home.homeDirectory = "/Users/dergrumpf";
|
|
|
|
home.stateVersion = "23.11";
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
home.packages = with pkgs; [
|
|
# Utilities
|
|
coreutils
|
|
direnv
|
|
fd
|
|
git
|
|
ripgrep
|
|
fzf
|
|
zoxide
|
|
starship
|
|
trash-cli
|
|
|
|
# Miscellaneous
|
|
fastfetch
|
|
btop
|
|
wget
|
|
curl
|
|
|
|
nixfmt-rfc-style
|
|
stylua
|
|
black
|
|
nodePackages.prettier
|
|
rustfmt
|
|
nodejs
|
|
prettierd
|
|
stylelint-lsp
|
|
|
|
# Mason Binarys
|
|
lua-language-server
|
|
nil
|
|
rust-analyzer
|
|
python3Packages.python-lsp-server
|
|
|
|
curl
|
|
cargo
|
|
yazi
|
|
];
|
|
|
|
home.sessionVariables = {
|
|
EDITOR = "nvim";
|
|
VISUAL = "code";
|
|
PAGER = "less";
|
|
CLICOLOR = "1";
|
|
LSCOLORS = "ExFxBxDxCxegedabagacad";
|
|
TERM = "xterm-kitty";
|
|
};
|
|
|
|
programs.neovim = {
|
|
enable = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
defaultEditor = true;
|
|
#extraPackages = with pkgs; [ ];
|
|
|
|
plugins = with pkgs.vimPlugins; [
|
|
nvim-treesitter
|
|
nvim-lint
|
|
catppuccin-nvim
|
|
mason-nvim
|
|
mason-lspconfig-nvim
|
|
nvim-lspconfig
|
|
nvim-cmp
|
|
cmp-nvim-lsp
|
|
cmp-buffer
|
|
cmp-path
|
|
cmp-cmdline
|
|
luasnip
|
|
lualine-nvim
|
|
yazi-nvim
|
|
alpha-nvim
|
|
cheatsheet-nvim
|
|
toggleterm-nvim
|
|
|
|
# Add conform.nvim as a custom plugin
|
|
(pkgs.vimUtils.buildVimPlugin {
|
|
name = "conform-nvim";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "stevearc";
|
|
repo = "conform.nvim";
|
|
rev = "stable";
|
|
sha256 = "sha256-pUF9F5QoDzCZuVRcJEF91M8Qjkh/xosMkf9tRavkmJs=";
|
|
};
|
|
})
|
|
|
|
];
|
|
|
|
extraLuaConfig = builtins.readFile (./. + "/config.lua");
|
|
};
|
|
|
|
programs.fish = {
|
|
enable = true;
|
|
interactiveShellInit = ''
|
|
function fish_greeting
|
|
fastfetch
|
|
end
|
|
'';
|
|
plugins = [
|
|
{
|
|
name = "forgit";
|
|
src = pkgs.fishPlugins.forgit.src;
|
|
}
|
|
];
|
|
shellAliases = {
|
|
ll = "ls -l";
|
|
la = "ls -la";
|
|
gs = "git status";
|
|
gp = "git push";
|
|
};
|
|
};
|
|
|
|
programs.kitty = {
|
|
enable = true;
|
|
themeFile = "Catppuccin-Mocha";
|
|
font.name = "FiraCode Nerd Font Mono";
|
|
settings = {
|
|
confirm_os_window_close = 0;
|
|
dynamic_background_opacity = true;
|
|
enable_audio_bell = false;
|
|
mouse_hide_wait = "-1.0";
|
|
window_padding_width = 10;
|
|
background_opacity = "0.9";
|
|
# Ensure proper symbol rendering with Nerd Fonts
|
|
symbol_map = "U+23FB-U+23FE U+2B58 U+E200-U+E2A9 U+E0A0-U+E0A3 U+E0B0-U+E0BF U+E0C0-U+E0C8 U+E0CC-U+E0CF U+E0D0-U+E0D2 U+E0D4 U+E700-U+E7C5 U+F000-U+F2E0 U+2665 U+26A1 U+F400-U+F4A8 U+F67C U+E000-U+E00A U+F300-U+F313 U+E5FA-U+E62B Symbols Nerd Font";
|
|
};
|
|
extraConfig = ''
|
|
shell /run/current-system/sw/bin/fish
|
|
'';
|
|
};
|
|
|
|
programs.direnv = {
|
|
enable = true;
|
|
nix-direnv.enable = true;
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "DerGrumpf";
|
|
userEmail = "p.keier@beyerstedt-it.de";
|
|
aliases = {
|
|
co = "checkout";
|
|
ci = "commit";
|
|
st = "status";
|
|
br = "branch";
|
|
};
|
|
extraConfig = {
|
|
init.defaultBranch = "main";
|
|
pull.rebase = true;
|
|
};
|
|
};
|
|
|
|
programs.ssh = {
|
|
enable = true;
|
|
enableDefaultConfig = false;
|
|
matchBlocks = {
|
|
"example.com" = {
|
|
user = "dergrumpf";
|
|
identityFile = "~/.ssh/id_ed25519";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.starship = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
settings = {
|
|
add_newline = true;
|
|
format = "$directory$git_branch$git_status$cmd_duration$line_break$character";
|
|
};
|
|
};
|
|
|
|
services = {
|
|
gpg-agent = {
|
|
enable = true;
|
|
defaultCacheTtl = 1800;
|
|
enableSshSupport = true;
|
|
};
|
|
};
|
|
}
|