108 lines
2.6 KiB
Nix
108 lines
2.6 KiB
Nix
{ 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
|
|
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;
|
|
}
|