Switch to fish shell, ghostty terminal, and simplified prompt
- Replace bash with fish as default shell (all hosts)
- Replace kgx with ghostty (desktop hosts), update Super+T keybinding
- Custom two-line fish prompt: NixOS icon, username, path, hostname, ❯
- Nix-shell awareness, red ❯ on error
- Simplify fastfetch: user@host, OS, kernel, shell, terminal, uptime, memory
- Ghostty config: FiraCode Nerd Font, catppuccin-mocha, no titlebar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:22:21 +01:00
|
|
|
|
{ config, pkgs, lib, ... }:
|
2025-12-03 19:53:58 +00:00
|
|
|
|
{
|
2025-12-21 20:42:08 +00:00
|
|
|
|
# Install fastfetch
|
2025-12-03 19:53:58 +00:00
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
|
fastfetch
|
|
|
|
|
|
];
|
2025-12-21 20:42:08 +00:00
|
|
|
|
|
2025-12-03 20:29:05 +00:00
|
|
|
|
# Install Nerd Fonts for icon support
|
|
|
|
|
|
fonts.packages = with pkgs; [
|
2025-12-03 20:29:57 +00:00
|
|
|
|
nerd-fonts.fira-code
|
|
|
|
|
|
nerd-fonts.jetbrains-mono
|
|
|
|
|
|
nerd-fonts.meslo-lg
|
2025-12-03 20:29:05 +00:00
|
|
|
|
];
|
2025-12-21 20:42:08 +00:00
|
|
|
|
|
Switch to fish shell, ghostty terminal, and simplified prompt
- Replace bash with fish as default shell (all hosts)
- Replace kgx with ghostty (desktop hosts), update Super+T keybinding
- Custom two-line fish prompt: NixOS icon, username, path, hostname, ❯
- Nix-shell awareness, red ❯ on error
- Simplify fastfetch: user@host, OS, kernel, shell, terminal, uptime, memory
- Ghostty config: FiraCode Nerd Font, catppuccin-mocha, no titlebar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:22:21 +01:00
|
|
|
|
# Simple fastfetch config — shown on terminal start
|
|
|
|
|
|
# Run `fastfetch` manually for full system info
|
2025-12-03 19:53:58 +00:00
|
|
|
|
environment.etc."fastfetch/config.jsonc".text = ''
|
|
|
|
|
|
{
|
|
|
|
|
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
2025-12-21 12:16:53 +00:00
|
|
|
|
"logo": {
|
|
|
|
|
|
"source": "none"
|
|
|
|
|
|
},
|
2025-12-03 19:53:58 +00:00
|
|
|
|
"display": {
|
2025-12-03 20:22:36 +00:00
|
|
|
|
"separator": " ",
|
2025-12-03 19:53:58 +00:00
|
|
|
|
"color": {
|
|
|
|
|
|
"keys": "blue",
|
|
|
|
|
|
"title": "cyan"
|
2025-12-03 20:58:54 +00:00
|
|
|
|
},
|
|
|
|
|
|
"key": {
|
|
|
|
|
|
"type": "icon"
|
2025-12-03 19:53:58 +00:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"modules": [
|
|
|
|
|
|
{
|
Switch to fish shell, ghostty terminal, and simplified prompt
- Replace bash with fish as default shell (all hosts)
- Replace kgx with ghostty (desktop hosts), update Super+T keybinding
- Custom two-line fish prompt: NixOS icon, username, path, hostname, ❯
- Nix-shell awareness, red ❯ on error
- Simplify fastfetch: user@host, OS, kernel, shell, terminal, uptime, memory
- Ghostty config: FiraCode Nerd Font, catppuccin-mocha, no titlebar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:22:21 +01:00
|
|
|
|
"type": "title",
|
|
|
|
|
|
"format": "{user-name}@{host-name}"
|
2025-12-03 19:53:58 +00:00
|
|
|
|
},
|
Switch to fish shell, ghostty terminal, and simplified prompt
- Replace bash with fish as default shell (all hosts)
- Replace kgx with ghostty (desktop hosts), update Super+T keybinding
- Custom two-line fish prompt: NixOS icon, username, path, hostname, ❯
- Nix-shell awareness, red ❯ on error
- Simplify fastfetch: user@host, OS, kernel, shell, terminal, uptime, memory
- Ghostty config: FiraCode Nerd Font, catppuccin-mocha, no titlebar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:22:21 +01:00
|
|
|
|
"separator",
|
|
|
|
|
|
"os",
|
|
|
|
|
|
"kernel",
|
|
|
|
|
|
"shell",
|
|
|
|
|
|
"terminal",
|
|
|
|
|
|
"uptime",
|
|
|
|
|
|
"memory"
|
2025-12-03 19:53:58 +00:00
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
'';
|
2025-12-21 20:42:08 +00:00
|
|
|
|
|
2026-04-08 13:42:57 +01:00
|
|
|
|
# Starship cross-shell prompt
|
|
|
|
|
|
programs.starship = {
|
|
|
|
|
|
enable = true;
|
|
|
|
|
|
settings = {
|
|
|
|
|
|
"$schema" = "https://starship.rs/config-schema.json";
|
|
|
|
|
|
format = builtins.concatStringsSep "" [
|
|
|
|
|
|
"[](#7dcfff)"
|
|
|
|
|
|
"$os"
|
|
|
|
|
|
"[](bg:#e0af68 fg:#7dcfff)"
|
|
|
|
|
|
"$hostname"
|
|
|
|
|
|
"[](bg:#9ece6a fg:#e0af68)"
|
|
|
|
|
|
"$directory"
|
|
|
|
|
|
"[](fg:#9ece6a bg:#bb9af7)"
|
|
|
|
|
|
"$git_branch"
|
|
|
|
|
|
"$git_status"
|
|
|
|
|
|
"[](fg:#bb9af7)"
|
|
|
|
|
|
"$nix_shell"
|
|
|
|
|
|
"\n"
|
|
|
|
|
|
"$character"
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
os = {
|
|
|
|
|
|
style = "bg:#7dcfff fg:#1a1b26";
|
|
|
|
|
|
format = "[ $symbol]($style)";
|
|
|
|
|
|
disabled = false;
|
|
|
|
|
|
symbols.NixOS = "";
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
hostname = {
|
|
|
|
|
|
ssh_only = false;
|
|
|
|
|
|
style = "bg:#e0af68 fg:#1a1b26";
|
|
|
|
|
|
format = "[ $hostname ]($style)";
|
|
|
|
|
|
};
|
2026-04-08 13:29:06 +01:00
|
|
|
|
|
2026-04-08 13:42:57 +01:00
|
|
|
|
directory = {
|
|
|
|
|
|
style = "bg:#9ece6a fg:#1a1b26";
|
|
|
|
|
|
format = "[ $path ]($style)";
|
|
|
|
|
|
truncation_length = 4;
|
|
|
|
|
|
truncation_symbol = ".../";
|
|
|
|
|
|
};
|
Switch to fish shell, ghostty terminal, and simplified prompt
- Replace bash with fish as default shell (all hosts)
- Replace kgx with ghostty (desktop hosts), update Super+T keybinding
- Custom two-line fish prompt: NixOS icon, username, path, hostname, ❯
- Nix-shell awareness, red ❯ on error
- Simplify fastfetch: user@host, OS, kernel, shell, terminal, uptime, memory
- Ghostty config: FiraCode Nerd Font, catppuccin-mocha, no titlebar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:22:21 +01:00
|
|
|
|
|
2026-04-08 13:42:57 +01:00
|
|
|
|
git_branch = {
|
|
|
|
|
|
symbol = "";
|
|
|
|
|
|
style = "bg:#bb9af7 fg:#1a1b26";
|
|
|
|
|
|
format = "[ $symbol $branch ]($style)";
|
|
|
|
|
|
};
|
Switch to fish shell, ghostty terminal, and simplified prompt
- Replace bash with fish as default shell (all hosts)
- Replace kgx with ghostty (desktop hosts), update Super+T keybinding
- Custom two-line fish prompt: NixOS icon, username, path, hostname, ❯
- Nix-shell awareness, red ❯ on error
- Simplify fastfetch: user@host, OS, kernel, shell, terminal, uptime, memory
- Ghostty config: FiraCode Nerd Font, catppuccin-mocha, no titlebar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:22:21 +01:00
|
|
|
|
|
2026-04-08 13:42:57 +01:00
|
|
|
|
git_status = {
|
|
|
|
|
|
style = "bg:#bb9af7 fg:#1a1b26";
|
|
|
|
|
|
format = "[$all_status$ahead_behind ]($style)";
|
|
|
|
|
|
};
|
Switch to fish shell, ghostty terminal, and simplified prompt
- Replace bash with fish as default shell (all hosts)
- Replace kgx with ghostty (desktop hosts), update Super+T keybinding
- Custom two-line fish prompt: NixOS icon, username, path, hostname, ❯
- Nix-shell awareness, red ❯ on error
- Simplify fastfetch: user@host, OS, kernel, shell, terminal, uptime, memory
- Ghostty config: FiraCode Nerd Font, catppuccin-mocha, no titlebar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:22:21 +01:00
|
|
|
|
|
2026-04-08 13:42:57 +01:00
|
|
|
|
nix_shell = {
|
|
|
|
|
|
symbol = " ";
|
|
|
|
|
|
style = "bold yellow";
|
|
|
|
|
|
format = " [$symbol$state]($style)";
|
|
|
|
|
|
};
|
Switch to fish shell, ghostty terminal, and simplified prompt
- Replace bash with fish as default shell (all hosts)
- Replace kgx with ghostty (desktop hosts), update Super+T keybinding
- Custom two-line fish prompt: NixOS icon, username, path, hostname, ❯
- Nix-shell awareness, red ❯ on error
- Simplify fastfetch: user@host, OS, kernel, shell, terminal, uptime, memory
- Ghostty config: FiraCode Nerd Font, catppuccin-mocha, no titlebar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:22:21 +01:00
|
|
|
|
|
2026-04-08 13:42:57 +01:00
|
|
|
|
character = {
|
|
|
|
|
|
success_symbol = "[❯](bold purple)";
|
|
|
|
|
|
error_symbol = "[❯](bold red)";
|
|
|
|
|
|
};
|
|
|
|
|
|
};
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
# Fish shell settings
|
|
|
|
|
|
programs.fish.interactiveShellInit = ''
|
|
|
|
|
|
# Disable default greeting
|
|
|
|
|
|
set -g fish_greeting
|
2025-12-03 20:29:05 +00:00
|
|
|
|
'';
|
2025-12-03 19:53:58 +00:00
|
|
|
|
}
|