mirror of
https://codeberg.org/muon/home.git
synced 2025-12-06 08:07:45 +00:00
Add dotfiles
This commit is contained in:
commit
39fe550b3e
45 changed files with 4363 additions and 0 deletions
137
modules/home/shell/default.nix
Normal file
137
modules/home/shell/default.nix
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.packages = with pkgs; [comma ripgrep];
|
||||
home.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship";
|
||||
programs = {
|
||||
nix-index.enable = false;
|
||||
|
||||
exa.enable = true;
|
||||
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
dircolors = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
skim = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
defaultCommand = "rg --files --hidden";
|
||||
changeDirWidgetOptions = [
|
||||
"--preview 'exa --icons --git --color always -T -L 3 {} | head -200'"
|
||||
"--exact"
|
||||
];
|
||||
};
|
||||
|
||||
starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
scan_timeout = 1;
|
||||
#character = {
|
||||
#error_symbol = "[](bold red)";
|
||||
#success_symbol = "[](bold green)";
|
||||
#vicmd_symbol = "[](bold yellow)";
|
||||
#format = "$symbol [|](bold bright-black) ";
|
||||
#};
|
||||
git_commit = {commit_hash_length = 4;};
|
||||
line_break.disabled = false;
|
||||
lua.symbol = "[](blue) ";
|
||||
python.symbol = "[](blue) ";
|
||||
hostname = {
|
||||
ssh_only = true;
|
||||
format = "[$hostname](bold blue) ";
|
||||
disabled = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
|
||||
dotDir = ".config/zsh";
|
||||
|
||||
enableCompletion = true;
|
||||
enableAutosuggestions = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
||||
initExtra = ''
|
||||
autoload -U compinit
|
||||
setopt no_auto_remove_slash
|
||||
|
||||
fuck () {
|
||||
TF_PYTHONIOENCODING=$PYTHONIOENCODING;
|
||||
export TF_SHELL=zsh;
|
||||
export TF_ALIAS=fuck;
|
||||
TF_SHELL_ALIASES=$(alias);
|
||||
export TF_SHELL_ALIASES;
|
||||
TF_HISTORY="$(fc -ln -10)";
|
||||
export TF_HISTORY;
|
||||
export PYTHONIOENCODING=utf-8;
|
||||
TF_CMD=$(
|
||||
thefuck THEFUCK_ARGUMENT_PLACEHOLDER $@
|
||||
) && eval $TF_CMD;
|
||||
unset TF_HISTORY;
|
||||
export PYTHONIOENCODING=$TF_PYTHONIOENCODING;
|
||||
test -n "$TF_CMD" && print -s $TF_CMD
|
||||
}
|
||||
'';
|
||||
|
||||
history = {
|
||||
save = 2000000;
|
||||
size = 2000000;
|
||||
expireDuplicatesFirst = true;
|
||||
ignoreDups = true;
|
||||
ignoreSpace = true;
|
||||
path = "$HOME/.local/state/zsh/history";
|
||||
};
|
||||
|
||||
shellAliases = with pkgs; with lib; {
|
||||
rebuild = "doas nix-store --verify; pushd ~/.config/dotfiles && doas nixos-rebuild switch --flake .# && notify-send \"Done\" && bat cache --build; popd";
|
||||
update = "doas nix-store --verify; pushd ~/.config/dotfiles && doas nixos-rebuild switch --upgrade-all --flake .# && notify-send \"Done\" && bat cache --build; popd";
|
||||
cleanup = "doas nix-collect-garbage --delete-older-than 7d";
|
||||
bloat = "nix path-info -Sh /run/current-system";
|
||||
cat = "${getExe bat} --style=plain";
|
||||
vpn = getExe mullvad;
|
||||
grep = getExe ripgrep;
|
||||
fzf = getExe skim;
|
||||
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
|
||||
du = getExe du-dust;
|
||||
ps = getExe procs;
|
||||
m = "mkdir -p";
|
||||
fcd = "cd $(find -type d | fzf)";
|
||||
l = "ls -lF --time-style=long-iso --icons";
|
||||
sc = "sudo systemctl";
|
||||
scu = "systemctl --user ";
|
||||
la = "${getExe exa} -lah";
|
||||
ls = "${getExe exa} -h --git --icons --color=auto --group-directories-first -s extension";
|
||||
tree = "${getExe exa} --tree --icons --tree";
|
||||
burn = "pkill -9";
|
||||
diff = "diff --color=auto";
|
||||
".." = "cd ..";
|
||||
"..." = "cd ../../";
|
||||
"...." = "cd ../../../";
|
||||
"....." = "cd ../../../../";
|
||||
"......" = "cd ../../../../../";
|
||||
v = "${getExe neovim}";
|
||||
vim = "${getExe neovim}";
|
||||
};
|
||||
plugins = with pkgs; [
|
||||
{
|
||||
name = "zsh-vi-mode";
|
||||
src = zsh-vi-mode;
|
||||
file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue