Improving shell

This commit is contained in:
2025-10-13 18:29:23 +02:00
parent 3df4363583
commit e1d128f28a
11 changed files with 181 additions and 89 deletions

View File

@@ -18,17 +18,15 @@
};
};
programs = {
starship.enable = true;
bash = {
zsh = {
promptInit = ''
[[ "$TERM" == "xterm-kitty" ]] && export TERM="xterm-256color"
[[ -f ${pkgs.nitch}/bin/nitch ]] && nitch
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
hyprland --config /etc/xdg/hypr/hyprland.conf
fi
'';
};
starship.enable = true;
};
}

View File

@@ -30,5 +30,7 @@
pkgs.nerd-fonts.comic-shanns-mono
pkgs.nerd-fonts.roboto-mono
pkgs.nerd-fonts.caskaydia-cove
pkgs.nerd-fonts.jetbrains-mono
pkgs.nerd-fonts.fira-code
];
}

View File

@@ -3,14 +3,87 @@
...
}:
{
environment.sessionVariables = {
KUBECONFIG = "$HOME/.kube/config";
};
programs.starship = {
enable = true;
settings = {
add_newline = true;
command_timeout = 1300;
scan_timeout = 50;
format = "$hostname$username$directory[](bg:pink fg:green)$nix_shell$git_branch$git_status[ ](bg:pink)[](fg:pink)$line_break$character";
format = "[](fg:surface1)$hostname$username$directory$git_branch$git_status[](fg:base bg:sky)$fill$kubernetes$time[ ](fg:surface1)$line_break[ ](fg:surface1)";
right_format = "[](fg:surface1)";
palette = "catppuccin_frappe";
hostname = {
ssh_only = false;
format = "[](bg:base fg:mauve)[ $hostname ](bg:mauve fg:base)[](bg:mauve fg:blue)";
disabled = false;
};
username = {
style_user = "bg:blue fg:base";
style_root = "bg:red fg:base bold";
format = "[ $user ]($style)[](bg:blue fg:sapphire)";
show_always = true;
disabled = false;
};
directory = {
format = "[ $path ](bg:sapphire fg:base)[](bg:sapphire fg:sky)";
truncation_length = 3;
truncation_symbol = "/";
};
directory.substitutions = {
Documents = "󰈙 Documents";
Downloads = " Downloads";
Music = "󰝚 Music";
Pictures = " Pictures";
Developer = "󰲋 Developer";
};
git_branch = {
symbol = " ";
format = "[ $symbol$branch(:$remote_branch) ](fg:base bg:sky)";
disabled = false;
};
git_status = {
format = "([$all_status$ahead_behind ](fg:base bg:sky))";
conflicted = "😵";
ahead = "";
behind = "";
diverged = "😵";
up_to_date = "";
untracked = "";
stashed = "📦";
modified = "";
#staged = "[($count)](fg:base bg:sapphire)"
staged = "";
renamed = "";
deleted = "";
disabled = false;
};
kubernetes = {
disabled = false;
format = "[](fg:blue bg:base)[ ($namespace)/($cluster) ](fg:base bg:blue)[](bg:blue fg:mauve)";
};
time = {
disabled = false;
format = "[ $time ](fg:base bg:mauve)";
time_format = "%R";
utc_time_offset = "2";
};
fill = {
symbol = "";
style = "surface1";
};
palettes.catppuccin_frappe = {
rosewater = "#f2d5cf";
flamingo = "#eebebe";
@@ -39,75 +112,6 @@
mantle = "#292c3c";
crust = "#232634";
};
hostname = {
ssh_only = false;
ssh_symbol = "󰣀";
format = "(bg:blue fg:base)[ $ssh_symbol $hostname ](bg:blue fg:base)[](bg:teal fg:blue)";
trim_at = "companyname.com";
disabled = false;
};
username = {
show_always = true;
style_user = "bg:teal fg:base";
style_root = "bg:red fg:base";
format = "[ $user ]($style)[](bg:green fg:teal)";
};
directory = {
style = "bg:green fg:base";
format = "[ $path ]($style)";
truncation_length = 3;
truncation_symbol = "/";
};
nix_shell = {
disabled = false;
impure_msg = "[impure shell](bold red)";
pure_msg = "[pure shell](bold green)";
unknown_msg = "[unknown shell](bold yellow)";
format = "[ ($name)](bold bg:pink fg:base)";
};
directory.substitutions = {
Documents = "󰈙 ";
Downloads = " Downloads";
Music = "󰝚 ";
Pictures = " ";
Developer = "󰲋 ";
};
git_branch = {
symbol = "";
style = "bg: pink";
format = "[[ $symbol $branch ](bg:pink fg:base)]($style)";
};
git_status = {
style = "bg:pink fg:base";
format = "([$modified$untracked$ahead_behind]($style))";
ahead = "";
behind = "";
modified = "";
untracked = "";
up_to_date = "";
};
line_break = {
disabled = false;
};
character = {
disabled = false;
success_symbol = "[](bold fg:green)";
error_symbol = "[](bold fg:red)";
vimcmd_symbol = "[](bold fg:creen)";
vimcmd_replace_one_symbol = "[](bold fg:purple)";
vimcmd_replace_symbol = "[](bold fg:purple)";
vimcmd_visual_symbol = "[](bold fg:lavender)";
};
};
};
}

View File

@@ -7,6 +7,7 @@
imports = [
../ai.nix
../autologin.nix
../k8s.nix
../openfortivpn.nix
../packages.nix
../sops-desktop.nix

View File

@@ -5,6 +5,7 @@
{
imports = [
../autologin.nix
../k8s.nix
../openfortivpn.nix
../packages.nix
../sops-desktop.nix

View File

@@ -0,0 +1,22 @@
{
pkgs,
...
}:
{
environment.systemPackages = [
pkgs.kubectl
pkgs.kubernetes-helm
pkgs.k9s # Interface TUI pour Kubernetes
pkgs.kubectx # Changement rapide de contexte
pkgs.kustomize
];
programs.zsh.promptInit = ''
# kubectl
source <(kubectl completion zsh)
alias k=kubectl
alias h=helm
alias kn=kubens
compdef __start_kubectl k
compdef __start_helm h
'';
}