{ 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; }; }; }; }