Installation¶
Dependencies¶
- format: Intuitively generate ANSI sequences
Procedure¶
The installation involves moving Fish files from the directories
to the appropriate paths in the host system, depending on the installation type.
Each file in functions/ must be renamed such that each sub-directory's name is prefixed to it such that the file name is parentDir_childDir_file
Function Name
See the function's name in the respective file to obtain the file-name of it (.fish suffixed)
Scope¶
User¶
Automatic: Package Manager¶
Auto-updates via the package manager
Fisher: fisher install Drazape/fish-helpText
Manual¶
Move the directories into your Fish configuration in the home directory (~/.config/fish/):
System¶
Automatic¶
Script (local)¶
This locally installs the program and updates each time it is run
curl -fsSL 'https://raw.githubusercontent.com/Drazape/fish-helpText/main/install.fish' | run0 fish -NP
Package Manager¶
As of now, no distribution package manager is supported.
NixOS¶
A flake with convenient configuration options is planned.
For now, the installation can be worked around (with automatic updates). This method is not supported and may stop working after an update.
Manual Dependency
You'll need to manually install the dependencies
{
inputs = {
fish-helpText = {
type="github"; owner="Drazape"; repo="fish-helpText";
flake = false;
};
…
};
outputs = inputs@{ self, nixpkgs, …, ... }: {
nixosConfigurations."yourHost" = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
…
};
…
};
}
{ inputs, … }: {
…
programs.fish = {
shellInit = ( # Fish subcommand abbreviation (workaround)
builtins.concatStringsSep "\n" ( # (4)!
builtins.map builtins.readFile
(builtins.concatMap
(componentType: (builtins.filter
(baseName: ((builtins.match ".*\.fish$" baseName) == [])) # (3)!
(lib.filesystem.listFilesRecursive (inputs.fish-helpText + ("/"+componentType))))) # (2)!
[ "functions" "completions" ])) # (1)!
) + ''
…
'';
…
};
- The directories to source
- List of files the specified directories
- Filter to only Fish files
- Concatenate each file by separating them with a new line
Manual¶
The files must be moved to the vendor (vendor_*.d) system-wide path
- Package Manager: Normal system path managed by the package manager
- Local: Local directory for non-packaged programs