36 lines
821 B
Nix
36 lines
821 B
Nix
{ lib, pkgs, config, ... }:
|
|
|
|
let
|
|
username = config.defaultUser or "henrov";
|
|
programName = "zsh";
|
|
programAssets = ../../../assets/system/conf/${programName};
|
|
zshInitFile = "${programAssets}/zsh.conf";
|
|
in
|
|
{
|
|
# System-wide package
|
|
environment.systemPackages = [ pkgs.zsh ];
|
|
|
|
# Home Manager user settings
|
|
_module.args.hmUsers = {
|
|
${username} = {
|
|
# Enable Zsh + Oh-My-Zsh
|
|
programs.zsh = {
|
|
enable = true;
|
|
ohMyZsh.enable = true;
|
|
ohMyZsh.theme = "catppuccin-mocha";
|
|
ohMyZsh.plugins = [
|
|
"git"
|
|
"docker"
|
|
"direnv"
|
|
"zsh-autosuggestions"
|
|
"zsh-completions"
|
|
"zsh-history-substring-search"
|
|
];
|
|
|
|
# Inject contents of zsh.conf
|
|
shellInit = builtins.readFile zshInitFile;
|
|
};
|
|
};
|
|
};
|
|
}
|