inputs @ { pkgs, lib, ...}: let # NixOS version # Function to create the home-manager configuration for the account aliceUserFn = {pkgs, ...}: { imports = [ ../apps ]; home = { packages = with pkgs; [ htop ]; # Default packages for the owner account. }; # configure the shell programs.zsh = { enable = true; # Enable zsh shell. enableCompletion = true; # Enable zsh completion. shellAliases = { ll = "ls -l"; la = "ls -la"; git-tree = "git log --graph --oneline --all"; c = "clear"; q = "exit"; ssh = "TERM=xterm-256color ssh"; emacs = "emacs -nw"; # Use emacs in terminal mode. }; }; }; in { imports = [(lib.modules.importApply ./user.nix { user = { userName = "alice"; defaultPassword = "password"; shell = pkgs.zsh; packages = with pkgs; [ tree vim wget curl git ]; userModule = aliceUserFn; }; })]; }