alvinlollo 99d94ab615 Fix fish.sh prerequisites, fisher install, and CWD-dependent paths
- prerequisite condition tested fish (was inverted: 'zsh missing and
  git/curl/fzf present', so fish was never installed on a working machine)
- run fisher bootstrap inside fish via 'fish -c' (was: 'curl | source' in
  bash, which always failed with 'filename argument required')
- download fisher.fish with curl -fsSL to a temp file first (fail on HTTP error)
- resolve configs/ via BASH_SOURCE; when piped (curl | bash) fall back to
  the end-4 clone instead of failing on relative paths from an arbitrary CWD
- clone dots-hyprland into mktemp -d, never into the caller's CWD; git -C
  style usage so a failed pull can't strand the script's working directory
- set -euo pipefail from the top with a guarded/unguarded audit
- warn visibly that end-4 still runs with --force --skip-backup (kept per decision)
- mkdir -p before config copies; tty-guarded fish warning; ${1:-}
2026-10-08 14:06:51 +11:00
2026-10-05 22:14:44 +11:00

Single-install-script

This script automatically installs my favourite Linux applications I use every day such as: Docker, zsh, oh-my-zsh and neovim. This uses the shelly-cli package manager. You can choose what sections to install with the gum menu.

This script will automatically install shelly-cli if it is not already present.

Most of this script is intended for Arch Linux with some Debian compatibility on the zsh, bat and LazyVim install scripts.

It also installs custom configuration for zsh and it's plugins.

If you don't like the configurations fork this and edit to you liking.

Please consider staring this project. It helps me see how important this is for everyone.

Usage

Warning: Run this script with bash, not fish (or another shell). It uses bash-only syntax and will fail if run under fish. Keep bash in the commands below — do not replace it with fish or source the script. If fish is your default shell, a warning (a gum confirm dialog if gum is installed, otherwise a text prompt) will remind you before anything is installed.

To use this script paste the following in the Terminal:

curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/install.sh | bash

For installing zsh and themes (also works on Debian based systems):

curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/zsh.sh | bash

Zsh configuration

My Zsh configuration includes the following plugins run through oh-my-zsh: git, zsh-history-substring-search, zsh-autosuggestions, zsh-autocomplete, fzf-zsh-plugin and zsh-syntax-highlighting

Running the update function will update all your package managers if the command exists without confirmation. (Please use shelly-cli if you are on Arch Linux)

Using the key bind ALT + S will add the sudo command before your previously run command e.g.

╭─alvin@Alvin ~
╰─➤  nano /etc/fstab
# Pressed CTRL + U
╭─alvin@Alvin ~
╰─➤  sudo !!
╭─alvin@Alvin ~
╰─➤  sudo nano /etc/fstab

If you have any issues please add one in the issues tab.

S
Description
No description provided
Readme GPL-2.0
587 KiB
Languages
Shell 95.5%
Lua 4.5%