36 lines
1.0 KiB
Nix
36 lines
1.0 KiB
Nix
{ config, lib, pkgs, inputs, ... }:
|
|
|
|
let cfg = config.modules.cli.shell;
|
|
in {
|
|
config = lib.mkIf (cfg.name == "zsh") {
|
|
environment.pathsToLink = [ "/share/zsh" ];
|
|
users.users.moritz.shell = pkgs.zsh;
|
|
home-manager.users.moritz = {
|
|
home.packages = with pkgs; [ du-dust ];
|
|
programs = {
|
|
zsh = {
|
|
enable = true;
|
|
dotDir = ".config/zsh";
|
|
history.expireDuplicatesFirst = true;
|
|
localVariables = cfg.variables;
|
|
shellAliases = lib.trivial.mergeAttrs cfg.aliases cfg.abbreviations;
|
|
enableSyntaxHighlighting = true;
|
|
enableAutosuggestions = true;
|
|
enableCompletion = true;
|
|
initExtra = ''
|
|
function nix-which() {
|
|
readlink -f $(which $1)
|
|
}
|
|
'';
|
|
plugins = [{
|
|
name = "forgit";
|
|
src = inputs.forgit-git;
|
|
}];
|
|
};
|
|
fzf.enableZshIntegration = true;
|
|
starship.enableZshIntegration = true;
|
|
};
|
|
};
|
|
};
|
|
}
|