diff --git a/user/fish.nix b/user/fish.nix index 96fa27f..d5c4ec4 100644 --- a/user/fish.nix +++ b/user/fish.nix @@ -7,7 +7,6 @@ in { interactiveShellInit = '' set -g __accent_color "${accent.color}" alias _fish_prompt_accent "_fish_prompt_color '$__accent_color'" - fzf_key_bindings set_color red if not test -d "$HOME/.password-store/" echo "Password Store not yet setup" @@ -52,7 +51,6 @@ in { }; programs.zoxide.enable = true; programs.direnv.enable = true; - programs.fzf.enable = true; home.file = { ".config/fish/conf.d/prompt.fish".source = ./fish_prompt.fish; }; diff --git a/user/fzf.nix b/user/fzf.nix new file mode 100644 index 0000000..8311c73 --- /dev/null +++ b/user/fzf.nix @@ -0,0 +1,34 @@ +{ config, pkgs, lib, inputs, ... }: +let inherit (import ./variables.nix) key theme color accent font; + + colors = { + "bg+" = color.bg_light; + "hl+" = color.normal.green; + gutter = color.bg; + prompt = accent.color; + pointer = accent.color; + spinner = accent.color; + }; + makeKeyValue = (k: v: "${k}:${v}"); + makeOptList = lib.mapAttrsToList makeKeyValue colors; + makeColorValue = lib.strings.concatStringsSep "," makeOptList; + color_opts = "--color=${makeColorValue}"; + preview_opts = + "--preview '${pkgs.bat}/bin/bat --style=numbers --color=always {}'"; + +in { + programs.fzf = { + enable = true; + + fileWidgetCommand = "${pkgs.fd}/bin/fd --type f"; + fileWidgetOptions = [ "--preview '${pkgs.bat}/bin/bat --style=numbers --color=always {}'" ]; + + changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d"; + changeDirWidgetOptions = [ "--preview '${pkgs.exa}/bin/exa -T L3 | head -200'" ]; + + defaultOptions = [ + color_opts + preview_opts + ]; + }; +} diff --git a/user/home.nix b/user/home.nix index c7728ae..af04bd6 100644 --- a/user/home.nix +++ b/user/home.nix @@ -22,6 +22,7 @@ in { ./chat.nix ./syncthing.nix ./bmenu.nix + ./fzf.nix inputs.hyprland.homeManagerModules.default ]; # Home Manager needs a bit of information about you and the @@ -125,22 +126,6 @@ in { QT_QPA_PLATFORMTHEME = "gtk3"; VOLUME_CHANGE_SOUND = "${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/audio-volume-change.oga"; - FZF_DEFAULT_OPTS = let - colors = { - "bg+" = color.bg_light; - "hl+" = color.normal.green; - gutter = color.bg; - prompt = accent.color; - pointer = accent.color; - spinner = accent.color; - }; - makeKeyValue = (k: v: "${k}:${v}"); - makeOptList = lib.mapAttrsToList makeKeyValue colors; - makeColorValue = lib.strings.concatStringsSep "," makeOptList; - color_opts = "--color=${makeColorValue}"; - preview_opts = - "--preview '${pkgs.bat}/bin/bat --style=numbers --color=always {}'"; - in "${preview_opts} ${color_opts}"; }; programs.bash = { enable = true; };