moudlar
This commit is contained in:
65
home-modules/shell/fish.nix
Normal file
65
home-modules/shell/fish.nix
Normal file
@@ -0,0 +1,65 @@
|
||||
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
|
||||
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.fish
|
||||
|
||||
(pkgs.writeShellScriptBin "nxfetch" ''
|
||||
logo=$(echo -e "
|
||||
|
||||
⠀⠀⠀⠀⠰⣿⣧⠀⠀⠹⣿⣧⠀⣴⣿⠆⠀⠀⠀⠀ OS
|
||||
⠀⠀⠀⣀⣀⣹⣿⣧⣀⣀⠘⣿⣿⣿⠏⠀⠀⠀⠀⠀ DE/WM
|
||||
⠀⠀⠼⠿⠿⠿⠿⠿⠿⠿⠦⠘⣿⣿⡀⠀⣼⣧⠀⠀ TERM
|
||||
⠀⠀⠀⠀⢠⣶⡶⠀⠀⠀⠀⠀⠈⠿⢁⣼⣿⠋⠀⠀ SHELL
|
||||
⢾⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⡷ ISHELL
|
||||
⠀⠀⣠⣿⡟⢁⣶⡀⠀⠀⠀⠀⠀⠾⠿⠃⠀⠀⠀⠀ KERNEL
|
||||
⠀⠀⢻⡟⠀⠈⢿⣿⡄⠲⣶⣶⣶⣶⣶⣶⣶⡖⠀⠀ EDITOR
|
||||
⠀⠀⠀⠀⠀⣰⣿⣿⣿⡄⠉⠉⢻⣿⣏⠉⠉⠀⠀⠀ TFM
|
||||
⠀⠀⠀⠀⠰⣿⠟⠀⢻⣿⣆⠀⠀⠻⣿⠆⠀⠀⠀⠀ PROMPT
|
||||
|
||||
" | lolcat --force)
|
||||
|
||||
msg="
|
||||
$(echo -e "$logo" | sed -n 3p): $(cat /etc/*-release | grep PRETTY_NAME | cut -c 14- | rev | cut -c 2- | rev)
|
||||
$(echo -e "$logo" | sed -n 4p): ''${DESKTOP_SESSION^}
|
||||
$(echo -e "$logo" | sed -n 5p): ''${TERM^}
|
||||
$(echo -e "$logo" | sed -n 6p): ''${SHELL}
|
||||
$(echo -e "$logo" | sed -n 7p): fish
|
||||
$(echo -e "$logo" | sed -n 8p): ''$(uname -r)
|
||||
$(echo -e "$logo" | sed -n 9p): ''${EDITOR}
|
||||
$(echo -e "$logo" | sed -n 10p): $(yazi --version)
|
||||
$(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1)
|
||||
"
|
||||
echo -e "$msg"
|
||||
'')
|
||||
];
|
||||
|
||||
# bash>>fish is set in users system module
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
ls = "eza --icons --git --smart-group --group-directories-first";
|
||||
ll = "eza --icons --git --smart-group --group-directories-first --long";
|
||||
la = "eza --icons --git --smart-group --group-directories-first --all";
|
||||
lla = "eza --icons --git --smart-group --group-directories-first --all --long";
|
||||
lt = "eza --icons --git --smart-group --group-directories-first --long --tree";
|
||||
ltd = "eza --icons --git --smart-group --group-directories-first --long --tree -D";
|
||||
lt2 = "eza --icons --git --smart-group --group-directories-first --long --tree -L 2";
|
||||
sr = "sudo reboot";
|
||||
nf = "neofetch";
|
||||
nxf = "nxfetch";
|
||||
nn = "nano";
|
||||
m = "micro";
|
||||
c = "codium";
|
||||
code = "codium";
|
||||
# ya = "yazi"; # function
|
||||
nxfiglet = "figlet";
|
||||
};
|
||||
interactiveShellInit = ''
|
||||
set -g fish_greeting
|
||||
nxfetch
|
||||
${pkgs.starship}/bin/starship init fish | source
|
||||
'';
|
||||
};
|
||||
}
|
||||
108
home-modules/shell/starship.nix
Normal file
108
home-modules/shell/starship.nix
Normal file
@@ -0,0 +1,108 @@
|
||||
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
|
||||
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.starship
|
||||
];
|
||||
|
||||
## gets sourced in fish.nix
|
||||
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
format = "$jobs\$battery\$username\$hostname\$localip\$shlvl\$singularity\$kubernetes\$directory\$vcsh\$git_branch\$git_commit\$git_state\$git_metrics\$git_status\$hg_branch\$docker_context\$package\$c\$cmake\$cobol\$daml\$dart\$deno\$dotnet\$elixir\$elm\$erlang\$golang\$haskell\$helm\$java\$julia\$kotlin\$lua\$nim\$nodejs\$ocaml\$perl\$php\$pulumi\$purescript\$python\$raku\$rlang\$red\$ruby\$rust\$scala\$swift\$terraform\$vlang\$vagrant\$zig\$buf\$nix_shell\$conda\$meson\$spack\$memory_usage\$aws\$gcloud\$openstack\$azure\$env_var\$crystal\$custom\$sudo\$cmd_duration\$time\$status\$container\$shell\$character";
|
||||
aws.format = "[\\[$symbol($profile)(\\($region\\))(\\[$duration\\])\\]]($style)";
|
||||
bun.format = "[\\[$symbol($version)\\]]($style)";
|
||||
c.format = "[\\[$symbol($version(-$name))\\]]($style)";
|
||||
cmake.format = "[\\[$symbol($version)\\]]($style)";
|
||||
cmd_duration.format = "[\\[ $duration\\]]($style)";
|
||||
cobol.format = "[\\[$symbol($version)\\]]($style)";
|
||||
conda.format = "[\\[$symbol$environment\\]]($style)";
|
||||
crystal.format = "[\\[$symbol($version)\\]]($style)";
|
||||
daml.format = "[\\[$symbol($version)\\]]($style)";
|
||||
dart.format = "[\\[$symbol($version)\\]]($style)";
|
||||
deno.format = "[\\[$symbol($version)\\]]($style)";
|
||||
docker_context.format = "[\\[$symbol$context\\]]($style)";
|
||||
dotnet.format = "[\\[$symbol($version)(🎯 $tfm)\\]]($style)";
|
||||
elixir.format = "[\\[$symbol($version \\(OTP $otp_version\\))\\]]($style)";
|
||||
elm.format = "[\\[$symbol($version)\\]]($style)";
|
||||
erlang.format = "[\\[$symbol($version)\\]]($style)";
|
||||
gcloud.format = "[\\[$symbol$account(@$domain)(\\($region\\))\\]]($style)";
|
||||
git_branch = {
|
||||
format = "[\\[$symbol$branch:]($style)";
|
||||
style = "bold green";
|
||||
};
|
||||
git_status = {
|
||||
format = "([$all_status$ahead_behind]($style))(bold green)[\\]]($style)";
|
||||
style = "blue yellow";
|
||||
};
|
||||
golang.format = "[\\[$symbol($version)\\]]($style)";
|
||||
haskell.format = "[\\[$symbol($version)\\]]($style)";
|
||||
helm.format = "[\\[$symbol($version)\\]]($style)";
|
||||
hg_branch.format = "[\\[$symbol$branch\\]]($style)";
|
||||
java.format = "[\\[$symbol($version)\\]]($style)";
|
||||
julia.format = "[\\[$symbol($version)\\]]($style)";
|
||||
kotlin.format = "[\\[$symbol($version)\\]]($style)";
|
||||
kubernetes.format = "[\\[$symbol$context( \\($namespace\\))\\]]($style)";
|
||||
lua.format = "[\\[$symbol($version)\\]]($style)";
|
||||
memory_usage.format = "[\\[$symbol[$ram( | $swap)\\]]($style)";
|
||||
meson.format = "[\\[$symbol$project\\]]($style)";
|
||||
nim.format = "[\\[$symbol($version)\\]]($style)";
|
||||
nix_shell.format = "[\\[$symbol$state( \\($name\\))\\]]($style)";
|
||||
nodejs.format = "[\\[$symbol($version)\\]]($style)";
|
||||
ocaml.format = "[\\[$symbol($version)(\\($switch_indicator$switch_name\\))\\]]($style)";
|
||||
openstack.format = "[\\[$symbol$cloud(\\($project\\))\\]]($style)";
|
||||
package.format = "[\\[$symbol$version\\]]($style)";
|
||||
perl.format = "[\\[$symbol($version)\\]]($style)";
|
||||
php.format = "[\\[$symbol($version)\\]]($style)";
|
||||
pulumi.format = "[\\[$symbol$stack\\]]($style)";
|
||||
purescript.format = "[\\[$symbol($version)\\]]($style)";
|
||||
python = {
|
||||
format = ''[\[''${symbol}''${pyenv_prefix}''${version}$virtualenv\]]($style)'';
|
||||
symbol = " ";
|
||||
};
|
||||
raku.format = "[\\[$symbol($version-$vm_version)\\]]($style)";
|
||||
red.format = "[\\[$symbol($version)\\]]($style)";
|
||||
ruby.format = "[\\[$symbol($version)\\]]($style)";
|
||||
rust.format = "[\\[$symbol($version)\\]]($style)";
|
||||
scala.format = "[\\[$symbol($version)\\]]($style)";
|
||||
spack.format = "[\\[$symbol$environment\\]]($style)";
|
||||
sudo.format = "[\\[$symbol]\\]";
|
||||
swift.format = "[\\[$symbol($version)\\]]($style)";
|
||||
terraform.format = "[\\[$symbol$workspace\\]]($style)";
|
||||
time.format = "[\\[$time\\]]($style)";
|
||||
username.format = "[\\[$user\\]]($style)";
|
||||
vagrant.format = "[\\[$symbol($version)\\]]($style)";
|
||||
vlang.format = "[\\[$symbol($version)\\]]($style)";
|
||||
zig.format = "[\\[$symbol($version)\\]]($style)";
|
||||
directory = {
|
||||
format = "[\\[]($style)[$lock_symbol]($lock_style)[$path\\]]($style)";
|
||||
style = "cyan bold";
|
||||
};
|
||||
character = {
|
||||
format = "$symbol";
|
||||
success_symbol = "[\\[\\]](bold white) ";
|
||||
error_symbol = "[\\[\\]](bold red) ";
|
||||
vimcmd_symbol = "[\\[\\]](bold green) ";
|
||||
vimcmd_replace_one_symbol = "[\\[1\\]](bold green) ";
|
||||
vimcmd_replace_symbol = "[\\[R\\]](bold green) ";
|
||||
vimcmd_visual_symbol = "[\\[V\\]](bold green) ";
|
||||
};
|
||||
battery.format = "[\\[$symbol$percentage\\]]($style)";
|
||||
shlvl.format = "[\\[$symbol$shlvl\\]]($style)";
|
||||
singularity.format = "[\\[$symbol\\[$env\\]\\]]($style)";
|
||||
jobs = {
|
||||
format = "[\\[$symbol $number\\]]($style)";
|
||||
number_threshold = 1;
|
||||
};
|
||||
vcsh.format = "[\\[vcsh [$symbol$repo\\]]($style)";
|
||||
hostname = {
|
||||
format = "[\\[$ssh_symbol$hostname\\]]($style)";
|
||||
ssh_symbol = "爵";
|
||||
ssh_only = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
51
home-modules/shell/yazi.nix
Normal file
51
home-modules/shell/yazi.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
|
||||
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
|
||||
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.yazi
|
||||
];
|
||||
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
settings = {
|
||||
manager = {
|
||||
layout = [1 3 4];
|
||||
sort_by = "natural";
|
||||
sort_sensitive = true;
|
||||
sort_reverse = false;
|
||||
sort_dir_first = true;
|
||||
linemode = "size";
|
||||
show_hidden = true;
|
||||
show_symlink = true;
|
||||
};
|
||||
opener = {
|
||||
edit = [
|
||||
{ exec = ''micro "$@"''; desc = "micro"; block = true;}
|
||||
{ exec = ''codium "$@"''; orphan = true;}
|
||||
{ exec = ''nano "$@"''; desc = "nano"; block = true;}
|
||||
{ exec = ''sudo nano "$@"''; desc = "sudo nano"; block = true;}
|
||||
];
|
||||
play = [
|
||||
{ exec = ''mpv "$@"''; }
|
||||
{ exec = ''mediainfo "$1"; echo "Press enter to exit"; read''; block = true; desc = "Show mediainfo";}
|
||||
];
|
||||
archive = [
|
||||
{ exec = ''unar "$1"''; desc = "Extract here"; }
|
||||
];
|
||||
image = [
|
||||
{ exec = ''imv "$@"''; desc = "imv";}
|
||||
{ exec = ''gimp "$@"''; desc = "gimp";}
|
||||
];
|
||||
font = [
|
||||
{ exec = ''fontpreview "$@"''; desc = "fontpreview"; }
|
||||
];
|
||||
document = [
|
||||
{ exec = ''zathura "$@"''; desc = "zathura"; }
|
||||
{ exec = ''firefox "$@"''; desc = "firefox"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user