experimenting with zsh instead of fish

This commit is contained in:
William 2026-03-26 07:29:51 -03:00
parent 27b9d71a4e
commit b80e1e3945
4 changed files with 54 additions and 1 deletions

46
aspects/base/zsh.nix Normal file
View file

@ -0,0 +1,46 @@
{ ... }:
{
flake.modules = {
nixos.zsh =
{ ... }:
{
programs.zsh.enable = true;
};
homeManager.zsh =
{
config,
lib,
pkgs,
...
}:
{
programs.zsh = {
enable = true;
dotDir = "${config.xdg.configHome}/zsh";
autosuggestion = {
enable = true;
strategy = [
"match_prev_cmd"
"completion"
];
};
enableCompletion = true;
syntaxHighlighting.enable = true;
initExtra = ''
unsetopt beep
${lib.getExe pkgs.nix-your-shell} zsh | source /dev/stdin
'';
loginExtra = "${lib.getExe pkgs.nix-your-shell} zsh | source /dev/stdin";
history = {
size = 10000;
save = 10000;
share = true;
};
initExtraBeforeCompInit = ''
zstyle ':completion:*' menu select
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
'';
};
};
};
}

View file

@ -13,6 +13,7 @@
nix
security
ssh
zsh
];
environment = {
systemPackages = with pkgs; [
@ -49,6 +50,7 @@
imports = with inputs.self.modules.homeManager; [
bash
fish
zsh
];
};
};

View file

@ -28,6 +28,11 @@
starship
tmux
];
programs.zoxide = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
};
};
}

View file

@ -11,7 +11,7 @@ in
{
users.users.user = {
isNormalUser = true;
shell = pkgs.fish;
shell = pkgs.zsh;
extraGroups = [
"networkmanager"
"wheel"