Add a new home-manager role for starship.rs, a fast and customizable cross-shell prompt written in Rust. Configuration includes: - Bash and Zsh integration enabled - Clean character symbols (> for success, x for error) - Vi mode indicator support - Smart directory truncation (4 levels, truncate to repo root) - Git branch and status display - Nix shell indicator with snowflake symbol - Command duration for long-running commands (2s+) - Disabled noisy modules (language runtimes, cloud providers) Enabled in: home-desktop, home-laptop-compact, home-live-usb, home-media-center configurations. Closes: nixos-configs-uji
46 lines
1.0 KiB
Nix
46 lines
1.0 KiB
Nix
{ config, lib, pkgs, globalInputs, system, ... }:
|
|
|
|
{
|
|
# Home Manager configuration for compact laptop setups
|
|
# Optimized for space-constrained environments
|
|
|
|
home.username = "johno";
|
|
home.homeDirectory = "/home/johno";
|
|
home.stateVersion = "24.05";
|
|
|
|
# Enable essential roles only (exclude heavy office/media packages)
|
|
home.roles = {
|
|
base.enable = true;
|
|
desktop.enable = true;
|
|
development.enable = true;
|
|
communication.enable = true;
|
|
email.enable = true;
|
|
kdeconnect.enable = true;
|
|
media.enable = true;
|
|
sync.enable = true;
|
|
kubectl.enable = true;
|
|
tmux.enable = true;
|
|
plasma-manager.enable = true;
|
|
emacs.enable = true;
|
|
i3_sway.enable = true;
|
|
starship.enable = true;
|
|
|
|
# Launcher wrappers for excluded/optional packages
|
|
launchers = {
|
|
enable = true;
|
|
packages = [
|
|
"libreoffice"
|
|
];
|
|
};
|
|
};
|
|
|
|
targets.genericLinux.enable = true;
|
|
home.sessionVariables = {};
|
|
home.sessionPath = [];
|
|
|
|
imports = [
|
|
./roles
|
|
./roles/base-linux
|
|
];
|
|
}
|