feat: Add templates for external configs
This commit is contained in:
committed by
Hunter Halloran
parent
f658a4a5cc
commit
11edaada84
91
templates/user/home.nix
Normal file
91
templates/user/home.nix
Normal file
@@ -0,0 +1,91 @@
|
||||
{ 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; [
|
||||
# Add your preferred packages here
|
||||
# htop
|
||||
# ripgrep
|
||||
# fd
|
||||
# bat
|
||||
];
|
||||
|
||||
# ========== Programs ==========
|
||||
|
||||
# Git configuration
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Your Name";
|
||||
userEmail = "your.email@example.com";
|
||||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
};
|
||||
};
|
||||
|
||||
# Zsh configuration
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
# System theme is applied automatically if useZshTheme = true in users.nix
|
||||
# Add your custom zsh config here
|
||||
};
|
||||
|
||||
# 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 = "vim";
|
||||
# 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