141 lines
4.1 KiB
Markdown
141 lines
4.1 KiB
Markdown
|
#Introduction
|
||
|
This is a readme(more of a diary) for the current hyprland setup for my personal computer, how it was made, and what I have learned
|
||
|
|
||
|
|
||
|
#Base install
|
||
|
Use Archinstall, with default hyprland profile, it should come with qt5 and qt6, gtk3 and gtk4 is needed for a desktop environment, but not sure it is installed by default
|
||
|
|
||
|
|
||
|
kitty for the terminal emulator, ly for login manager(to avoid wallet problems later on, session manager is preffered to be installed here)
|
||
|
|
||
|
pipewire for audio server
|
||
|
|
||
|
For convenience, since I use Nvidia cards, the archinstall uses dkms drivers when using the proprietary settings, however the setup might be scuffed, so there is a need to check for the following post install
|
||
|
|
||
|
|
||
|
uvsm is currently scuffed in my current setup, so I do not know of a solution yet, but it is preinstalled with the Hyprland profile, just select the default hyprland session in ly instead of uvsm
|
||
|
|
||
|
|
||
|
#Post Install
|
||
|
##Nvidia
|
||
|
First thing to check after archinstall is if Hyprland can be started, if it does, then check the following for nvidia
|
||
|
|
||
|
|
||
|
-/etc/mkinitcpio.conf
|
||
|
-MODULES=() containing:
|
||
|
-nvidia
|
||
|
-nvidia\_modeset
|
||
|
-nvidia\_uvm
|
||
|
-nvidia\_drm
|
||
|
-HOOKS=() removing:
|
||
|
-kms
|
||
|
-/home/user\_name/.config/hypr/hyprland.conf
|
||
|
-env = LIBVA\_DRIVER\_NAME,nvidia
|
||
|
-env = \_\_GLX\_VENDOR\_LIBRARY\_NAME,nvidia
|
||
|
|
||
|
|
||
|
I would also uninstall the dkms driver and replace it with the normal nvidia driver, after that, install the following:
|
||
|
|
||
|
|
||
|
install nvidia-utils and egl-wayland
|
||
|
install lib32-nvidia-utils if gaming, after allowing multilib repository
|
||
|
|
||
|
|
||
|
##Package manager
|
||
|
install yay, because I use yay
|
||
|
|
||
|
|
||
|
multilib repository should be enabled during archinstall
|
||
|
|
||
|
|
||
|
add a pacman hook by creating a new file /etc/pacman.d/hooks/nvidia.hook with the following code:
|
||
|
```
|
||
|
[Trigger]
|
||
|
Operation=Install
|
||
|
Operation=Upgrade
|
||
|
Operation=Remove
|
||
|
Type=Package
|
||
|
# You can remove package(s) that don't apply to your config, e.g. if you only use nvidia-open you can remove nvidia-lts as a Target
|
||
|
Target=nvidia
|
||
|
Target=nvidia-open
|
||
|
Target=nvidia-lts
|
||
|
# If running a different kernel, modify below to match
|
||
|
Target=linux
|
||
|
|
||
|
[Action]
|
||
|
Description=Updating NVIDIA module in initcpio
|
||
|
Depends=mkinitcpio
|
||
|
When=PostTransaction
|
||
|
NeedsTargets
|
||
|
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux*) exit 0; esac; done; /usr/bin/mkinitcpio -P'
|
||
|
```
|
||
|
|
||
|
run full system update and restart pc while doing this
|
||
|
|
||
|
##Custom Hyprland Config Setup
|
||
|
First create a config file in the desired directory, simply copy and paste from the default config file under .config/hypr/hyprland.conf
|
||
|
|
||
|
With ly, it is most likely that it is using a .desktop file to execute hyprland by default, so we go to /usr/share/wayland-sessions/hyprland.desktop and edit the Exec line as such:
|
||
|
```
|
||
|
Exec=Hyprland -c /yourcustomdirectory/hypr/hyprland.conf
|
||
|
```
|
||
|
|
||
|
Restart the PC and the new config file will be used
|
||
|
|
||
|
##Hyprland Components
|
||
|
|
||
|
notification daemon = mako
|
||
|
desktop portal = xdg-desktop-portal-hyprland
|
||
|
xwayland screensharing compat = xwaylandvideobridge
|
||
|
auth-agent = hyprpolkitagent
|
||
|
qt-libraries = qt5-wayland, qt6-wayland
|
||
|
gtk-libraries = gtk3, gtk4
|
||
|
|
||
|
status-bars = waybar, need to install otf-font-awesome as well for logos
|
||
|
wallpaper daemon = swww
|
||
|
wallpaper manager = waypaper
|
||
|
app launcher = wofi
|
||
|
clipboard manager = clipse
|
||
|
network manager = nmtui
|
||
|
file manager = dolphin
|
||
|
text editor = nvim
|
||
|
browser = chromium with vimium
|
||
|
screenshot = hyprshot
|
||
|
|
||
|
|
||
|
need to add ```exec-once=waypaper --restore``` to allow for the wallpaper to exist after restart
|
||
|
|
||
|
|
||
|
##fonts
|
||
|
after downloading otf-font-awesome you might see that your fonts are fucked,you can use this opportunity to download a new font and use it:
|
||
|
yay -S ttf-fira-code
|
||
|
mkdir ~/.config/fontconfig
|
||
|
touch fonts.conf
|
||
|
with the following code:
|
||
|
```
|
||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||
|
<fontconfig>
|
||
|
<match>
|
||
|
<edit name="pixelsize"><double>10</double></edit>
|
||
|
</match>
|
||
|
<alias>
|
||
|
<family>monospace</family>
|
||
|
<prefer><family>firacode</family></prefer>
|
||
|
</alias>
|
||
|
</fontconfig>
|
||
|
|
||
|
```
|
||
|
```
|
||
|
```
|
||
|
```
|
||
|
```
|
||
|
|
||
|
##Chinese-Japanese-Korean(cjk) fonts
|
||
|
yay -S adobe-source-han-sans-otc-fonts
|
||
|
|
||
|
##docker
|
||
|
yay -S docker
|
||
|
sudo systemctl enable docker.server
|
||
|
sudo usermod -aG docker $USER
|