nix/home.nix
Khaïs COLIN 4674308779 fix(kitty): bad tab bar display
Fixed in kitty 0.35.1: Fix a regression in 0.34 that caused the tab bar
to not render in second and subsequent OS Windows under Hyprland
(https://github.com/kovidgoyal/kitty/issues/7413)
2024-09-09 13:12:59 +02:00

145 lines
3.2 KiB
Nix

{ pkgs, nixvim, river-shifttags, kitty-unstable, ... }: let
username = "khais";
in {
imports = [
./stylix.nix
./wm
./direnv.nix
];
home = {
packages = with pkgs; [
# system tools & bragging
htop neofetch ripgrep usbutils wget curl ncdu trashy
# remote working
remmina
# audio
audacity
# communication
discord
# passwords
bitwarden-desktop
# editors
zed-editor nixvim
# make clipboard yanking work in neovim
# https://superuser.com/a/1803183
wl-clipboard
# wm river utils
playerctl brightnessctl river-shifttags wlr-randr
# dev tools
gitu lnav
# music
cmus
# file sending
magic-wormhole-rs
# drawing apps
krita inkscape
# nixos tools
nh nix-output-monitor
];
file = {
# konsole configuration
".local/share/konsole/Nixos.profile".source = ./konsole/Nixos.profile;
".config/nixpkgs/config.nix".text = ''
{ allowUnfree = true; }
'';
};
sessionVariables = {
EDITOR = "nvim";
};
inherit username;
homeDirectory = "/home/${username}";
stateVersion = "23.11";
};
nixpkgs.config.allowUnfree = true;
programs.git = {
enable = true;
userEmail = "khais.colin@gmail.com";
userName = "Khaïs COLIN";
# better diffs
diff-so-fancy.enable = true;
# set editor
extraConfig.core.editor = "nvim";
# always show diff in commits
extraConfig.commit.verbose = true;
};
programs.jujutsu = {
enable = true;
settings = {
user = {
email = "khais.colin@gmail.com";
name = "Khaïs COLIN";
};
ui = {
editor = "nvim";
diff-editor = [ "nvim" "-c" "DiffEditor $left $right $output" ];
merge-editor = [ "nvim" "-c" "DiffEditor $left $right $output" ];
};
};
};
programs.zsh = {
enable = true;
enableVteIntegration = true;
prezto = {
enable = true;
};
shellAliases = {
gc = "git commit -v";
ga = "git add";
gst = "git status";
gp = "git push";
gd = "git diff";
gds = "git diff --staged";
vim = "nvim";
vi = "nvim";
# progress cp
# https://serverfault.com/questions/43014/copying-a-large-directory-tree-locally-cp-or-rsync
pcp = "rsync --info=progress2 --archive --hard-links --acls --xattrs --human-readable --sparse --stats";
};
initExtra = ''
# enable jj completion
source <(jj util completion zsh)
'';
};
programs.kitty = {
package = kitty-unstable;
enable = true;
keybindings = {
"super+shift+enter" = "new_os_window_with_cwd";
};
settings = {
text_fg_override_threshold = 10;
};
};
programs.fuzzel.enable = true;
programs.zellij.enable = true;
programs.ssh = {
enable = true;
matchBlocks = {
"quasar" = {
hostname = "109.199.126.230";
user = "root";
};
};
};
# default connection to qemu for virt-manager
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
}