summaryrefslogtreecommitdiff
path: root/users/seth/programs
diff options
context:
space:
mode:
authorSeth Flynn <[email protected]>2025-02-03 21:28:29 -0500
committerSeth Flynn <[email protected]>2025-02-03 21:28:29 -0500
commit957e95b11ef066694b266edb4e4ed4db698547d7 (patch)
treee32e5d6f57b1c4dee233d498752ea9caf79d8a7d /users/seth/programs
parentc43746545c4cdc4a04e32a198d971f34dca88f20 (diff)
seth/fish: use hydro for prompt
Diffstat (limited to 'users/seth/programs')
-rw-r--r--users/seth/programs/default.nix2
-rw-r--r--users/seth/programs/fish.nix (renamed from users/seth/programs/fish/default.nix)20
-rw-r--r--users/seth/programs/fish/fish_prompt.fish44
3 files changed, 20 insertions, 46 deletions
diff --git a/users/seth/programs/default.nix b/users/seth/programs/default.nix
index cb27960..6b1c337 100644
--- a/users/seth/programs/default.nix
+++ b/users/seth/programs/default.nix
@@ -12,7 +12,7 @@
./bash.nix
./chromium.nix
./firefox
- ./fish
+ ./fish.nix
./gh.nix
./git.nix
./gpg.nix
diff --git a/users/seth/programs/fish/default.nix b/users/seth/programs/fish.nix
index 84b9370..e5f7a23 100644
--- a/users/seth/programs/fish/default.nix
+++ b/users/seth/programs/fish.nix
@@ -1,6 +1,7 @@
{
config,
lib,
+ pkgs,
...
}:
let
@@ -9,6 +10,9 @@ in
{
options.seth.programs.fish = {
enable = lib.mkEnableOption "Fish configuration";
+ hydro.enable = lib.mkEnableOption "Hydra prompt" // {
+ default = true;
+ };
};
config = lib.mkIf cfg.enable (
@@ -19,7 +23,6 @@ in
functions = {
last_history_item.body = "echo $history[1]";
- fish_prompt = lib.readFile ./fish_prompt.fish;
};
shellAbbrs = {
@@ -32,6 +35,21 @@ in
};
}
+ (lib.mkIf cfg.hydro.enable {
+ programs.fish = {
+ interactiveShellInit = ''
+ set --global hydro_symbol_prompt ">"
+ '';
+
+ plugins = [
+ {
+ name = "hydro";
+ inherit (pkgs.fishPlugins.hydro) src;
+ }
+ ];
+ };
+ })
+
# TODO: do i still need this weird sourcing?
(lib.mkIf config.seth.standalone.enable {
programs.fish = {
diff --git a/users/seth/programs/fish/fish_prompt.fish b/users/seth/programs/fish/fish_prompt.fish
deleted file mode 100644
index 5bee872..0000000
--- a/users/seth/programs/fish/fish_prompt.fish
+++ /dev/null
@@ -1,44 +0,0 @@
-# SPDX-SnippetCopyrightText: Lily Ballard
-#
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# https://github.com/fish-shell/fish-shell/blob/b570c7f6a6a6b9c5c6638d5bc86943342f7d5b5a/share/functions/fish_prompt.fish
-
-function fish_prompt --description 'Write out the prompt'
- set -l last_pipestatus $pipestatus
- set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
- set -l normal (set_color normal)
- set -q fish_color_status
- or set -g fish_color_status red
-
- # Color the prompt differently when we're root
- set -l color_cwd $fish_color_cwd
- set -l suffix '>'
- if functions -q fish_is_root_user; and fish_is_root_user
- if set -q fish_color_cwd_root
- set color_cwd $fish_color_cwd_root
- end
- set suffix '#'
- end
-
- # Write pipestatus
- # If the status was carried over (if no command is issued or if `set` leaves the status untouched), don't bold it.
- set -l bold_flag --bold
- set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation
- if test $__fish_prompt_status_generation = $status_generation
- set bold_flag
- end
- set __fish_prompt_status_generation $status_generation
- set -l status_color (set_color $fish_color_status)
- set -l statusb_color (set_color $bold_flag $fish_color_status)
- set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
-
- set -l snowflake '❄️'
- set -l nix_shell_info (
- if test -n "$IN_NIX_SHELL"
- echo -n -s $snowflake" "
- end
- )
-
- echo -n -s (prompt_login)' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " " $nix_shell_info $prompt_status $suffix " "
-end