#+title: Cross-Platform Configuration Files This is a list of cross-platform configuration files which can be placed in ~.config~ directory and enabled at will. * 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 ** Doom emacs Install via (can also be placed in ~.emacs~ directory) #+begin_src bash git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs ~/.config/emacs/bin/doom sync ~/.config/emacs/bin/doom env #+end_src ** Fish Install and set the default shell to ~fish~. ** 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 - ~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) - ~btop~/~htop~: Process monitor *** Screenfetch - ~neofetch~: Screenfetch - ~macchina~ (aur): Another screenfetch * Hyprland Desktop Environment ** Login Manager The login manager is not managed by this configuration but mentioned here since it interacts with the desktop environment. For ~hyprland~, ~sddm~ is recommended. - ~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 - ~wofi~: finding programs, drop in replacement for ~rofi~ - ~grimblast~: Screenshot engine - ~dolphin~: File explorer - ~swaylock-effects~: A simple lockscreen - ~wl-clipboard~: Provides copying - ~blueman~: Bluetooth connector *** Configuration - ~lxappearance~: Used to configure GTK3 themes - ~nwg-look~: Configures cursor - ~wev~: Wayland event interceptor useful for determining keybinds * Dot Files All the configurations which must appear as dot files are not included: - ~.bashrc~ - ~.vimrc~: Workaround is to install NeoVim - ~.spacemacs~ The following default files are not included for the same reason: - ~.astylerc~ - ~.clang-format~ - ~.latexmkrc~