dotfiles/home-manager/terminal.nix
2024-07-25 00:06:41 -04:00

80 lines
1.8 KiB
Nix

{ config, pkgs, ... }:
{
programs.kitty = {
enable = true;
shellIntegration.enableZshIntegration = true;
font = {
name = "JetBrainsMono NF";
size = 11;
};
settings = {
enable_audio_bell = "no";
window_margin_width = 10;
background_opacity = "0.5";
confirm_os_window_close = 0;
};
};
programs.zsh = {
enable = true;
autocd = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initExtra = ''
neofetch --ascii ~/dotfiles/aperture.txt
'';
shellAliases = {
rebuild = "sudo nixos-rebuild switch";
clean = "nix-store --gc";
dotfiles = "cd ~/dotfiles/";
nv = "nvim";
};
oh-my-zsh = {
enable = true;
plugins = [
"git"
"gh"
"bun"
];
theme = "robbyrussell";
};
history = {
path = "${config.xdg.dataHome}/zsh/history";
size = 10000;
};
};
programs.starship = {
enable = true;
settings = {
add_newline = false;
};
};
programs.btop = {
enable = true;
settings = {
theme = "system";
};
};
fonts.fontconfig.enable = true;
home.packages = with pkgs; [
neofetch
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
(pkgs.writeShellScriptBin "pywal" ''
# -n tells `wal` to skip setting the wallpaper.
wal -i ~/Wallpapers/ -n
# Using feh to tile the wallpaper now.
# We grab the wallpaper location from wal's cache so
# that this works even when a directory is passed.
swww img "$(<"${config.home.homeDirectory}/.cache/wal/wal")" --transition-type wipe --transition-angle 45 --transition-fps 90
# Copy cava and update config
cp ~/.cache/wal/cava-config ~/.config/cava/config && pkill -USR2 cava
'')
];
}