initial config
This commit is contained in:
108
home.nix
Normal file
108
home.nix
Normal file
@@ -0,0 +1,108 @@
|
||||
{ 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;
|
||||
}
|
||||
Reference in New Issue
Block a user