38 lines
967 B
Nix
38 lines
967 B
Nix
{ config, pkgs, lib, user, flakeRoot, ... }:
|
|
let
|
|
zshConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/zsh";
|
|
assetsDir = "${flakeRoot}/assets/common/conf/zsh";
|
|
in
|
|
{
|
|
home-manager.users.${user.username} = {
|
|
home.packages = with pkgs; [
|
|
zsh-syntax-highlighting
|
|
starship
|
|
];
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
theme = "agnoster";
|
|
plugins = [
|
|
"git"
|
|
"docker"
|
|
"kubectl"
|
|
"history"
|
|
"command-not-found"
|
|
"extract"
|
|
];
|
|
};
|
|
shellAliases = {
|
|
ls = "exa --icons -a --group-directories-first";
|
|
ll = "exa --icons -la --group-directories-first";
|
|
};
|
|
};
|
|
# Use the .zshrc file from assets
|
|
xdg.configFile."zsh/.zshrc".source = "${assetsDir}/.zshrc";
|
|
};
|
|
}
|