61 lines
1.6 KiB
Nix
61 lines
1.6 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
programs.zsh = {
|
|
enable = true;
|
|
|
|
dotDir = ".config/zsh";
|
|
|
|
history = {
|
|
extended = true;
|
|
};
|
|
|
|
localVariables = {
|
|
# Enable Oh My Zsh history timestamp output.
|
|
# See: https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#hist_stamps
|
|
HIST_STAMPS = "yyyy-mm-dd";
|
|
};
|
|
|
|
# Make use of Oh My Zsh
|
|
# See the projects sites:
|
|
# https://ohmyz.sh/
|
|
# https://github.com/ohmyzsh/ohmyzsh/
|
|
# See the projects documentation:
|
|
# https://github.com/ohmyzsh/ohmyzsh/wiki
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
theme = "agnoster";
|
|
custom = "/home/forestcat/.config/oh-my-zsh-custom";
|
|
plugins = [
|
|
"history-substring-search"
|
|
"timer"
|
|
"pass"
|
|
];
|
|
extraConfig = ''
|
|
# Only show the command execution timer, if the command ran for at least 15 seconds.
|
|
TIMER_THRESHOLD=15
|
|
'';
|
|
};
|
|
|
|
initExtra = ''
|
|
nx() {
|
|
nix shell nixpkgs/nixos-23.11#$@
|
|
}
|
|
|
|
# history-substring-search configuration
|
|
# See: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/history-substring-search#configuration
|
|
# Ensure unique search results in history-substring-search.
|
|
# Needs to be set here instead of in oh-my-zsh.extraConfig to work apparently.
|
|
HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1
|
|
'';
|
|
|
|
shellAliases = {
|
|
# Others.
|
|
miau = "echo miau";
|
|
ll = "ls -l";
|
|
cheetah = "curl -d 'Lena: Done ✓' https://ntfy.forestcat.org/cheetah";
|
|
rebuild = "sudo nixos-rebuild switch --flake ~/nix-configs/ --show-trace";
|
|
};
|
|
};
|
|
}
|
|
|