nix-conf/home/user/shell.nix
2026-01-10 12:46:40 +08:00

80 lines
1.5 KiB
Nix
Executable file

{
lib,
osConfig,
config,
pkgs,
...
}:
let
inherit (lib) mkForce;
remoteRebuld = import ../scripts/remoteRebuild.nix { inherit osConfig config pkgs; };
in
{
imports = [
./shellAlias.nix
];
home.packages = with pkgs; [
# Shell
grc
remoteRebuld
];
programs = {
fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting # Disable greeting
# ==== Prevent Running Everything on GPU ==== #
set -e __NV_PRIME_RENDER_OFFLOAD
set -e __NV_PRIME_RENDER_OFFLOAD_PROVIDER
set -e __GLX_VENDOR_LIBRARY_NAME
set -e __VK_LAYER_NV_optimus
'';
plugins = [
{
name = "grc";
src = pkgs.fishPlugins.grc.src;
}
{
name = "fzf-fish";
src = pkgs.fishPlugins.fzf-fish.src;
}
{
name = "forgit";
src = pkgs.fishPlugins.forgit.src;
}
{
name = "hydro";
src = pkgs.fishPlugins.hydro.src;
}
];
};
bash = {
enable = true;
# Ghostty intergration in nix-shell
bashrcExtra = ''
if [ -n "''${GHOSTTY_RESOURCES_DIR}" ]; then
builtin source "''${GHOSTTY_RESOURCES_DIR}/shell-integration/bash/ghostty.bash"
fi
'';
};
carapace = {
enable = true;
enableFishIntegration = true;
};
starship = {
enable = true;
enableFishIntegration = true;
};
zoxide = {
enable = true;
enableFishIntegration = true;
};
};
}