To install end4-pC, you need End 4 (illogical-impulse) already installed and running. Then clone pctrade's repo into ~/.config/quickshell and start it with qs -c end4-pC. It runs alongside your End 4 setup without overwriting it. Below I'll cover the install, making it your default shell, the settings keybind, community presets, NixOS, and how to switch back.
Welcome back to MusaBase! In my End 4 Hyprland Dotfiles guide, we installed End 4's illogical-impulse on Arch Linux. Today we're adding end4-pC on top of it: a personal fork of the illogical-impulse shell by developer pctrade, with Material Design 3 styling, synced lyrics, online wallpapers, desktop widgets, a configurable bar, and a community gallery where you can try other people's whole desktop setups with one click.
In this guide, we will cover:
- What end4-pC adds on top of End 4
- Installing and launching end4-pC on Arch Linux
- Making end4-pC your default shell, the update-friendly way
- Adding the settings keybind
- Using community presets
- Running end4-pC on NixOS
- Updating, switching back to illogical-impulse, and uninstalling
⚡ TL;DR: Install end4-pC on End 4 Hyprland
A quick reference for installing pctrade's end4-pC on top of a working End 4 (illogical-impulse) setup, making it your default shell, and using presets.
- Make sure End 4 is installed and running. If it isn't, follow my End 4 on Arch Linux guide first.
-
Clone end4-pC and launch it:
cd ~/.config/quickshell/ git clone https://github.com/pctrade/end4-pC.git killall qs 2>/dev/null; qs -c end4-pC > /dev/null 2>&1 & disown -
Make it the default: add this line to
~/.config/hypr/custom/variables.lua, then log out and back in:hl.env("qsConfig", "end4-pC") -
Add the settings keybind to
~/.config/hypr/custom/keybinds.lua:hl.bind("SUPER + escape", hl.dsp.global("quickshell:settingsToggle"), {description = "Toggle settings"}) - Try a preset: open Dashboard → Presets, pick one, and press Download to try it or Install to keep it.
💡 On NixOS, the clone goes in the same place, but use pkill -f "qs -c ii" to stop the running shell. See the NixOS section.
What Is end4-pC?
end4-pC is a personal fork of the illogical-impulse Quickshell shell by end-4, customized and maintained by pctrade. It installs into its own folder inside ~/.config/quickshell, next to End 4's ii folder, so it doesn't overwrite or change your existing setup. You can switch between the two at any time.
On top of illogical-impulse, it adds:
- Material Design 3 styling across the shell
- Synced lyrics for the music you're playing
- Online wallpapers, including a Wallhaven search, with download and set-as-wallpaper buttons
- Desktop widgets and a configurable bar
- A Hyprland Configs page in its settings
- A community presets gallery for sharing and trying whole desktop setups
Requirements
- End 4 (illogical-impulse) installed and running. end4-pC uses End 4's packages, Python environment and Hyprland config. On Arch, follow How to Install End 4 Hyprland Dotfiles on Arch Linux. On NixOS, follow How to Install End-4 on NixOS.
- git, which End 4 already needs.
- Optional: a GitHub account, only if you want to share your own presets.
Step 1: Install and Launch end4-pC
end4-pC has no installer. You clone it into Quickshell's config folder and start it by name.
- Clone it into your Quickshell config directory:
cd ~/.config/quickshell/ git clone https://github.com/pctrade/end4-pC.git
- Stop the running illogical-impulse shell and start end4-pC:
killall qs 2>/dev/null; qs -c end4-pC > /dev/null 2>&1 & disown
This only runs end4-pC for the current session. After a reboot or a new login, End 4's own shell comes back until you make end4-pC the default in the next step.
Step 2: Make end4-pC Your Default Shell
End 4 starts its shell with qs -c $qsConfig, and qsConfig is set to ii in ~/.config/hypr/hyprland/variables.lua. end4-pC's README tells you to change it there, but End 4's own comment in that file says to put your changes in ~/.config/hypr/custom/variables.lua instead, so End 4 updates don't overwrite them. End 4 loads the custom file after its defaults, so your value wins.
Step 3: Add the Settings Keybind
end4-pC's settings panel needs its own keybind. Add it to End 4's custom keybinds file, which End 4 loads after its own keybinds:
nano ~/.config/hypr/custom/keybinds.lua
Add this line, save, and log out and back in:
hl.bind("SUPER + escape", hl.dsp.global("quickshell:settingsToggle"), {description = "Toggle settings"})
Now Super + Esc opens and closes the settings. It's an overlay panel, not a regular window, so Super + Q won't close it. Use the same keybind or press Esc.
Community Presets
Presets are end4-pC's biggest extra. A preset is someone's whole desktop setup, shared to the end4-pCpresets gallery on GitHub.
Try or Install a Preset
- Open Dashboard → Presets.
- Pick a preset.
- Press Download to try it, or Install to keep it.
end4-pC on NixOS
If you set up End 4 with my End-4 on NixOS flake, end4-pC works the same way, with a few differences. In that setup, ~/.config/quickshell and ~/.config/hypr are editable links into your End 4 clone at ~/.local/share/end4-dots, so the clone and the config edits below land there. No rebuild is needed.
Install and Launch on NixOS
cd ~/.config/quickshell/
git clone https://github.com/pctrade/end4-pC.git
pkill -f "qs -c ii"; qs -c end4-pC > /dev/null 2>&1 & disown
The only change from Arch is the stop command. pkill -f "qs -c ii" matches the running shell by its command line, which works with the wrapped Quickshell binary that Nix builds.
Make It the Default on NixOS
Same as Step 2: add hl.env("qsConfig", "end4-pC") to ~/.config/hypr/custom/variables.lua and log out and back in. The settings keybind from Step 3 goes in ~/.config/hypr/custom/keybinds.lua, as on Arch.
What Works Differently on NixOS
- Python features such as color generation use the Python environment my NixOS flake already builds for End 4, so there's nothing extra to install.
- Sharing presets needs gh, and end4-pC's setup script only knows pacman, apt, dnf and zypper. Add
pkgs.ghtohome.packagesin end4-home.nix and rebuild:
Downloading and installing presets works without it.home.packages = [ end4-quickshell end4-python pkgs.gh ]; - The system update button and the update counter in end4-pC call
yayandpacman, so they don't do anything useful on NixOS. Update NixOS with your usual rebuild instead.
Update, Switch Back or Uninstall
Update end4-pC
end4-pC has its own update button in the settings, on the Dashboard and the About page, which downloads a fresh copy and restarts the shell. To do it from a terminal instead:
git -C ~/.config/quickshell/end4-pC pull
Then restart the shell with Ctrl + Super + R. Update End 4 itself separately, as described in my End 4 guide.
Switch Back to illogical-impulse
To go back permanently, remove the hl.env("qsConfig", "end4-pC") line from ~/.config/hypr/custom/variables.lua and log out and back in. To switch back for the current session only:
killall qs 2>/dev/null; qs -c ii > /dev/null 2>&1 & disown
On NixOS, use pkill -f "qs -c end4-pC" in place of killall qs.
Uninstall end4-pC
Switch back to illogical-impulse first, then delete the folder:
rm -rf ~/.config/quickshell/end4-pC
Also remove the settings keybind line from ~/.config/hypr/custom/keybinds.lua if you added it. End 4 itself stays exactly as it was.
❓ Frequently Asked Questions: end4-pC
What is end4-pC?
end4-pC is a personal fork of End 4's illogical-impulse Quickshell shell, maintained by pctrade. It adds Material Design 3 styling, synced lyrics, online wallpapers, desktop widgets, a configurable bar and a community presets gallery on top of an existing End 4 install.
Is end4-pC for Windows?
No. The "pC" is part of the fork's name, from its developer pctrade, not a platform. end4-pC is a Linux Hyprland shell, and it only runs on top of an End 4 (illogical-impulse) install.
Does end4-pC replace End 4?
No. It installs into its own folder, ~/.config/quickshell/end4-pC, next to End 4's ii folder, and it needs End 4 installed and running. You can switch between the two at any time.
How do I make end4-pC start automatically?
Add hl.env("qsConfig", "end4-pC") to ~/.config/hypr/custom/variables.lua and log out and back in. Using End 4's custom file keeps the change when End 4 updates.
What are end4-pC presets?
Presets are whole desktop setups shared by other users in the end4-pCpresets gallery on GitHub. Open Dashboard → Presets, pick one, and press Download to try it or Install to keep it. You can also upload your own.
Do I need a GitHub account to use presets?
No, not to download or install them. You only need a GitHub account and the GitHub CLI (gh) to share your own presets.
Does end4-pC work on NixOS?
Yes, on top of an End 4 NixOS setup. Clone it into ~/.config/quickshell as on Arch, and stop the running shell with pkill -f "qs -c ii" before starting end4-pC. Add pkgs.gh to your Home Manager packages if you want to share presets.
How do I see end4-pC's keybinds?
Open the launcher with Super and type <. It shows the full list of configured keybinds.
How do I update end4-pC?
Use the update button in end4-pC's settings, or run git -C ~/.config/quickshell/end4-pC pull and restart the shell with Ctrl + Super + R. Update End 4 separately.
How do I uninstall end4-pC?
Remove the qsConfig line from ~/.config/hypr/custom/variables.lua, log out and back in, then delete ~/.config/quickshell/end4-pC. End 4 stays as it was.
🚀 end4-pC Is Running on Your End 4 Setup!
You now have end4-pC running on top of End 4, with presets one click away and illogical-impulse still there whenever you want to switch back. For the source, issues and new releases, visit pctrade/end4-pC on GitHub. A huge thanks to pctrade for the fork and to end-4 for creating illogical-impulse.
If end4-pC made your Hyprland setup even better, stay tuned to MusaBase for more customization tutorials.
101 out, I'll see you in the next one! 🚀

