{ inputs, config, pkgs, ... } : { imports = [ ../../home-modules/default.nix ../../home-modules/nvim.nix ../../home-modules/tmux.nix ../../home-modules/git.nix ../../home-modules/lazygit.nix ../../home-modules/starship.nix ../../home-modules/direnv.nix ../../home-modules/zsh.nix ]; home = { username = "jmug"; homeDirectory = "/home/jmug"; packages = with pkgs; [ zig neofetch fzf ripgrep htop git wget exercism # Thin provisioning tools thin-provisioning-tools pkgs.writeShellApplication { name = "sas"; runtimeInputs = [ inputs.ssh-agent-switcher.aarch64-linux.default ]; text = '' ssh-agent-switcher ''; } ]; stateVersion = "24.11"; }; programs.zsh = { shellAliases = { # TODO BEGIN Interpolate the name of the host here. flakeconf = "sudo nvim /etc/nixos/flake.nix"; nosconf = "sudo nvim /etc/nixos/hosts/devbox/configuration.nix"; homeconf = "sudo nvim /etc/nixos/hosts/devbox/home.nix"; nvconf = "sudo nvim /etc/nixos/home-modules/explicit-configs/nvim/init.lua"; # TODO END Interpolate the name of the host here. rshellconf = "source ~/.zshrc"; # TODO: Interpolate the name of the host here. nrsw = "sudo nixos-rebuild switch --flake /home/jmug/nixos#devbox"; }; }; services.ssh-agent.enable = true; programs.ssh = { enable = true; addKeysToAgent = "confirm"; # matchBlocks = { # alarm = { # user = "alarm"; # hostname = "alarm"; # forwardAgent = true; # identityFile = "/home/jmug/.ssh/id_ed25519"; # }; # wsl = { # user = "aym"; # hostname = "192.168.10.241"; # port = 69; # forwardAgent = true; # identityFile = "/home/jmug/.ssh/id_ed25519"; # }; # ws = { # user = "aym"; # hostname = "73.118.150.68"; # port = 69; # forwardAgent = true; # identityFile = "/home/jmug/.ssh/id_ed25519"; # }; # }; }; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }