{ inputs, lib, self, ... }: { flake.nixosModules.zsh = { pkgs, config, ... }: { imports = [ # Include the results of the hardware scan. self.nixosModules.fastfetch ]; programs.zsh.enable = true; programs.zsh.syntaxHighlighting.enable = true; programs.zsh.histSize=1000; programs.zsh.histFile="${config.users.users.adam.home}/.local/histfile"; programs.zsh.setOptions= [ "beep" "prompt_subst" ]; programs.zsh.shellInit = '' bindkey -v bindkey "^H" backward-delete-char bindkey "^?" backward-delete-char ''; environment.sessionVariables = rec { EDITOR = "nvim"; BROWSER = "firefox"; ZDOTDIR = "/etc/"; }; programs.zsh.shellAliases = { fs = "lf"; ls = "ls --color=auto"; cp = "cp -v"; mkdir = "mkdir -v"; mv = "mv -v"; rm = "rm -v"; }; programs.zsh.promptInit = '' autoload -Uz add-zsh-hook vcs_info add-zsh-hook precmd vcs_info sep="" rsep="" purple="#957fb8" purple2="#552f78" blue="#7e9cd8" black="#090618" white="#dcd7ba" green="#76946a" zstyle ':vcs_info:*' formats "%F{$purple}%K{$purple2}$sep%k%f%K{$purple2}%F{$purple} (%r:%b) %F{$purple2}" export PS1='%K{$purple}%F{$purple2}  %1~ %F{$purple}''${vcs_info_msg_0_}%k$sep%k%f ' export RPROMPT="%F{$green}$rsep%f%K{$green}%F{$black} %n@%m %f%k" tty > /dev/null && (clear ; fastfetch) ''; system.userActivationScripts.zshrc = "touch .zshrc"; }; flake.nixosModules.fastfetch = { pkgs, ... }: let selfpkgs = self.packages."${pkgs.stdenv.hostPlatform.system}"; in { environment.systemPackages = [ selfpkgs.myFastfetch ]; }; perSystem = { pkgs, ... }: let conf = pkgs.writeText "config.jsonc" '' { "''$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", "logo": { "type": "auto", "color": { "1": "35", }, }, "display": { "separator": "  ", "constants": [ "─────────────────" ], "key": { "type": "icon", "paddingLeft": 2 }, "color": { "keys": "35", }, }, "modules": [ { "type": "custom", // HardwareStart "format": "┌{''$1} {#1}Hardware Information{#} {''$1}┐" }, //"host", "cpu", "gpu", "disk", "swap", "display", "brightness", "battery", "poweradapter", "bluetooth", //"sound", "memory", "gamepad", { "type": "custom", // SoftwareStart "format": "├{''$1} {#1}Software Information{#} {''$1}┤" }, /*{ "type": "title", "keyIcon": "", "key": "Title", // Title module has no key by default, so that icon is not displayed "format": "{user-name}@{host-name}" },*/ "os", //"kernel", //"lm", "de", "wm", "shell", "terminal", "terminalfont", "theme", "icons", "wallpaper", "packages", "uptime", //"media", /*{ "type": "localip", "compact": true }, "publicip", { "type": "wifi", "format": "{ssid}" }, "locale",*/ { "type": "custom", // InformationEnd "format": "└{''$1}──────────────────────{''$1}┘" }, { "type": "colors", "paddingLeft": 2, "symbol": "circle" } ] } ''; logo = pkgs.writeText "navi.txt" '' /X\ XXX \X/ /X/ /XXXXXXXXX\ \X\ /XXX/ /XXX/ \XXX\ \XXX\ /XX/ /XXX/ \XXX\ \XX\ /XX/ XXX /XXX\ XXX \XX\ XXX XXX /XXXXX\ XXX XXX XXX\ XXX \XXXXX/ XXX /XXX \XX\ \XX\ \XXX/ /XX/ /XX/ \XXX\ \XX\ /XX/ /XXX/ XX \XX\ \XXX\ /XXX/ /XX/ XX XX \XX\ /XX/ XX XXX XXX XXX XXX \XX\ /XX/ \XX\ /XX/ \XXXXXXX/ \XXXXXXX/ ''; in { packages.myFastfetch = inputs.wrappers.lib.wrapPackage { inherit pkgs; package = pkgs.fastfetch; flags = { "--config" = "${conf}"; "--logo" = "${logo}"; }; }; }; }