Add Nvim and Kitty config

This commit is contained in:
zuma 2025-02-08 00:20:47 +01:00
parent 4642299aae
commit 62ff6069b9
8 changed files with 3152 additions and 86 deletions

View file

@ -0,0 +1,127 @@
{ ... }: {
wayland.windowManager.hyprland = {
enable = true;
settings = {
"$mod" = "SUPER"; # Windows key on classic keyboards
monitor = [
"eDP-1, 1920x1080, 1440x0,1"
"HDMI-A-1,1440x900, 0x0, 1"
];
bind = [
# Programs
"$mod, B, exec, firefox"
"$mod, code:36, exec, kitty"
"$mod, Q, killactive,"
"$mod, E, exec, thunar"
"$mod, F, fullscreen, 1"
"$mod SHIFT, F, fullscreen"
"$mod, code:65, exec, rofi -show run"
# Move to workspace
"$mod, code:10, workspace, 1"
"$mod, code:11, workspace, 2"
"$mod, code:12, workspace, 3"
"$mod, code:13, workspace, 4"
"$mod, code:14, workspace, 5"
"$mod, code:15, workspace, 6"
"$mod, code:16, workspace, 7"
"$mod, code:17, workspace, 8"
"$mod, code:18, workspace, 9"
# Move active window to workspace
"$mod SHIFT, code:10, movetoworkspace, 1"
"$mod SHIFT, code:11, movetoworkspace, 2"
"$mod SHIFT, code:12, movetoworkspace, 3"
"$mod SHIFT, code:13, movetoworkspace, 4"
"$mod SHIFT, code:14, movetoworkspace, 5"
"$mod SHIFT, code:15, movetoworkspace, 6"
"$mod SHIFT, code:16, movetoworkspace, 7"
"$mod SHIFT, code:17, movetoworkspace, 8"
"$mod SHIFT, code:18, movetoworkspace, 9"
# Move to adjacent workspaces
"$mod, code:113, workspace, -1"
"$mod, code:114, workspace, +1"
];
bindm = [
"$mod, mouse:272, moveWindow"
"$mod, mouse:273, moveWindow"
];
cursor = {
no_hardware_cursors = true;
};
input = {
kb_layout = "fr, us";
kb_variant = ",altgr-intl"; # Specify international variant for qwerty so I can type french accents
kb_options = "grp:lctrl_lwin_toggle"; # Toggle keyboard variants with LCTRL + LWIN
follow_mouse = 1;
touchpad = {
natural_scroll = "yes";
};
};
general = {
# Default Hyprland UI
gaps_in = 5;
gaps_out = 10;
border_size = 1;
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
"col.inactive_border" = "rgba(595959aa)";
layout = "dwindle";
resize_on_border = true;
};
decoration = {
rounding = 10;
blur = {
enabled = true;
size = 3;
passes = 1;
};
shadow = {
enabled = true;
color = "rgba(1a1a1aee)";
};
};
animations = {
enabled = "yes";
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
dwindle = {
pseudotile = "yes";
preserve_split = "yes";
};
master = {
new_status = "master";
};
gestures = {
workspace_swipe = "on";
};
};
};
}

View file

@ -0,0 +1,12 @@
{ ... }:
{
programs.kitty = {
enable = true;
themeFile = "Dracula";
settings = {
enable_audio_bell = false;
};
};
}

View file

@ -0,0 +1,99 @@
{ inputs, pkgs, ... }: {
imports = [ inputs.nvf.homeManagerModules.default ];
programs.nvf = {
enable = true;
settings = {
vim = {
useSystemClipboard = true;
lineNumberMode = "number";
theme = {
enable = true;
name = "dracula";
};
options = {
# 2-space tabstop
tabstop = 2;
softtabstop = 2;
shiftwidth = 2;
expandtab = true;
autoindent = true;
smartindent = true;
breakindent = true;
};
statusline.lualine.enable = true;
telescope.enable = true;
autocomplete.nvim-cmp.enable = true;
languages = {
enableLSP = true;
enableTreesitter = true;
# Who needs a resume when you can just look at enabled neovim LSP config
nix.enable = true;
ts.enable = true;
markdown.enable = true;
bash.enable = true;
css.enable = true;
html.enable = true;
python.enable = true;
tailwind.enable = true;
};
notes.obsidian = {
enable = true;
setupOpts = {
workspaces = [
{
name = "Obsidian-Brain";
path = "~/Documents/Obsidian-Brain";
}
];
};
};
filetree.nvimTree = {
enable = true;
mappings = {
toggle = "<leader>e";
findFile = "<leader>ef";
};
setupOpts = {
actions.open_file.eject = true;
tab.sync.close = true;
};
};
comments.comment-nvim = {
enable = true;
mappings = {
toggleCurrentLine = "<leader>/";
};
};
visuals = {
fidget-nvim.enable = true;
};
terminal.toggleterm = {
enable = true;
mappings.open = "<M-h>";
setupOpts.winbar.enabled = false;
};
utility.images = {
image-nvim = {
enable = true;
setupOpts = {
backend = "kitty";
};
};
};
};
};
};
}

45
commons/programs/zsh.nix Normal file
View file

@ -0,0 +1,45 @@
{ ... }: {
programs.zsh = {
enable = true;
enableCompletion = true;
shellAliases = {
update = "sudo nixos-rebuild switch --flake /home/zuma/nix_files#t0urn3s0l";
};
oh-my-zsh = {
enable = true;
plugins = [ "git" ];
theme = "robbyrussell";
};
};
programs.starship = {
enable = true;
settings = {
add_newline = false;
command_timeout = 1300;
scan_timeout = 50;
format = "$username@$hostname:$directory$character";
hostname = {
disabled = false;
format = "[$ssh_symbol](blue dimmed bold)[$hostname]($style)";
ssh_only = false;
style = "green dimmed bold";
};
username = {
format = "[$user]($style)";
show_always = true;
style_root = "red bold bg:0x9A348E";
style_user = "yellow bold bg:0x9A348E";
disabled = false;
};
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
};
};
}