nixos/apps/fastfetch.nix

120 lines
2.6 KiB
Nix
Raw Normal View History

{ 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
# 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": [
{
"type": "title",
"format": "{user-name}@{host-name}"
2025-12-03 19:53:58 +00:00
},
"separator",
"os",
"kernel",
"shell",
"terminal",
"uptime",
"memory"
2025-12-03 19:53:58 +00:00
]
}
'';
2025-12-21 20:42:08 +00: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)";
};
directory = {
style = "bg:#9ece6a fg:#1a1b26";
format = "[ $path ]($style)";
truncation_length = 4;
truncation_symbol = ".../";
};
git_branch = {
symbol = "";
style = "bg:#bb9af7 fg:#1a1b26";
format = "[ $symbol $branch ]($style)";
};
git_status = {
style = "bg:#bb9af7 fg:#1a1b26";
format = "[$all_status$ahead_behind ]($style)";
};
nix_shell = {
symbol = " ";
style = "bold yellow";
format = " [$symbol$state]($style)";
};
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
}