Installation / Aktualisierung / Deinstallation
Installation
Abschnitt betitelt „Installation“Bevor du startest
Abschnitt betitelt „Bevor du startest“- Dies bietet nur Benutzer-Level-Anpassung. Die Installation von GNOME kann grundlegende Systemkomponenten wie Netzwerk, Bluetooth etc. enthalten, aber es wird erwartet, dass du diese selbst bereits eingerichtet hast
- EndeavourOS is recommended to save you some hassle
- Other Arch distros will also work fine
- Using a non-Arch distro? Try to find yours on the Discussions page
- It is never necessary to reinstall your system for dotfiles!
Automated installation (for Arch distros only)
Abschnitt betitelt „Automated installation (for Arch distros only)“Clone the repo, switch to branch ii-ags and run the install script:
t=~/.cache/dots-hyprland # Let's not trash your home folder
git clone https://github.com/end-4/dots-hyprland.git "$t" --filter=blob:none
git checkout ii-ags
"$t"/install.shFor NixOS (experimental)
Abschnitt betitelt „For NixOS (experimental)“-
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
homesfolder.
- It includes home-manager config. You wanna check the
-
See also https://github.com/end-4/dots-hyprland/discussions/1093
For OpenSUSE (experimental)
Abschnitt betitelt „For OpenSUSE (experimental)“For Fedora (experimental)
Abschnitt betitelt „For Fedora (experimental)“-
See also (older discussion): https://github.com/end-4/dots-hyprland/discussions/840
Manual installation (basically any distro)
Abschnitt betitelt „Manual installation (basically any distro)“-
Clone and go to directory
t=~/.cache/dots-hyprland # Let's not trash your home folder git clone https://github.com/end-4/dots-hyprland.git "$t" --filter=blob:none cd "$t" -
Get packages: Install all packages listed as the value of array
dependsinside thosescriptdata/arch-packages/*/PKGBUILD. For Arch Linux, just use an AUR helper such asyay. -
Run
manual-install-helper.shto install the rest of the dependencies.- You may also instead install suitable alternatives as you’ve found out, but be sure to
git checkoutto 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
videoandinputgroupsudo usermod -aG video,input "$(whoami)" # if this somehow doesn't work, just replace "$(whoami)" with your username -
Copy
.config,.localto your home folder (review before doing this or you might have your own config files undesirably overwritten) -
Get started with these keybinds
Ctrl+Super+Tto select a wallpaperSuper+/for a list of keybinds. Have fun!
Post installation
Abschnitt betitelt „Post installation“Not so optional stuff
Abschnitt betitelt „Not so optional stuff“Qt theming
Abschnitt betitelt „Qt theming“- Select KVantum in the windows that pop up when running:
kcmshell6 kcm_style
kcmshell6 kcm_colorsPrevent notification daemon conflicts
Abschnitt betitelt „Prevent notification daemon conflicts“- Notification daemons like
dunstandmakomay come with your distro’s customizations and can interfere with AGS if they somehow start first. It is recommended to uninstall them if you don’t use them somewhere else.
Optional stuff
Abschnitt betitelt „Optional stuff“Extra configs
Abschnitt betitelt „Extra configs“See if you’re interested in anything in the Extras folder.
Media integration with browser
Abschnitt betitelt „Media integration with browser“If you want media thumbnail from your browser to be shown, get the “Plasma browser integration” extension.
Colorscheme for ZSH
Abschnitt betitelt „Colorscheme for ZSH“Put this line into your ~/.zshrc to support colorscheme for ZSH:
source ~/.config/zshrc.d/dots-hyprland.zshLaunching Hyprland
Abschnitt betitelt „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 I don’t. Using this does not break the dotfiles, but keep in mind 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?
Abschnitt betitelt „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.shFor FISH, add this line to the bottom of your ~/.config/fish/config.fish:
source ~/.config/fish/auto-Hypr.fishP.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?
Abschnitt betitelt „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 ttys: 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.
grep 'ExecStart=' /etc/systemd/system/display-manager.service
- 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/xsessionsfor X11 ones, and/usr/share/wayland-sessionsfor 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
Abschnitt betitelt „Updating“Automatically installed
Abschnitt betitelt „Automatically installed“cdto the repo directory- Run
git pullto fetch the latest changes. - Run
./install.shagain- 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 thersyncstep which involves.config/ags.
- Skip the steps you don’t want (especially the
Run ./install.sh -h to see more usage.
Manually installed
Abschnitt betitelt „Manually installed“cdto the repo directory- Run
git pullto fetch the latest changes. - Grab files you want. Typically you may want to grab the
.config/agsfolder. - Run
manual-install-helper.shto update some of the dependencies.
Uninstalling
Abschnitt betitelt „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
yayoryay-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
yayoryay-binwhen the log showedyayoryay-binis installed by the script, because the script can’t log its future, and you may have reinstalledyayoryay-binanother 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.