184 lines
5.0 KiB
Nix
184 lines
5.0 KiB
Nix
{ 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"
|
|
blue="#7e9cd8"
|
|
black="#090618"
|
|
green="#76946a"
|
|
zstyle ':vcs_info:*' formats "%F{$purple}%K{$blue}$sep%k%f%K{$blue}%F{$black} (%r:%b) %F{$blue}"
|
|
export PS1='%K{$purple}%F{$black} %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}";
|
|
};
|
|
};
|
|
};
|
|
}
|