{ inputs, self, ... }: let optionName = "features.applications.cli.fastfetch.enable"; in { imports = [ (inputs.helpers.mkStandardFeature.flakeModule "global" optionName "`fastfetch`") ]; flake.nixosModules.global = { pkgs, lib, config, ... }: { imports = [ (inputs.helpers.mkStandardFeature.nixosModule { inherit config optionName; } { environment.systemPackages = [ pkgs.fastfetch ]; }) ]; }; flake.homeModules.global = { pkgs, lib, config, ... }: { imports = [ (inputs.helpers.mkStandardFeature.homeModule { inherit config optionName; } { programs.zsh.initContent = lib.mkOrder 1500 '' SESSION_TYPE=local if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then SESSION_TYPE=remote/ssh 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; }) ]; }; }