Fedora setup
Done with Fedora 35 i3 spin on X230 laptop. Kind of a build log.
Initial setup (Anaconda)
BTRFS with subvolumes, using Custom. Encryption with LUKS2 enabled.
- /
- /home
- /var
- /var/log
- /usr/local
- /opt
Then EFI partitions left as is, /boot and /boot/efi.
Hostname is set, admin user for self is set up.
Post install
Few things to do before getting dotfiles in.
DNF config and update
Tune settings to be faster before update. sudo vi /etc/dnf/dnf.conf
max_parallel_downloads=10
fastestmirror=True
deltarpm=1
Then sudo dnf update
to grab the latest updates.
Key packages
Install with dnf:
- neovim
- git
- picom
- xrdb
- xset
- xinput
- alacritty
- google-noto-sans-fonts
- Noto Sans CJK is included but not just Sans, so for the font to work properly as a default ensure this is installed
- light-locker
COPR packages (sudo dnf copr enable <copr-repo>
):
- atim/i3status-rust
- i3status-rust
- There is i3status-rs on the official Fedora repo, but it is not up to date.
- i3status-rust
- nicholastay/nexpkg
- belluzj-fantasque-sans-mono-fonts
- This is the main monospace font used.
- belluzj-fantasque-sans-mono-fonts
dotfiles
$ git clone --bare https://github.com/nicholastay/dotfiles.git ~/.dotfiles.git
$ rm .bashrc .bash_profile .config/i3/config
$ git --git-dir=$HOME/.dotfiles.git/ --work-tree=$HOME checkout
$ source ~/.bashrc
$ d config --local status.showUntrackedFiles no
$ jg # Jumptool generate aliases
Probably want to set git user info at ~/.config/git/user
:
[user]
email = <email>
name = <full name>
Extra packages
Good to have RPMFusion so can get extra multimedia things and more:
$ sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Install with dnf:
- NetworkManager-tui
- Why doesn’t Fedora come with this, but does with nm-applet?
- zsh
- zsh-syntax-highlighting
- zsh-autosuggestions
chsh -s /bin/zsh $USER
- fzf
- emacs
- Doom Emacs
- (with dotfiles, use
ln -sfn .emacs.d.lite .emacs.d
in homedir to switch to lite)
$ git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d.doom
$ ln -sfn .emacs.d.doom .emacs.d # (should already be done by dotfiles)
$ ~/.emacs.d/bin/doom install
- keepassxc
- maim
- xclip
- xdotool
- google-noto-serif-fonts
- arc-theme
- ranger
- mpv
- sxiv
- There is feh already but I prefer sxiv
- gnome-calculator
- yeah, could use bc/python but this is just nice to have for quick calcs
- simplescreenrecorder
- there’s probably a better solution here, but this works for now
- redshift + redshift-gtk
- f.lux-like night colour overlay
- ffmpeg
- nextcloud-client
- libgnome-keyring - make sure this is installed or auth won’t be saved properly!
- wireguard-tools
- Helper script is
wgvpn
, put config in/etc/wireguard/wg0.conf
as usual
- Helper script is
DNF groups (sudo dnf groupinstall <group name>
):
'Development Tools'
'Multimedia'
(needs RPMFusion)
COPR additions:
- nicholastay/nexpkg
- dragon-drop-git
- ueberzug
- passgen
pywal can be grabbed from pip.
NoMachine server & client: https://www.nomachine.com/download/download&id=3, NoMachine client only: https://www.nomachine.com/download/download&id=14
CJK input and fonts
For input, the installer should handle ibus with pinyin + hangul on install (I think if add KR and CN during wizard). Otherwise, ensure these are installed:
- ibus
- ibus-libpinyin
- ibus-hangul
If it doesn’t work, use im-chooser to change to ibus (I don’t know why setting just in .profile isn’t good enough, had to use .config/imsettings to set it in dotfiles so it should just work with the dotfiles now).
For fonts, grab from dnf. Mostly my preference since Noto Sans CJK already comes with the system, or else is for monospace usage.
- Chinese
- wqy-zenhei-fonts
- Korean
- naver-nanum-gothic-fonts
- naver-nanum-gothic-coding-fonts
- naver-nanum-myeongjo-fonts
Programming
Rust
- rust
- cargo
- rust-src
- Needed for analysis to work properly on std lib
- rust-analyzer
- For completion
$ curl -L https://github.com/rust-analyzer/rust-analyzer/releases/latest/download/rust-analyzer-x86_64-unknown-linux-gnu.gz | gunzip -c - > ~/.local/bin/rust-analyzer
$ chmod +x ~/.local/bin/rust-analyzer
C
- clang-tools-extra
- Comes with clangd for completion
Laptop-specific
dnf packages:
- tlp
- Remember to enable service
- powertop
- Only used to monitor power draw, not using savings features (left for TLP)
ThinkPad-specific
At least on my X230…
tlp
- acpi_call akmod recommended
- Ensure rpmfusion installed
$ sudo dnf install https://repo.linrunner.de/fedora/tlp/repos/releases/tlp-release.fc$(rpm -E %fedora).noarch.rpm
$ sudo dnf install kernel-devel akmod-acpi_call
Misc notes
Other useful tips/tricks, I guess.
Installing fonts
Place fonts (OTF recommended) into ~/.local/share/fonts
, then reload with fc-cache -fv
.