119 lines
2.9 KiB
Nix
119 lines
2.9 KiB
Nix
# NixOS Home Manager Configuration - AUTO-GENERATED DRAFT
|
|
# Path: results/generated_home.nix
|
|
#
|
|
# This file was auto-generated on $(date) based on deep system reconnaissance.
|
|
# It is designed to replicate your terminal and user environment.
|
|
#
|
|
# INSTRUCTIONS FOR USE:
|
|
# 1. Add Home Manager to your main NixOS configuration.
|
|
# 2. Clone your dotfiles repository (which should contain this file) to `~/.config/nixpkgs/`.
|
|
# 3. Run `home-manager switch` to apply this configuration.
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
{
|
|
# Let Home Manager manage itself
|
|
programs.home-manager.enable = true;
|
|
|
|
# ---
|
|
# 1. ZSH SHELL, STARSHIP PROMPT & OH MY ZSH
|
|
# ---
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableAutosuggestions = true;
|
|
enableSyntaxHighlighting = true;
|
|
|
|
# Oh My Zsh is a popular framework. Many plugins are available as NixOS options.
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
plugins = [ "git" ]; # Add any other OMZ plugins you use
|
|
theme = "agnoster"; # Or your preferred theme
|
|
};
|
|
|
|
# Any custom aliases can be defined here.
|
|
shellAliases = {
|
|
ll = "eza -l -g --icons";
|
|
ls = "eza --icons";
|
|
cat = "bat";
|
|
# 'dua' is a cargo-installed tool for disk usage analysis
|
|
dua = "dua";
|
|
};
|
|
};
|
|
|
|
# Set Zsh as your default shell
|
|
home.shell = pkgs.zsh;
|
|
|
|
# Starship prompt configuration
|
|
programs.starship = {
|
|
enable = true;
|
|
# You can place your starship.toml configuration here,
|
|
# or link it using home.file below.
|
|
};
|
|
|
|
# Atuin shell history
|
|
programs.atuin = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
# Configure settings like sync server, etc.
|
|
# settings = {
|
|
# sync_address = "https://your-atuin-server:8888";
|
|
# };
|
|
};
|
|
|
|
# ---
|
|
# 2. TERMINAL & MULTIPLEXER
|
|
# ---
|
|
programs.kitty = {
|
|
enable = true;
|
|
# settings = { font_size = 12; };
|
|
};
|
|
|
|
# Zellij terminal multiplexer
|
|
programs.zellij = {
|
|
enable = true;
|
|
# enableZshIntegration = true; # If you want shell integration
|
|
};
|
|
|
|
# ---
|
|
# 3. PACKAGES: UTILITIES, TOOLS, AND LANGUAGES
|
|
# ---
|
|
home.packages = with pkgs; [
|
|
# --- Core Utilities ---
|
|
unzip
|
|
zip
|
|
p7zip
|
|
htop
|
|
wget
|
|
curl
|
|
nmap
|
|
minicom
|
|
screen
|
|
tree
|
|
|
|
# --- Modern CLI Enhancements (from cargo & manual install logs) ---
|
|
eza
|
|
bat
|
|
fzf
|
|
zoxide
|
|
lazygit
|
|
yazi # Terminal file manager
|
|
tealdeer # `tldr` client
|
|
navi # Interactive cheatsheet tool
|
|
carapace-bin # Shell completion generator
|
|
|
|
# --- Language Toolchains ---
|
|
rustup
|
|
go
|
|
nodejs
|
|
python3
|
|
];
|
|
|
|
# ---
|
|
# 4. DOTFILE & CONFIG MANAGEMENT
|
|
# ---
|
|
# This section shows how to link config files from your Git repo.
|
|
# This is where you would link your nvim, starship, etc., configs.
|
|
# home.file.".config/nvim/init.vim".source = ./config/nvim/init.vim;
|
|
# home.file.".config/starship.toml".source = ./config/starship.toml;
|
|
}
|