{ inputs, ... }: # ============================================================================ # User Home Manager Configuration Template # ============================================================================ # This file provides home-manager configuration for a user. # It will be imported into the NixOS system's home-manager configuration. # # Usage in users.nix: # myusername = { # description = "My Name"; # home = builtins.fetchGit { # url = "https://github.com/username/dotfiles"; # rev = "commit-hash"; # }; # }; # # This module receives the same `inputs` flake inputs as the main # nixos-systems configuration (nixpkgs, home-manager, etc.). { config, lib, pkgs, osConfig, # Access to the OS-level config ... }: { # ========== Home Manager Configuration ========== # User identity (required) home.username = lib.mkDefault config.home.username; # Set by system home.homeDirectory = lib.mkDefault config.home.homeDirectory; # Set by system home.stateVersion = lib.mkDefault "25.11"; # ========== Packages ========== home.packages = with pkgs; [ htop ripgrep ghostty fd bat ]; # ========== Programs ========== # Git configuration programs.git = { enable = true; settings = { init.defaultBranch = "main"; user = { name = "Hunter Halloran"; email = "hdh20267@uga.edu"; }; }; }; # Zsh configuration programs.zsh = { enable = true; # System theme is applied automatically if useZshTheme = true in users.nix # Add your custom zsh config here }; programs.vscode = { enable = true; package = pkgs.vscode.fhs; profiles.default.extensions = with pkgs.vscode-extensions; [ vscodevim.vim jnoortheen.nix-ide ms-vscode-remote.vscode-remote-extensionpack ms-vscode-remote.remote-ssh ms-python.python ms-python.vscode-pylance ms-python.debugpy github.copilot ]; }; # Neovim configuration # programs.neovim = { # enable = true; # # System nvim config is applied automatically if useNvimPlugins = true # # Add your custom neovim config here # }; # ========== Shell Environment ========== home.sessionVariables = { EDITOR = "nvim"; # Add your custom environment variables }; # ========== Dotfiles ========== # You can manage dotfiles with home.file # home.file.".bashrc".source = ./dotfiles/bashrc; # home.file.".vimrc".source = ./dotfiles/vimrc; # Or use programs.* options for better integration # ========== XDG Configuration ========== xdg.enable = true; # xdg.configFile."app/config.conf".source = ./config/app.conf; }