#+title: Desktop Environment for Mellite * Installation Install all the packages listed below. Then, #+begin_src cd ~/.config git init git remote add origin $SOURCE git pull origin main #+end_src * Login Manager - ~sddm~: Enable ~sddm.service~ A note about themes: The themes must be placed in ~/usr/share/sddm/themes~. Then in ~/etc/sddm.conf~, enable the relevant theme. By default the breeze theme comes with ~plasma-workspace~ which is very bloated to install, so consider some of the alternative themes. * Fonts - ~otf-font-awesome~: Needed for ~waybar~ to render icons - Noto Sans/Serif: System font * Hyprland Note: Setup does not work with NVIDIA GPU without some tweaks. - [[https://wiki.archlinux.org/title/wayland][wayland]]: display manager: ~wayland~, ~xorg-xwayland~ - [[https://wiki.archlinux.org/title/Hyprland][hyprland]]: window manager - ~waybar~: Status bar, use ~waybar-hyprland-git~ AUR repo to enable clicking! - ~eww-wayland~: Another status bar, requires ~socat~ to listen for hyprland events. Until [[https://github.com/elkowar/eww/issues/111][tray support]] has been added to ~eww~ in a stable manner, tray will be handled with waybar. - ~hyprpaper~: Wallpaper engine The command to set a wallpaper: ~hyprctl hyprpaper wallpaper "$DISPLAY,$FILE"~ - [[https://github.com/Horus645/swww][swww]]: Alternate wallpaper engine Note that ~~/.config/hypr/wallpapers~ must have jpeg files ~{1..8}.jpg~. A handy command can be used crop and resize images: #+begin_src bash convert $IN \ -resize 3840x2160^ \ -gravity center \ -extent 3840x2160 \ $OUT #+end_src - ~swaync~: Notification server The command for changing keyboard layouts is handled by ~fcitx5~. * Utilities - ~alacritty~: terminal emulator Note that in order to set this as the default terminal, you may need to put the following in ~~/.config/kdeglobals~: #+begin_src [General] TerminalApplication #+end_src - ~wofi~: finding programs, drop in replacement for ~rofi~ - ~grimblast~: Screenshot engine - ~dolphin~: File explorer - ~swaylock-effects~: A simple lockscreen - ~mpd~: Music player daemon #+begin_src sh systemctl enable --user mpd systemctl start --user mpd #+end_src Optionally, install ~mpc~ - ~cantata~: Controls mpd (other clients are acceptable too) - ~wl-clipboard~: Provides copying - ~btop~/~htop~: Process monitor - ~blueman~: Bluetooth connector ** Configuration - ~lxappearance~: Used to configure GTK3 themes - ~nwg-look~: Configures cursor ** Diagnostics - ~wev~: Wayland event interceptor useful for determining keybinds - ~neofetch~: Screenfetch - ~macchina~ (aur): Another screenfetch * Troubleshooting