{ config, pkgs, ... }: let home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz"; in { imports = [ (import "${home-manager}/nixos") ]; home-manager.users."${config.vars.username}" = { /* The home.stateVersion option does not have a default and must be set */ home.stateVersion = "23.11"; /* Here goes the rest of your home-manager config, e.g. home.packages = [ pkgs.foo ]; */ programs.git = { enable = true; userName = config.vars.hm_git_username; userEmail = config.vars.usermail; }; programs.zoxide.enable = true; programs.zoxide.enableZshIntegration = true; programs.zsh.envExtra = ["LANG=en_US.UTF-8" "EDITOR='nano'"]; programs.ssh.matchBlocks = { "nixconf" = { hostname = "github.com"; user = "${config.vars.email}"; identityFile = "/home/${config.vars.username}/.ssh/id_nix"; }; }; }; programs.nix-ld.enable = true; programs.zsh = { enable = true; syntaxHighlighting.enable = true; enableCompletion = true; autosuggestions.enable = true; shellAliases = { nixapply = "sudo nixos-rebuild switch"; nixupdate = "sudo nix-channel --update && sudo nixos-rebuild switch"; nixclean = "sudo nix-collect-garbage -d"; cp="rsync -ah --info=progress2"; sct="systemctl"; jct="journalctl"; }; ohMyZsh = { enable = true; plugins = [ "git" "python" "man" "command-not-found" "safe-paste" "tmux" "zoxide" "kubectl" "zsh-interactive-cd" ]; theme = "agnoster"; customPkgs = [ pkgs.nix-zsh-completions # and even more... ]; }; }; }