Compare commits
3 Commits
3914b54c73
...
feat/stars
| Author | SHA1 | Date | |
|---|---|---|---|
| 08c7cc9e76 | |||
| ef4e4509d3 | |||
| cd6b528692 |
@@ -23,6 +23,7 @@
|
||||
kubectl.enable = true;
|
||||
tmux.enable = true;
|
||||
plasma-manager.enable = true;
|
||||
starship.enable = true;
|
||||
};
|
||||
|
||||
targets.genericLinux.enable = true;
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
plasma-manager.enable = true;
|
||||
emacs.enable = true;
|
||||
i3_sway.enable = true;
|
||||
starship.enable = true;
|
||||
|
||||
# Launcher wrappers for excluded/optional packages
|
||||
launchers = {
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
plasma-manager.enable = true;
|
||||
emacs.enable = true;
|
||||
i3_sway.enable = true;
|
||||
starship.enable = true;
|
||||
# development.enable = false; # Not needed for live USB
|
||||
# communication.enable = false; # Not needed for live USB
|
||||
# office.enable = false; # Not needed for live USB
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
plasma-manager.enable = true;
|
||||
emacs.enable = true;
|
||||
i3_sway.enable = true;
|
||||
starship.enable = true;
|
||||
# office.enable = false; # Not needed for media center
|
||||
# sync.enable = false; # Shared machine, no personal file sync
|
||||
};
|
||||
|
||||
@@ -19,5 +19,6 @@
|
||||
./sync
|
||||
./tmux
|
||||
./emacs
|
||||
./starship
|
||||
];
|
||||
}
|
||||
|
||||
72
home/roles/starship/default.nix
Normal file
72
home/roles/starship/default.nix
Normal file
@@ -0,0 +1,72 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.home.roles.starship;
|
||||
in
|
||||
{
|
||||
options.home.roles.starship = {
|
||||
enable = mkEnableOption "starship cross-shell prompt";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
settings = {
|
||||
add_newline = true;
|
||||
|
||||
character = {
|
||||
success_symbol = "[>](bold green)";
|
||||
error_symbol = "[x](bold red)";
|
||||
vimcmd_symbol = "[<](bold green)";
|
||||
};
|
||||
|
||||
directory = {
|
||||
truncation_length = 4;
|
||||
truncate_to_repo = true;
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
symbol = "";
|
||||
format = "[$symbol$branch(:$remote_branch)]($style) ";
|
||||
};
|
||||
|
||||
git_status = {
|
||||
format = "([$all_status$ahead_behind]($style) )";
|
||||
};
|
||||
|
||||
nix_shell = {
|
||||
symbol = "";
|
||||
format = "[$symbol$state( \\($name\\))]($style) ";
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
min_time = 2000;
|
||||
format = "[$duration]($style) ";
|
||||
};
|
||||
|
||||
# Disable modules that are noisy or rarely needed
|
||||
package.disabled = true;
|
||||
nodejs.disabled = true;
|
||||
python.disabled = true;
|
||||
ruby.disabled = true;
|
||||
java.disabled = true;
|
||||
golang.disabled = true;
|
||||
rust.disabled = true;
|
||||
php.disabled = true;
|
||||
lua.disabled = true;
|
||||
perl.disabled = true;
|
||||
terraform.disabled = true;
|
||||
kubernetes.disabled = true;
|
||||
docker_context.disabled = true;
|
||||
aws.disabled = true;
|
||||
gcloud.disabled = true;
|
||||
azure.disabled = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -18,12 +18,29 @@
|
||||
# File systems - these will need to be updated after installation
|
||||
# The nvme0n1p5 partition will be formatted as btrfs for NixOS root
|
||||
fileSystems."/" = {
|
||||
# Update this device path after installation
|
||||
device = "/dev/disk/by-uuid/CHANGE-THIS-TO-YOUR-UUID";
|
||||
device = "/dev/disk/by-uuid/5f4ad025-bfab-4aed-a933-6638348059e5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/5f4ad025-bfab-4aed-a933-6638348059e5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@home" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/5f4ad025-bfab-4aed-a933-6638348059e5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@nix" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
device = "/dev/disk/by-uuid/5f4ad025-bfab-4aed-a933-6638348059e5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@log" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
# This should match your current EFI partition
|
||||
device = "/dev/disk/by-uuid/F5C6-D570";
|
||||
@@ -35,10 +52,8 @@
|
||||
# The pools should be imported automatically via boot.zfs.extraPools
|
||||
# /media and /swarmvols will be mounted by ZFS
|
||||
|
||||
# Swap - using ZFS zvol
|
||||
swapDevices = [
|
||||
{ device = "/dev/zvol/media/swap"; }
|
||||
];
|
||||
# No swap needed - 23GB RAM is sufficient for this NFS/ZFS server
|
||||
swapDevices = [ ];
|
||||
|
||||
# CPU microcode
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
||||
Reference in New Issue
Block a user