This script installs base tools and configures the three shells bash, zsh, and fish to provide a consistent prompt.
-
Main features
- provide a consistent prompt (time, active shell, user@host, current directory, Git branch with clean/dirty status, duration of last command if > 250 ms, and non‑zero exit code).
- Detects the package manager (
apt-get,yum,dnf,apk,pacman) and quietly installs tools : - Installs user utilities in
~/binwhen not root (auto-detects architecture x86_64/arm64/arm) : - Installs the Zsh plugin manager
zsh-snapand enables : - Generates configs for
~/.bashrc,~/.zshrc,~/.config/fish/config.fish, and~/.config/nvim/init.vim. - Creates an
~/.aliasfile with useful aliases (ls/llviaezaif present,vi->nvimif present, coloredgrep, etc.). - Optionally updates users’ default shell (prefers
fish, otherwisezsh) when possible. - Supports running as root (configures all users in
/home,root, and/etc/skel) or unprivileged (configures only the current user).
-
Requirements
- Internet access.
- To run without root:
curl,git, andawkmust be available.
-
Usage
- Recommended install (all users, requires sudo/root):
curl -s https://sh.flavien.io/shell.sh | sudo sh - - Local run (from the cloned repo):
sudo ./shell.sh # or for current user only (no sudo; requires curl+git+awk) ./shell.sh
- Recommended install (all users, requires sudo/root):
This script downloads and applies a full customization for an XFCE environment, with optional settings for Sway and tmux when available.
-
Main features
- Fonts: JetBrainsMono with Nerd Font.
- Icons: Sweet-Rainbow and Papirus.
- Cursor: Breeze cursors.
- Theme: Sweet-Dark.
- XFCE: applies configuration files from this repo (
xfce/xconf/*.xml). - tmux: installs
~/.tmux.confiftmuxis available. - Sway: installs
~/.config/sway/configandconfig.d/{keyboard,theme}ifswayis available.
-
Requirements
- Internet access.
- Tools:
wget,curl,unzip,xz.
-
Usage
- For the current user’s home directory:
curl -s https://sh.flavien.io/xfce.sh | sh - - To prepare a
/etc/skelskeleton (useful for future users):sudo ./xfce.sh /etc/skel
- For the current user’s home directory:
Installation script intended to be run from an Arch Linux live environment. It partitions the disk, installs a base system, and sets up a ready-to-use XFCE desktop.
-
What the script does
- GPT partitioning of the target disk with
parted:p1EFI (FAT32, ~500 MiB),p2swap (~4 GiB),p3Btrfs (rest of the disk).
- Creates Btrfs subvolumes
@and@home. - Base install via
pacstrap:base,linux,linux-firmware,grub,efibootmgr,systemd,networkmanager,sudo,pacman,flatpak. - Installs the XFCE environment (panel, apps, plugins, terminal, etc.) +
sway+lightdmand enableslightdm. - Applies XFCE/Tmux/Sway configuration to the skeleton (
/etc/skel) viaxfce.sh, then adjusts the default icon. - French locale by default:
fr_FR.UTF-8, keyboardfr, timezoneEurope/Paris(links andlocale-gen). - Creates a user, adds it to the
sudogroup, sets the password. - Installs shell configuration for everyone via
shell.shinside thechroot. - Adds the
flathubremote (Flatpak) for the created user. - Installs and generates GRUB configuration.
- GPT partitioning of the target disk with
-
Warnings / Requirements
- DANGEROUS: the disk passed as argument will be repartitioned and fully erased (
parted mklabel gpt). Back up your data before running. - To be used on Arch Linux (installation ISO) only.
- Internet connection required.
- DANGEROUS: the disk passed as argument will be repartitioned and fully erased (
-
Usage
- Run from an Arch live session with root privileges and an Internet connection:
# Interactive mode (whiptail dialogs): curl -s https://sh.flavien.io/arch.sh | sh - # Non-interactive mode (4 arguments): # ./arch.sh <HOSTNAME> <DISK> <USERNAME> <PASSWORD> ./arch.sh my-host /dev/sda alice "MyStrongPassword"
- Run from an Arch live session with root privileges and an Internet connection:


