Files
nix-flake/hosts/takamaki/configs/fastfetch.nix
T
greyweather 9a3530aa6a finish configuration for ssh
- iptables geoip whitelist for ssh
- NOPASSWD for efibootmgr, allowing easy reboot into windows from laptop/phone
- no fastfetch for remote shells
2026-07-16 23:01:20 +01:00

165 lines
4.1 KiB
Nix

{
pkgs,
lib,
...
}: {
programs.zsh.initContent = lib.mkOrder 1500 ''
SESSION_TYPE=local
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
SESSION_TYPE=remote/ssh
# many other tests omitted
else
case $(ps -o comm= -p "$PPID") in
sshd|*/sshd) SESSION_TYPE=remote/ssh;;
esac
fi
if [ $SESSION_TYPE != remote/ssh ]; then
fastfetch
fi
'';
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "/home/grey/nixos/assets/jiji.jpg";
width = 30;
padding = {
top = 1;
left = 2;
right = 2;
};
};
modules = [
{
type = "custom";
format = "┌────────────────── Software ──────────────────┐";
}
{
type = "title";
key = " Session";
format = "{user-name}@{host-name}";
}
{
type = "os";
key = " Distro";
format = "{pretty-name}";
}
{
type = "kernel";
key = " Kernel";
}
{
type = "shell";
key = " Shell";
}
{
type = "terminal";
key = " Terminal";
}
{
type = "de";
key = " DE";
}
{
type = "custom";
format = "└──────────────────────────────────────────────┘";
}
"break"
{
type = "custom";
format = "┌────────────────── Hardware ──────────────────┐";
}
{
type = "cpu";
key = " CPU";
format = "{name}";
}
{
type = "gpu";
key = " GPU";
temp = false;
hideType = "integrated";
format = "{name}";
}
{
type = "memory";
key = " RAM";
percent = {
green = 50;
yellow = 80;
type = 0;
};
}
{
type = "swap";
key = " Swap";
percent = {
green = 50;
yellow = 80;
type = 0;
};
separate = false;
}
{
type = "disk";
key = " Disk";
showRegular = true;
showExternal = false;
showHidden = false;
showSubvolumes = false;
showReadOnly = true;
ShowUnknown = false;
hideFolders = "/efi:/boot:/boot/*:/run/media/*";
useAvailable = false;
percent = {
green = 50;
yellow = 80;
type = 0;
};
}
{
type = "localip";
key = " IP";
showIpv4 = true;
showIpv6 = false;
showMac = false;
showLoop = false;
showPrefixLen = true;
showMtu = false;
showSpeed = false;
showFlags = false;
compact = false;
defaultRouteOnly = true;
showAllIps = false;
}
{
type = "custom";
format = "└──────────────────────────────────────────────┘";
}
"break"
{
type = "custom";
format = "┌──────────────── Age / Uptime ────────────────┐";
}
{
type = "disk";
key = " OS Age";
folders = "/";
format = "{create-time:10} ({days} days)";
}
{
type = "uptime";
key = " Uptime";
}
{
type = "custom";
format = "└──────────────────────────────────────────────┘";
}
];
};
};
}