{ lib, pkgs, config, ... }: let username = config.users.users.defaultUser or "henrov"; homeDir = "/home/${username}"; programName = "zsh"; programAssets = ../../../assets/system/conf/${programName}; zshInitFile = "${programAssets}/zsh.conf"; in { # Ensure zsh is installed system-wide environment.systemPackages = [ pkgs.zsh ]; # Home Manager configuration for the default user home.username = username; home.homeDirectory = homeDir; programs.zsh = { enable = true; ohMyZsh = { enable = true; theme = "catppuccin-mocha"; # Only built-in plugins plugins = [ "git" "docker" "direnv" "zsh-completions" ]; # Inject custom Zsh configuration shellInit = builtins.readFile zshInitFile; }; }; }