dotfiles
dotfiles copied to clipboard
My SwayWM dotfiles
SwayWM dotfiles
A custom wayland desktop environment fine-tuned to my development workflow and daily usage.
Informations
![screenshot](https://github.com/ziap/dotfiles/raw/master/img/rice.png)
- OS: Fedora Linux
- WM: sway
- Shell: zsh
- Editor: neovim
- Terminal: foot
- Browser: firefox
- Launcher: rofi, wayland fork
- Bar: waybar
- Colorscheme: gruvbox
Features
- ✨ Minimal and aesthetic gruvbox themed desktop
- 🗨️ Lightweight and powerful ZSH shell with custom prompt
- 🚀 Functional developer environment for
- C and C++
- Rust
- Vanilla web development
- Python
- 📄 Document editing with markdown, latex, pandoc and reveal.js
- 📁 File browsing and application launcher with rofi
- 📷 Screenshot with support for
- Region
- Window
- Screen
- 🔌 Power menu and a very basic lock screen
- 🔧 Essential Fedora modification (rpmfusion, codecs) included in the install script
Plan
- Add more rofi menus
- Svelte developer environment
- Notification with dunst
- Setup on a more minimal Fedora installation
Installation
Clone repository
git clone --depth=1 https://github.com/ziap/dotfiles
cd dotfiles
cp -rp .config .Xresources ~
RPMFusion and media codecs
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install @multimedia
Fonts
Fonts being used are:
- FiraCode (terminal, editor font)
- VictorMono (italic font)
- RobotoMono (UI font)
Run this script to download all fonts to the local font folder ~/.local/share/fonts
./download_fonts.sh
Terminal + Shell setup
Install and setup foot, zsh and some plugins
sudo dnf install foot util-linux-user zsh zsh-autosuggestions zsh-syntax-highlighting
chsh -s $(which zsh)
cp .zshrc ~
Install extra packages
sudo dnf install sqlite ImageMagick bat eza ripgrep fd-find skim imv mpv
-
sqlite
: for dnf autocompletion -
ImageMagick
: for command line image editing -
bat
,eza
: Syntax highlighting, icons forcat
andls
-
ripgrep
,fd-find
: Fastergrep
andfind
-
skim
: Fuzzy finder -
imv
: Image viewer -
mpv
: Video/audio player
Desktop environment setup
sudo dnf install sway rofi-wayland waybar luajit slurp grim light playerctl pulseaudio-utils wl-clipboard epapirus-icon-theme
-
luajit
: Run Lua rofi scripts -
grim
,slurp
: Screenshot tool -
light
,pulseaudio-utils
: Control screen brightness and audio volume -
playerctl
: Media player controller -
wl-clipboard
: Clipboard tool -
epapirus-icon-theme
: ePapirus icon theme for rofi
Developer environment setup
The packages for each programming languages are pretty self-explanatory
sudo dnf install neovim gh git git-delta python3 python3-pip nodejs npm gcc gcc-c++ clang-tools-extra
Install language servers
sudo npm i -g pyright vscode-langservers-extracted typescript typescript-language-server emmet-ls
Install rust and rust-analyzer
# During install select nightly profile
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup component add rust-analyzer
While rust-analyzer isn't added to ~/.cargo/bin
by default
cat << EOF > ~/.cargo/bin/rust-analyzer
#!/bin/sh
rustup run nightly rust-analyzer
EOF
chmod +x ~/.cargo/bin/rust-analyzer
Install plugins
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
nvim -c PlugInstall
Firefox setup
-
user.js
and custom theme in thefirefox
folder - Dark reader with gruvbox theme
Document editing workflow setup
sudo dnf install pandoc texlive zathura zathura-pdf-mupdf
IME Setup
sudo dnf install fcitx5 fcitx5-qt fcitx5-gtk fcitx5-configtool
sudo dnf install fcitx5-unikey # Or your IME
You can automatically start fcitx by adding exec_always fcitx5
to sway config but I prefer manually starting it in rofi.
License
This project is licensed under the GPL-3.0 license.