oh-my-posh setup

This commit is contained in:
foglar 2024-11-11 15:36:39 +01:00
parent b8ca55b940
commit 5d20b1d45a
2 changed files with 154 additions and 26 deletions

View File

@ -1,16 +1,21 @@
{ {
pkgs, pkgs,
lib, lib,
config, config,
... ...
}: }: {
{
options = { options = {
terminal_tools.enable = terminal_tools.enable =
lib.mkEnableOption "enable terminal tools module"; lib.mkEnableOption "enable terminal tools module";
}; };
config = lib.mkIf config.terminal_tools.enable { imports = [
./tools/oh-my-posh.nix
];
config = lib.mkIf config.terminal_tools.enable {
oh-my-posh.enable = lib.mkDefault true;
programs = { programs = {
bat.enable = true; bat.enable = true;
@ -28,30 +33,22 @@
spicetify.enable = true; spicetify.enable = true;
}; };
programs.oh-my-posh = {
enable = true;
enableBashIntegration = true;
#settings = '''';
#useTheme = "catppuccin_mocha";
useTheme = "kali";
};
programs.zoxide = { programs.zoxide = {
enable = true; enable = true;
enableBashIntegration = true; enableBashIntegration = true;
}; };
programs.kitty = { programs.kitty = {
enable = true; enable = true;
font.name = lib.mkDefault "JetBrainsMono Nerd Font"; font.name = lib.mkDefault "JetBrainsMono Nerd Font";
#themeFile = "tokyo_night_night"; #themeFile = "tokyo_night_night";
#themeFile = "Catppuccin-Mocha"; #themeFile = "Catppuccin-Mocha";
settings = { settings = {
font_size = 11.5; font_size = 11.5;
confirm_os_window_close = 0; confirm_os_window_close = 0;
hide_window_decorations = 0; hide_window_decorations = 0;
enable_audio_bell = false; enable_audio_bell = false;
window_padding_width = 25; window_padding_width = 25;
}; };
}; };
@ -65,7 +62,6 @@
figlet figlet
jp2a jp2a
yt-dlp yt-dlp
oh-my-posh
eza eza
nvtopPackages.full nvtopPackages.full
neofetch neofetch
@ -77,4 +73,4 @@
spicetify-cli spicetify-cli
]; ];
}; };
} }

View File

@ -0,0 +1,132 @@
{
lib,
config,
pkgs,
...
}: {
options = {
oh-my-posh.enable = lib.mkEnableOption "enable oh-my-posh";
};
config = lib.mkIf config.oh-my-posh.enable {
programs.oh-my-posh = {
enable = true;
enableBashIntegration = true;
settings = {
"$schema" = "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json";
"blocks" = [
{
"alignment" = "left";
"segments" = [
{
"type" = "session";
"foreground" = "lightBlue";
"foreground_templates" = [
"{{ if .Root }}lightRed{{ end }}"
];
"properties" = {
"display_host" = true;
};
"style" = "plain";
"template" = "<{{ if .Root }}lightBlue{{ else }}green{{ end }}>(</>{{ .UserName }}{{ if .Root }}💀{{ else }}󱄅 {{ end }}{{ .HostName }}<{{ if .Root }}lightBlue{{ else }}green{{ end }}>)</>";
}
{
"type" = "nix-shell";
"style" = "powerline";
"foreground" = "blue";
"background" = "transparent";
"template" = "{{if eq .Type \"impure\" }}[󱄅 nix-shell]{{ end }}";
}
{
"type" = "python";
"foreground" = "yellow";
"properties" = {
"fetch_version" = true;
"fetch_virtual_env" = true;
"display_default" = false;
"display_mode" = "files";
};
"style" = "plain";
"template" = "<{{ if .Root }}lightBlue{{ else }}green{{ end }}>-[</> {{ if .Error }}{{ .Error }}{{ else }}{{ if .Venv }}{{ .Venv }}{{ end }}{{ .Full }}{{ end }}<{{ if .Root }}lightBlue{{ else }}green{{ end }}>]</>";
}
{
"type" = "go";
"style" = "powerline";
"powerline_symbol" = "";
"foreground" = "#7FD5EA";
"display_mode" = "files";
"fetch_version" = false;
"template" = "<{{ if .Root }}lightBlue{{ else }}green{{ end }}>-[</> {{ if .Error }}{{ .Error }}{{ else }}OS:{{if eq .Env.GOOS \"linux\"}}󰌽{{else if eq .Env.GOOS \"windows\"}}{{else}}{{.Env.GOOS}}{{end}} ARCH:{{.Env.GOARCH}}{{ end }}<{{ if .Root }}lightBlue{{ else }}green{{ end }}>]</>";
}
{
"type" = "path";
"foreground" = "lightWhite";
"properties" = {
"folder_separator_icon" = "<#c0c0c0>/</>";
"style" = "full";
};
"style" = "plain";
"template" = "<{{ if .Root }}lightBlue{{ else }}green{{ end }}>-[</>{{if eq .Folder \"foglar\"}}~{{else}}{{ .Folder }}{{end}}<{{ if .Root }}lightBlue{{ else }}green{{ end }}>]</>";
}
{
"type" = "git";
"foreground" = "white";
"style" = "plain";
"template" = "<{{ if .Root }}lightBlue{{ else }}green{{ end }}>-[</>{{ .HEAD }}<{{ if .Root }}lightBlue{{ else }}green{{ end }}>]</>";
}
];
"type" = "prompt";
}
{
"alignment" = "right";
"segment" = [
{
"type" = "executiontime";
"foreground" = "white";
"properties" = {
"always_enabled" = true;
"style" = "round";
};
"style" = "plain";
"template" = " {{ .FormattedMs }} ";
}
{
"type" = "status";
"foreground" = "green";
"foreground_templates" = [
"{{ if gt .Code 0 }}red{{ end }}"
];
"properties" = {
"always_enabled" = true;
};
"style" = "plain";
"template" = " {{ if gt .Code 0 }}{{.Code}}{{else}}\ueab2{{ end }} ";
}
];
"type" = "prompt";
}
{
"alignment" = "left";
"newline" = true;
"segments" = [
{
"type" = "text";
"foreground" = "lightBlue";
"style" = "plain";
"template" = "<{{ if .Root }}lightBlue{{ else }}green{{ end }}></>{{ if .Root }}<lightRed>#</>{{ else }}\${{ end }} ";
}
];
"type" = "prompt";
}
];
"version" = 2;
};
#useTheme = "catppuccin_mocha";
useTheme = "kali";
};
home.packages = with pkgs; [
oh-my-posh
];
};
}