From 32403d2a2a838ff980734725d56f8e43c2b3b47f Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Fri, 25 Oct 2024 14:41:43 +0200 Subject: [PATCH] modules/shell: init --- modules/shell/config.fish | 0 modules/shell/fishinit.nix | 25 +++++++++++++++++++++++++ modules/shell/module.nix | 12 ++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 modules/shell/config.fish create mode 100644 modules/shell/fishinit.nix create mode 100644 modules/shell/module.nix diff --git a/modules/shell/config.fish b/modules/shell/config.fish new file mode 100644 index 0000000..e69de29 diff --git a/modules/shell/fishinit.nix b/modules/shell/fishinit.nix new file mode 100644 index 0000000..821d510 --- /dev/null +++ b/modules/shell/fishinit.nix @@ -0,0 +1,25 @@ +{ + pkgs, + aliasesStr, +}: +pkgs.writeShellScriptBin "config.fish" '' + + # source ${pkgs.fishPlugins.sponge}/share/zsh-defer/zsh-defer.plugin.zsh + ${pkgs.atuin}/bin/atuin init fish | source + ${pkgs.zoxide}/bin/zoxide init fish | source + + source ${./starship.fish} + source ${./zoxide.fish} + + source ${./config.fish} + + zsh-defer source ${pkgs.zsh-fast-syntax-highlighting}/share/zsh/site-functions/fast-syntax-highlighting.plugin.zsh + zsh-defer source ${pkgs.zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh + zsh-defer source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh + zsh-defer source ${pkgs.zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh + zsh-defer source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh + zsh-defer source ${pkgs.zsh-autopair}/share/zsh/zsh-autopair/autopair.zsh + + + ${aliasesStr} +'' diff --git a/modules/shell/module.nix b/modules/shell/module.nix new file mode 100644 index 0000000..8533e81 --- /dev/null +++ b/modules/shell/module.nix @@ -0,0 +1,12 @@ +# This shell setup was inspired by sioodmy. Check out his setup! +{pkgs, ...}: let + toml = pkgs.formats.toml {}; + starship-config = import ./starship.nix; +in (pkgs.symlinkJoin { + name = "fish-wrapped"; + paths = [pkgs.fish pkgs.starship pkgs.fzf]; + buildInputs = [pkgs.makeWrapper]; + postBuild = '' + wrapProgram $out/bin/fish --set STARSHIP_CONFIG "${toml.generate "starship.toml" starship-config}" \ + ''; +})