Install / Update / Uninstall
Installing
Before you start
- This only provides user-level customization. You have to set up network, bluetooth, GPU, etc. yourself
- EndeavourOS GNOME is recommended to save you some hassle
- Other Arch distros will also work great
- We’re not sure about non-Arch ones
- It is never necessary to reinstall your system for dotfiles!
- If you only have 8GiB of RAM, you might wanna set up zram (or swap), since compiling Hyprland takes quite a bit of resources.
Automated installation (for Arch distros only)
The recommended method.
Simple as running this one command and following the script’s procedure
The above clones the repo to ~/.cache/dots-hyprland
by default. You can change this path by specifying it as an argument:
For NixOS
- Currently, these dotfiles are not (yet?) offered as a flake.
- Though you can check out end_4’s NixOS flake
- It includes home-manager config. You wanna check the
homes
folder.
- It includes home-manager config. You wanna check the
For OpenSUSE
Manual installation (basically any distro)
-
Clone and go to directory
-
Get packages: Install all packages listed as the value of array
depends
inside thosescriptdata/arch-packages/*/PKGBUILD
. For Arch Linux, just use an AUR helper such asyay
. -
Run
manual-install-helper.sh
to install the rest of the dependencies.- You may also instead install suitable alternatives as you’ve found out, but be sure to
git checkout
to the required commit when installing AGS.
- You may also instead install suitable alternatives as you’ve found out, but be sure to
-
Add user to
video
andinput
group -
Copy
.config
,.local
to your home folder (review before doing this or you might have your own config files undesirably overwritten) -
Get started with these keybinds
Ctrl
+Super
+T
to select a wallpaperSuper
+/
for a list of keybinds. Have fun!
Post installation
Optional stuff
Extra configs
See if you’re interested in anything in the Extras
folder.
Media integration with browser
If you want media thumbnail from your browser to be shown, get the “Plasma browser integration” extension.
Colorscheme for ZSH
Put this line into your ~/.zshrc
to support colorscheme for ZSH:
Launching Hyprland
To launch Hyprland, you can use a DM (Display Manager) or just tty
.
See Hyprland wiki for details.
Here’re some extra hints.
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
:
For FISH, add this line to the bottom of your ~/.config/fish/config.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?
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
.
Actually, most 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 “No such file or directory”, then no DM is enabled, or this is not a systemd-based distro.
- 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
Automatically installed
cd
to 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/ags
.
- Skip the steps you don’t want (especially the
Run ./install.sh -h
to see more usage.
Manually installed
cd
to the repo directory- Run
git pull
to fetch the latest changes. - Grab files you want. Typically you may want to grab the
.config/ags
folder. - Run
manual-install-helper.sh
to update some of the dependencies.
Use a updater script
The script update-dots.sh
provides you with an option to automatically update the dotfiles to the latest, with simple file hashing to figure out the ones modified by the user, so user will be able to choose whether to overwrite them or not.
- This script is not fully tested, use at your own risk.
- If you’re using this script, you should not run
git pull
because the script already involves (and depends on) upgrading the git repo itself.
Uninstalling
- Manual uninstallation is heavily recommended
- Currently, there’s a script for uninstallation, but it’s far from perfect and is not actively maintained.
- Here goes a long explanation if you care:
The point is that this repo is not a typical “software”, but a set of config, Therefore 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.