2023-08-28 16:17:59 -07:00
|
|
|
#+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.
|
2023-08-28 15:31:02 -07:00
|
|
|
|
|
|
|
* 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
|
|
|
|
|
2023-08-28 16:17:59 -07:00
|
|
|
** 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.
|
2023-08-28 15:31:02 -07:00
|
|
|
|
|
|
|
- ~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.
|
|
|
|
|
2023-08-28 16:17:59 -07:00
|
|
|
** Fonts
|
2023-08-28 15:31:02 -07:00
|
|
|
|
|
|
|
- ~otf-font-awesome~: Needed for ~waybar~ to render icons
|
|
|
|
- Noto Sans/Serif: System font
|
|
|
|
|
2023-08-28 16:17:59 -07:00
|
|
|
** Hyprland
|
2023-08-28 15:31:02 -07:00
|
|
|
|
|
|
|
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~.
|
|
|
|
|
2023-08-28 16:17:59 -07:00
|
|
|
** Utilities
|
2023-08-28 15:31:02 -07:00
|
|
|
|
|
|
|
- ~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
|
|
|
|
|
2023-08-28 16:17:59 -07:00
|
|
|
*** Configuration
|
2023-08-28 15:31:02 -07:00
|
|
|
|
|
|
|
- ~lxappearance~: Used to configure GTK3 themes
|
|
|
|
- ~nwg-look~: Configures cursor
|
|
|
|
- ~wev~: Wayland event interceptor useful for determining keybinds
|
|
|
|
|
2023-08-28 16:17:59 -07:00
|
|
|
* Dot Files
|
2023-08-28 15:31:02 -07:00
|
|
|
|
2023-08-28 16:17:59 -07:00
|
|
|
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~
|