Switched terminal to zsh

Cleaned up terminal.nix
Removed fish, nushell, starship, and others
Default shell is now zsh
Added zsh plugins
Added powerlevel10k configuration
This commit is contained in:
2026-03-19 13:17:19 -05:00
parent c5d7d9e3da
commit a9b19ca2f8
2 changed files with 1782 additions and 69 deletions

1739
dotfiles/p10k.zsh Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,9 +2,15 @@
config,
lib,
pkgs,
inputs,
...
}:
{
imports = [
inputs.home-manager.nixosModules.default
];
environment.systemPackages = with pkgs; [
util-linux
rclone
@@ -74,96 +80,64 @@
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";
users.users.joe.shell = pkgs.nushell;
users.users.joe.shell = pkgs.zsh;
home-manager.users.joe = {
home.file.".p10k.zsh".source = ./dotfiles/p10k.zsh;
programs = {
starship = {
enableNushellIntegration = true;
enableFishIntegration = true;
enableBashIntegration = true;
enable = true;
settings = {
add_newline = true;
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
};
};
zoxide = {
enable = true;
enableFishIntegration = true;
enableNushellIntegration = true;
};
carapace = {
enable = true;
enableNushellIntegration = true;
enableZshIntegration = true;
};
direnv = {
enable = true;
enableFishIntegration = true;
enableNushellIntegration = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
};
nushell = {
programs = {
zsh = {
enable = true;
# The config.nu can be anywhere you want if you like to edit your Nushell with Nu
configFile.source = ./dotfiles/config.nu;
# for editing directly to config.nu
extraConfig = ''
let carapace_completer = {|spans|
carapace $spans.0 nushell ...$spans | from json
}
$env.config = {
show_banner: false,
completions: {
case_sensitive: false #
quick: true
partial: true
algorithm: "fuzzy"
external: {
enable: true
max_results: 100
completer: $carapace_completer # check 'carapace_completer'
}
}
}
$env.PATH = ($env.PATH |
split row (char esep) |
prepend /home/myuser/.apps |
append /usr/bin/env
)
enableCompletion = true;
initContent = ''
source ~/.p10k.zsh
bindkey -v
bindkey '^R' history-incremental-search-backward
alias cat=bat
'';
shellAliases = {
cat = "bat --theme ansi";
zplug = {
enable = true;
plugins = [
{ name = "zsh-users/zsh-autosuggestions"; }
{ name = "zsh-users/zsh-syntax-highlighting"; }
{
name = "plugins/git";
tags = [
"from:oh-my-zsh"
];
}
{
name = "romkatv/powerlevel10k";
tags = [
"as:theme"
"depth:1"
];
}
];
};
};
};
};
programs = {
fish = {
zsh = {
enable = true;
shellAliases = {
ls = "eza";
cat = "bat --theme ansi";
};
};
enableCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
};
# programs.bash = {
# interactiveShellInit = ''
# if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
# then
# shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
# exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
# fi
# '';
# };
};
}