184 lines
3.7 KiB
Nix
184 lines
3.7 KiB
Nix
{
|
|
pkgs,
|
|
inputs,
|
|
...
|
|
}: {
|
|
# Read the changelog before changing this value
|
|
home.stateVersion = "24.05";
|
|
|
|
# Packahes
|
|
home.packages = with pkgs; [
|
|
alejandra
|
|
];
|
|
|
|
imports = [inputs.nvf.homeManagerModules.default];
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
historySubstringSearch.enable = true;
|
|
|
|
dotDir = ".config/zsh";
|
|
|
|
initExtra = ''
|
|
# VI Mode escape timeout fix
|
|
export KEYTIMEOUT=1
|
|
|
|
# Substring search settings
|
|
export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND="bg=blue,fg=black,bold"
|
|
export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=black,bold'
|
|
bindkey -M vicmd 'k' history-substring-search-up
|
|
bindkey -M vicmd 'j' history-substring-search-down
|
|
|
|
[[ -f "$HOME/.config/zsh/functions.zsh" ]] && source "$HOME/.config/zsh/functions.zsh"
|
|
'';
|
|
|
|
initExtraFirst = ''
|
|
# Tmux autostart
|
|
if [ -x "$(command -v tmux)" ] && [ -n "$DISPLAY" ] && [ -z "$TMUX" ]; then
|
|
exec tmux new-session -A -s default >/dev/null 2>&1
|
|
fi
|
|
'';
|
|
|
|
antidote = {
|
|
enable = true;
|
|
plugins = [
|
|
"zap-zsh/supercharge"
|
|
"zap-zsh/completions"
|
|
"zap-zsh/vim"
|
|
"chivalryq/git-alias"
|
|
"zdharma-continuum/fast-syntax-highlighting"
|
|
"zsh-users/zsh-history-substring-search"
|
|
"MichaelAquilina/zsh-you-should-use"
|
|
];
|
|
};
|
|
};
|
|
|
|
# Enable git
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "Crony Akatsuki";
|
|
userEmail = "crony@cronyakatsuki.xyz";
|
|
};
|
|
|
|
# Install fzf
|
|
programs.fzf = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
defaultCommand = "fd --type f";
|
|
};
|
|
|
|
# Install starship
|
|
programs.starship = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
settings = {
|
|
add_newline = false;
|
|
};
|
|
};
|
|
|
|
# Install zoxide
|
|
programs.zoxide = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
# Install eza
|
|
programs.eza = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
git = true;
|
|
icons = "always";
|
|
};
|
|
|
|
# Install bat
|
|
programs.bat.enable = true;
|
|
|
|
# Install fd
|
|
programs.fd.enable = true;
|
|
|
|
# Install ripgrep
|
|
programs.ripgrep.enable = true;
|
|
|
|
# Install direnv
|
|
programs.direnv = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
nix-direnv.enable = true;
|
|
};
|
|
|
|
# Install neovim
|
|
programs.nvf = {
|
|
enable = true;
|
|
settings.vim = {
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
|
|
options = {
|
|
tabstop = 2;
|
|
shiftwidth = 2;
|
|
expandtab = true;
|
|
softtabstop = 2;
|
|
updatetime = 50;
|
|
scrolloff = 5;
|
|
signcolumn = "no";
|
|
ignorecase = true;
|
|
smartcase = true;
|
|
laststatus = 3;
|
|
};
|
|
|
|
undoFile.enable = true;
|
|
|
|
lsp.enable = true;
|
|
|
|
autocomplete.nvim-cmp.enable = true;
|
|
|
|
languages = {
|
|
enableLSP = true;
|
|
enableTreesitter = true;
|
|
enableFormat = true;
|
|
|
|
nix.enable = true;
|
|
};
|
|
|
|
theme = {
|
|
enable = true;
|
|
name = "gruvbox";
|
|
style = "dark";
|
|
};
|
|
};
|
|
};
|
|
|
|
stylix = {
|
|
enable = true;
|
|
image = null;
|
|
imageScalingMode = "fill";
|
|
polarity = "dark";
|
|
override = {};
|
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-medium.yaml";
|
|
autoEnable = false;
|
|
cursor = null;
|
|
fonts = rec {
|
|
sansSerif = {
|
|
package = pkgs.dejavu_fonts;
|
|
name = "Dejavu Sans";
|
|
};
|
|
serif = sansSerif;
|
|
monospace = {
|
|
package = pkgs.nerd-fonts.commit-mono;
|
|
name = "CommitMono Nerd Font";
|
|
};
|
|
emoji = {
|
|
package = pkgs.noto-fonts-emoji;
|
|
name = "Noto Color Emoji";
|
|
};
|
|
sizes = {
|
|
desktop = 10;
|
|
terminal = 10;
|
|
applications = 10;
|
|
};
|
|
};
|
|
};
|
|
}
|