fix on setting the proper completions and sets the shell

This commit is contained in:
alsaiduq-lab 2025-03-14 06:17:35 -06:00
parent fbab7ca2a2
commit e92cd95bd6
2 changed files with 23 additions and 13 deletions

View file

@ -1,12 +1,13 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let let
fish-rust = pkgs.callPackage ../pkgs/fish-rust { }; fish-rust = pkgs.callPackage ../pkgs/fish-rust { };
in in
{ {
programs.fish.enable = true; programs.fish = {
enable = true;
package = fish-rust;
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
fish-rust
starship starship
fzf fzf
bat bat
@ -14,4 +15,5 @@ in
fd fd
ripgrep ripgrep
]; ];
users.users.cobray.shell = lib.mkForce fish-rust;
} }

View file

@ -1,16 +1,13 @@
{ lib, rustPlatform, fetchgit, pkg-config, cmake, ncurses, sphinx }: { lib, rustPlatform, fetchgit, ncurses, sphinx, python3 }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "fish"; pname = "fish";
version = "unstable-2025-03-14"; version = "4.1-2025-03-14";
src = fetchgit { src = fetchgit {
url = "https://github.com/fish-shell/fish-shell.git"; url = "https://github.com/fish-shell/fish-shell.git";
rev = "refs/heads/master"; rev = "refs/heads/master";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "18zpwa3yddic6wdwj7g51w6n4apwsixfvl179yddk2nwfpxhv4hq"; sha256 = "18zpwa3yddic6wdwj7g51w6n4apwsixfvl179yddk2nwfpxhv4hq";
}; };
cargoLock = { cargoLock = {
lockFile = "${src}/Cargo.lock"; lockFile = "${src}/Cargo.lock";
outputHashes = { outputHashes = {
@ -18,21 +15,32 @@ rustPlatform.buildRustPackage rec {
"pcre2-sys-0.2.9" = "0mhjw7fvrzxb3fd0c534a17qgy6svz0z8269d2fs6q8aw11610mr"; "pcre2-sys-0.2.9" = "0mhjw7fvrzxb3fd0c534a17qgy6svz0z8269d2fs6q8aw11610mr";
}; };
}; };
nativeBuildInputs = [ pkg-config cmake sphinx ];
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];
nativeBuildInputs = [ sphinx python3 ];
preBuild = '' preBuild = ''
export FISH_BUILD_VERSION="${version}" export FISH_BUILD_VERSION="${version}"
export FISH_BUILD_DOCS=1 export FISH_BUILD_DOCS=1
''; '';
postInstall = ''
export HOME=$(mktemp -d)
mkdir -p $HOME/.local/share/fish/install
$out/bin/fish --install
mkdir -p $out/share/fish
cp -r $HOME/.local/share/fish/install/* $out/share/fish/ 2>/dev/null || true
mkdir -p $out/share/fish/tools
cp $src/share/tools/create_manpage_completions.py $out/share/fish/tools/
cp $src/share/tools/deroff.py $out/share/fish/tools/
chmod +x $out/share/fish/tools/create_manpage_completions.py
chmod +x $out/share/fish/tools/deroff.py
rm -rf $HOME
'';
doCheck = false; doCheck = false;
meta = with lib; { meta = with lib; {
description = "The user-friendly command line shell (Rust version)"; description = "The user-friendly command line shell (Rust version)";
homepage = "https://fishshell.com/"; homepage = "https://fishshell.com/";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.unix; platforms = platforms.unix;
mainProgram = "fish";
}; };
passthru.shellPath = "/bin/fish";
} }