My arch linux customization for both xorg and wayland ecosystem. Along with some useful scripts.
I put all the dotfiles of programs that I customized in this repository, some of them I no longer used and maintained. I am currently using wayland display server, some configuration for xorg exclusive programs maybe outdated. I didn't list all the dotfiles in the readme, you can always take a look of source code to see what's inside.
-
Wayland:
- hyprland: A wayland compositor which works well on my nvidia optimus laptop, I made a simple wrapper script to start it in integrated, hybird and nvidia mode, althrough you still need to change your bios settting if you wanna use this compositor in nvidia mode.
- eww: The top bar you see on the screenshot.
- dunst: A Notification daemon.
- swaylock: A screen locker for wayland.
- swayidle: For dimming screen, unlike xorg, my screen won't dim after a certain time without this program.
-
Xorg:
- awesomewm: A xorg window manager.
- picom(dccsillag's fork): A xorg compositor with animation.
- lf: A terminal file manager, I use ueberzug for image preview, but it doesn't work on wayland side.
- betterlockscreen: A screen locker for xorg.
-
Common: These programs work fine on both wayland and xorg.
- rofi: I use this program for application launcher, emoji and nerd font icon selector and a logout application which you see on the screenshot. It works well on both xorg and xwayland. My configuration comes from this project with some customization.
- neovim: Lsp support and some useful plugins which bring me a happy text editing and web development experience.
- tmux: Some customization override the counter-intuitive default keybindings.
- zsh: Debloated, without something like on-my-zsh.
- nsxiv: A image viewer which is a solution for lf image preview doesn't work on wayland.
- ncmpcpp: A music client for mpd.
- alacritty: A terminal emulator which I used for a long time. A perfect match with tmux.
Note: Those requirement only applies if you wanna simply copy and paste my configuration, which is not recommended. You should check those files first and know what you doing before you use them.
Install these programs to use my configuration (doesn't include the program itself):
- nvim: Open nvim and type
:Mason
to install luacheck, stylua, prettierd, shfmt.yay -S wl-clipboard
for wayland oryay -S xclip
for xorg. - hyprland: Note: you don't need to install all of these programs in order to make hyprland work, but some keybindings may break, again, check out those files yourself.
yay -S swww swayidle swaylock-effects dunst pamixer mpd grimblast-git alacritty rofi eww-wayland hyprpicker-git firefox
. You may need to use my configuration for rofi. Note: hyprpicker doesn't support nvidia. - eww:
yay -S hyprland bluez bc ripgrep mpc mpd networkmanager pamixer pipewire pipewire-pulse gojq socat jap
. Install Iosevka and Varela Round font. - tmux:
yay wl-clipboard
for wayland oryay -S xclip
for xorg, you way need to install catppuccin color scheme and change its path in the config file manually. - nsxiv:
yay -S wl-copy swww
. - zsh:
yay -S fzf nsxiv-git lf exa ripgrep bat hyperfine paru
. You may need to install plugins zsh-autosuggestions, zsh-syntax-highlighting, zsh-completion manually. - rofi: Install font Grape Nuts and JetBrains Mono Nerd Font.
- alacritty: Install CaskaydiaCove Nerd Font, you may need to install catppuccin theme and change the path in the config file manually.
- lf: Note: I no long use this program so the configuration maybe outdated.
yay -S ueberzug cowsay mpv vlc unzip unrar feh vidir atool bat mediainfo ffmpegthumbnailer gpg pdftoppm
. - awesomewm: Note: I no long use this program so the configuration maybe outdated.
yay -S mpc pamixer betterlockscreen feh rofi flameshot firefox
. You may need to use my configuration for rofi.
Currently I don't have a auto-install script and I would say you sill can't safely copy and paste my dotfiles in order to use it even if you meet all the requirement. Check out what's inside those files yourself, figure it what it does and copy paste those lines you need.
- eww music widget stop working if the music information contains double quote due to the json format.