Install / Update / Uninstall
Installing
Section titled “Installing”Automated installation
Section titled “Automated installation”Just run this one line:
bash <(curl -s https://ii.clsty.link/setup)
That’s it!
- Follow the prompts until it’s finished.
- What it does is just cloning the repo to
~/.cache/dots-hyprland
andcd
there and then running./install.sh
. Alternatively, you can do this manually:
cd ~/Downloads # whereever you wantgit clone https://github.com/end-4/dots-hyprlandcd dots-hyprland./install.sh
The following links are about community forks for other distros.
- NixOS
- See discussion #1093
- OpenSUSE
- See discussion #485
- Fedora
- See EisregenHaha/fedora-hyprland
- See also (older discussion): discussion #840
Manual installation
Section titled “Manual installation”Distro support: basically any distro.
Clone and go to directory
Section titled “Clone and go to directory”t=~/.cache/dots-hyprland # Let's not trash your home foldergit clone https://github.com/end-4/dots-hyprland.git "$t" --filter=blob:nonecd "$t"
Install the dependencies
Section titled “Install the dependencies”For Arch(-based) distros:
- Install all packages listed as the value of array
depends
inside those./dist-arch/*/PKGBUILD
. Just use an AUR helper such asyay
.- You may also instead install suitable alternatives as you’ve found out.
For non-Arch distros:
- Figure out the equivalents of the packages which
dist-arch/install-deps.sh
installed. They are mainly from the value of arraydepends
inside those./dist-arch/*/PKGBUILD
, and then install them. - To get info of a package (e.g. what executable(s) it provides), search it on Arch Linux Packages or the AUR.
dist-fallback/install-deps.sh
also contains some installing functions for some dependencies as alternative, which are not distro-specific but out of control from the system package manager. Better avoid using them if possible.- If you’ve successfully finished installation on some non-Arch(-based) Linux distro, you may create an
install-<DISTRO_ID>/
directory and submit a PR. For details see this page.- Run
./diagnose
to get the actual value of<DISTRO_ID>
afterdistro ID:
.
- Run
Setups for permission/services etc
Section titled “Setups for permission/services etc”Read the content of dist-arch/install-setups.sh
.
- If you think it’s just fine, then just run
./install -f --skip-alldeps --skip-allfiles
which will run this script.- Do not run
dist-arch/install-setups.sh
directly because it’s meant to be sourced byinstall.sh
.
- Do not run
- Or, run the lines in this script manually with your tweaks.
Copying config files
Section titled “Copying config files”- Copy
.config
,.local
to your home folder (review before doing this or you might have your own config files undesirably overwritten) - Or, read
scriptdata/install-files.sh
.- If you think it’s just fine, then just run
./install.sh --skip-alldeps --skip-allsetups
which will run this script. - Do not run
scriptdata/install-files.sh
directly because it’s meant to be sourced byinstall.sh
.
- If you think it’s just fine, then just run
Finish
Section titled “Finish”- Once you’re done, log in again into Hyprland.
Ctrl
+Super
+T
to select a wallpaper.Super
+/
for a list of keybinds. Have fun!
Post installation
Section titled “Post installation”Not so optional stuff
Section titled “Not so optional stuff”Prevent notification daemon conflicts
Section titled “Prevent notification daemon conflicts”- Notification daemons like
dunst
andmako
may come with your distro’s customizations and can interfere with Quickshell’s implementation. It is recommended to uninstall them if you don’t use them anywhere else.
Optional stuff
Section titled “Optional stuff”Extra configs
Section titled “Extra configs”See if you’re interested in anything in the Extras
folder.
Media integration with browser
Section titled “Media integration with browser”If you want media thumbnail from your browser to be shown, get the “Plasma browser integration” extension.
Colorscheme for ZSH
Section titled “Colorscheme for ZSH”Put this line into your ~/.zshrc
to support colorscheme for ZSH:
source ~/.config/zshrc.d/dots-hyprland.zsh
Launching Hyprland
Section titled “Launching Hyprland”- To launch Hyprland, you can use a DM (Display Manager) or just
tty
. - Hyprland wiki recommends launching Hyprland with the uswm-managed session, but we don’t. Using this does not break the dotfiles, but you might get autostarted junk from other desktop environments (for example duplicate authentication dialogs)
See Hyprland wiki for details. Below are some extra hints.
How to auto-launch Hyprland after logging in on tty1
?
Section titled “How to auto-launch Hyprland after logging in on tty1?”For ZSH or BASH, add this line to the bottom of your ~/.zshrc
or ~/.bashrc
:
source ~/.config/zshrc.d/auto-Hypr.sh
For FISH, add this line to the bottom of your ~/.config/fish/config.fish
:
source ~/.config/fish/auto-Hypr.fish
P.S. It’s recommended to disable the DM if you want to launch Hyprland through tty.
I’m a newbie. What is a tty and DM?
Section titled “I’m a newbie. What is a tty and DM?”Here’s a brief introduction to give you a quick access, though not exactly true.
You may see tty
as some “basis” of a Linux system.
There’re normally 7 tty
s: tty1
to tty7
. You may press Ctrl+Alt+F<n>
to switch to tty<n>
, and type your username and password to log in.
After logging in, you’re able to launch a graphical environment through command, e.g. Hyprland
.
Commonly, the graphical interfaces could be launched only after you login.
But what if we want a graphical interface for the login interface itself?
So, here comes the DM (Display Manager, also called “LM”, i.e. Login Manager).
- Some commonly used DM:
sddm
: Often used with KDE Plasma.gdm
: Often used with Gnome.
- It’s enabled on system level, and launches automatically after system booting (not logging in yet).
- On a systemd-based distro, the DM is usually enabled as a systemd service. Run the following to see which DM is enabled.
If it returns
Terminal window grep 'ExecStart=' /etc/systemd/system/display-manager.serviceNo such file or directory
, then no DM is enabled, or this is not a systemd-based distro.
- On a systemd-based distro, the DM is usually enabled as a systemd service. Run the following to see which DM is enabled.
- It provides you with a graphical interface to login and choose the graphical environment (e.g. Hyprland).
- How does the DM know which graphical environments are available?
- Normally, it searches the path
/usr/share/xsessions
for X11 ones, and/usr/share/wayland-sessions
for Wayland ones. - The desktop files under these directories contain the information of the graphical environments.
- Normally, it searches the path
- How does the DM know which graphical environments are available?
Updating
Section titled “Updating”cd
into the repo directory- Run
git pull
to fetch the latest changes. - Run
./install.sh
again- Skip the steps you don’t want (especially the
rsync ...
ones because it will override your files under its target path). Typically you may want thersync
step which involves.config/quickshell
.
- Skip the steps you don’t want (especially the
Uninstalling
Section titled “Uninstalling”- You can try using
uninstall.sh
, but it’s not perfect and not actively maintained. - Manual uninstallation hint for Arch Linux:
- Run
pacman -Q | grep illogical-impulse
for a list of packages the dotfiles requires - Run
yay -Rs PACKAGE_NAME
for each package from the above command
- Run
- Here goes a long explanation if you care:
The point is that this repo is not a typical “software”, but a set of config, so it’s very hard to make a proper uninstallation script, which should revert all changes made by the installation script.
For example, the installation script will install
yay
(AUR-helper) for you if you don’t have one. However, what should the uninstallation script do to revert this changes?
- Remove
yay
oryay-bin
? Not proper, because you may already have one of them installed by yourself (not by the installation script).- Even if the installation script had logged the package list installed by the script, it’s still not proper to remove
yay
oryay-bin
when the log showedyay
oryay-bin
is installed by the script, because the script can’t log its future, and you may have reinstalledyay
oryay-bin
another day after the installation script finished, thus they are actually not installed by installation script anymore.In conclusion, it’s nearly not possible to write a proper uninstallation script. You’d better make reverted changes manually as you need.