From f3fe568d7ad5b3cdefa782359d5bff3893cf6910 Mon Sep 17 00:00:00 2001 From: Nathan Date: Thu, 28 Aug 2025 15:57:34 -0500 Subject: [PATCH] separate ohmyposh from zsh --- home-manager/programs/terminal/default.nix | 1 + .../programs/terminal/ohmyposh/default.nix | 132 ++++++++++++++++++ .../programs/terminal/zsh/default.nix | 127 ----------------- .../users/nathan/dotfiles/default.nix | 9 +- 4 files changed, 137 insertions(+), 132 deletions(-) create mode 100644 home-manager/programs/terminal/ohmyposh/default.nix diff --git a/home-manager/programs/terminal/default.nix b/home-manager/programs/terminal/default.nix index 9cdc996..0aefcad 100644 --- a/home-manager/programs/terminal/default.nix +++ b/home-manager/programs/terminal/default.nix @@ -10,5 +10,6 @@ ./zoxide ./zsh ./ssh + ./ohmyposh ]; } diff --git a/home-manager/programs/terminal/ohmyposh/default.nix b/home-manager/programs/terminal/ohmyposh/default.nix new file mode 100644 index 0000000..29d49be --- /dev/null +++ b/home-manager/programs/terminal/ohmyposh/default.nix @@ -0,0 +1,132 @@ +{ config, lib, pkgs, ... }: { + + home.packages = with pkgs; [ + oh-my-posh + ]; + + programs.zsh = { + + initContent = if config.homeconfig.wal.enable then (lib.mkBefore '' + cat ${config.home.homeDirectory}/.cache/wal/sequences + eval "$(oh-my-posh init zsh --config ${config.home.homeDirectory}/.cache/wal/ohmyposh.toml)" + '') else (lib.mkBefore '' + eval "$(oh-my-posh init zsh --config ${config.home.homeDirectory}/.config/ohmyposh/ohmyposh.toml)" + ''); + + }; + + home.file.".config/wal/templates/ohmyposh.toml".text = '' +#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json + +version = 2 +final_space = true +console_title_template = '{{{{ .Shell }}}} in {{{{ .Folder }}}}' + +[[blocks]] + type = 'prompt' + alignment = 'left' + newline = true + + [[blocks.segments]] + type = 'os' + style = 'diamond' + trailing_diamond = '' + background = 'p:c1' + foreground = 'p:c12' + template = ' {{{{ .Icon }}}} ' + + [[blocks.segments]] + type = 'session' + style = 'diamond' + trailing_diamond = '' + background = 'p:c2' + foreground = 'p:c14' + template = '{{{{ .UserName }}}}@{{{{ .HostName }}}}' + + [[blocks.segments]] + type = 'path' + style = 'diamond' + trailing_diamond = '' + background = 'p:c4' + foreground = 'p:c13' + template = '{{{{ .Path }}}}' + + [blocks.segments.properties] + style = 'full' + +[[blocks]] + type = 'prompt' + overflow = 'hidden' + alignment = 'right' + + [[blocks.segments]] + type = 'executiontime' + style = 'diamond' + leading_diamond = '' + background = 'p:c4' + foreground = 'p:c13' + template = '{{{{ .FormattedMs }}}}' + + [[blocks.segments]] + type = 'time' + style = 'diamond' + leading_diamond = '' + background = 'p:c2' + foreground = 'p:c14' + + [[blocks.segments]] + type = 'shell' + style = 'diamond' + leading_diamond = '' + background = 'p:c1' + foreground = 'p:c12' + +[[blocks]] + type = 'prompt' + alignment = 'left' + newline = true + + [[blocks.segments]] + type = 'text' + style = 'plain' + background = 'transparent' + foreground_templates = [ + "{{{{ if gt .Code 0 }}}}p:c13{{{{end}}}}", + "{{{{ if eq .Code 0 }}}}p:c14{{{{end}}}}", + ] + template = "{{{{ if gt .Code 0 }}}}!❭ {{{{else}}}}❭ {{{{end}}}}" + +[transient_prompt] + foreground_templates = [ + "{{{{ if gt .Code 0 }}}}p:c13{{{{end}}}}", + "{{{{ if eq .Code 0 }}}}p:c14{{{{end}}}}", + ] + background = 'transparent' + template = "{{{{ if gt .Code 0 }}}}!❭ {{{{else}}}}❭ {{{{end}}}}" + +[secondary_prompt] + background = 'transparent' + forground = 'p:c14' + template = "❭❭ " + + +[palette] + +c0 = "{color0}" +c1 = "{color1}" +c2 = "{color2}" +c3 = "{color3}" +c4 = "{color4}" +c5 = "{color5}" +c6 = "{color6}" +c7 = "{color7}" +c8 = "{color8}" +c9 = "{color9}" +c10 = "{color10}" +c11 = "{color11}" +c12 = "{color12}" +c13 = "{color13}" +c14 = "{color14}" +c15 = "{color15}" + ''; +} diff --git a/home-manager/programs/terminal/zsh/default.nix b/home-manager/programs/terminal/zsh/default.nix index f36e8dd..be18b6a 100644 --- a/home-manager/programs/terminal/zsh/default.nix +++ b/home-manager/programs/terminal/zsh/default.nix @@ -1,9 +1,5 @@ { config, lib, pkgs, ... }: { - home.packages = with pkgs; [ - oh-my-posh - ]; - programs.zsh = { enable = true; @@ -33,128 +29,5 @@ ignoreSpace = true; share = true; }; - - initContent = if config.homeconfig.wal.enable then (lib.mkBefore '' - cat ${config.home.homeDirectory}/.cache/wal/sequences - eval "$(oh-my-posh init zsh --config ${config.home.homeDirectory}/.cache/wal/ohmyposh.toml)" - '') else (lib.mkBefore '' - eval "$(oh-my-posh init zsh --config ${config.home.homeDirectory}/.config/ohmyposh/ohmyposh.toml)" - ''); - }; - - home.file.".config/wal/templates/ohmyposh.toml".text = '' -#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json - -version = 2 -final_space = true -console_title_template = '{{{{ .Shell }}}} in {{{{ .Folder }}}}' - -[[blocks]] - type = 'prompt' - alignment = 'left' - newline = true - - [[blocks.segments]] - type = 'os' - style = 'diamond' - trailing_diamond = '' - background = 'p:c1' - foreground = 'p:c12' - template = ' {{{{ .Icon }}}} ' - - [[blocks.segments]] - type = 'session' - style = 'diamond' - trailing_diamond = '' - background = 'p:c2' - foreground = 'p:c14' - template = '{{{{ .UserName }}}}@{{{{ .HostName }}}}' - - [[blocks.segments]] - type = 'path' - style = 'diamond' - trailing_diamond = '' - background = 'p:c4' - foreground = 'p:c13' - template = '{{{{ .Path }}}}' - - [blocks.segments.properties] - style = 'full' - -[[blocks]] - type = 'prompt' - overflow = 'hidden' - alignment = 'right' - - [[blocks.segments]] - type = 'executiontime' - style = 'diamond' - leading_diamond = '' - background = 'p:c4' - foreground = 'p:c13' - template = '{{{{ .FormattedMs }}}}' - - [[blocks.segments]] - type = 'time' - style = 'diamond' - leading_diamond = '' - background = 'p:c2' - foreground = 'p:c14' - - [[blocks.segments]] - type = 'shell' - style = 'diamond' - leading_diamond = '' - background = 'p:c1' - foreground = 'p:c12' - -[[blocks]] - type = 'prompt' - alignment = 'left' - newline = true - - [[blocks.segments]] - type = 'text' - style = 'plain' - background = 'transparent' - foreground_templates = [ - "{{{{ if gt .Code 0 }}}}p:c13{{{{end}}}}", - "{{{{ if eq .Code 0 }}}}p:c14{{{{end}}}}", - ] - template = "{{{{ if gt .Code 0 }}}}!❭ {{{{else}}}}❭ {{{{end}}}}" - -[transient_prompt] - foreground_templates = [ - "{{{{ if gt .Code 0 }}}}p:c13{{{{end}}}}", - "{{{{ if eq .Code 0 }}}}p:c14{{{{end}}}}", - ] - background = 'transparent' - template = "{{{{ if gt .Code 0 }}}}!❭ {{{{else}}}}❭ {{{{end}}}}" - -[secondary_prompt] - background = 'transparent' - forground = 'p:c14' - template = "❭❭ " - - -[palette] - -c0 = "{color0}" -c1 = "{color1}" -c2 = "{color2}" -c3 = "{color3}" -c4 = "{color4}" -c5 = "{color5}" -c6 = "{color6}" -c7 = "{color7}" -c8 = "{color8}" -c9 = "{color9}" -c10 = "{color10}" -c11 = "{color11}" -c12 = "{color12}" -c13 = "{color13}" -c14 = "{color14}" -c15 = "{color15}" - ''; } diff --git a/home-manager/users/nathan/dotfiles/default.nix b/home-manager/users/nathan/dotfiles/default.nix index 04a0094..c4857e4 100644 --- a/home-manager/users/nathan/dotfiles/default.nix +++ b/home-manager/users/nathan/dotfiles/default.nix @@ -1,12 +1,11 @@ { config, lib, ... }: { home.file = { - ".config/hypr" = { source = ./hypr; recursive = true; }; - ".config/hyprpanel" = { source = ./hyprpanel; recursive = true; }; - ".config/swaylock" = { source = ./swaylock; recursive = true; }; - ".config/wal/templates" = { source = ./wal/templates; recursive = true; }; + ".config/hypr" = lib.mkIf config.homeconfig.hyprland.enable { source = ./hypr; recursive = true; }; + ".config/hyprpanel" = lib.mkIf config.homeconfig.hyprpanel.enable { source = ./hyprpanel; recursive = true; }; + ".config/wal/templates" = lib.mkIf config.homeconfig.wal.enable { source = ./wal/templates; recursive = true; }; ".config/ohmyposh" = { source = ./ohmyposh; recursive = true; }; - "Pictures/Wallpaper" = { source = ./Wallpaper; recursive = true; }; + "Pictures/Wallpaper" = lib.mkIf config.homeconfig.graphical { source = ./Wallpaper; recursive = true; }; }; }