{ config, lib, pkgs, ... }: with lib; let fastfetch = "${pkgs.fastfetch}/bin/fastfetch"; cfg = config.custom.programs.fastfetch; in { options.custom.programs.fastfetch = { enable = mkOption { default = false; }; greet = mkOption { default = false; }; }; config = mkIf cfg.enable { # https://github.com/fastfetch-cli/fastfetch environment.systemPackages = [ pkgs.fastfetch ]; # System info greeting programs.fish.interactiveShellInit = mkIf cfg.greet '' # If not root, print greeting if test (id -u) -ne 0 function fish_greeting ${fastfetch} end end ''; # https://github.com/fastfetch-cli/fastfetch #!! Option not available, files written directly home-manager.users.${config.custom.username}.home.file.".config/fastfetch/config.jsonc".text = '' { "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", "logo": { "source": "none", }, "modules": [ "publicip", "datetime", "uptime", "processes", "cpuusage", "memory", "swap", "disk", "diskio", "netio", ] } ''; }; }