|
|
|
@ -0,0 +1,292 @@
|
|
|
|
|
#+title: Instructions
|
|
|
|
|
|
|
|
|
|
setting up the system and packages
|
|
|
|
|
|
|
|
|
|
** make new user and add to wheel
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
# make a user and add to the wheel group
|
|
|
|
|
useradd -m -g wheel user_name
|
|
|
|
|
# set a password
|
|
|
|
|
passwd user_name
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** prerequisites
|
|
|
|
|
|
|
|
|
|
for building/installing packages, also some dependencies for doomemacs, and zsh.
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
sudo dnf install curl ca-certificates make automake gcc gcc-c++ kernel-devel git util-linux-user zsh ntpsec dnf-plugins-core golang flatpak cmake libevdev-devel systemd-devel yaml-cpp-devel boost-devel ripgrep fd-find ShellCheck tar pip npm
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** get dotfiles
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
# getting dotfiles
|
|
|
|
|
git clone https://gitea.bubbletea.dev/cho/dotfiles ~/.dots
|
|
|
|
|
|
|
|
|
|
cp -rv ~/.dots/home/default/.* ~/
|
|
|
|
|
# or using stow
|
|
|
|
|
cd ~/.dots/home/ && stow default --target=$HOME/
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** rpmfusion
|
|
|
|
|
|
|
|
|
|
from https://rpmfusion.org/Configuration and https://rpmfusion.org/Howto/Multimedia
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
# rpmfusion
|
|
|
|
|
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
|
|
|
|
|
sudo dnf groupupdate core
|
|
|
|
|
|
|
|
|
|
# multimedia
|
|
|
|
|
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
|
|
|
|
|
sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
|
|
|
|
|
sudo dnf groupupdate sound-and-video
|
|
|
|
|
|
|
|
|
|
#amd
|
|
|
|
|
sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld
|
|
|
|
|
sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld
|
|
|
|
|
|
|
|
|
|
#dvd
|
|
|
|
|
sudo dnf install rpmfusion-free-release-tainted
|
|
|
|
|
sudo dnf install libdvdcss
|
|
|
|
|
|
|
|
|
|
# non-free firmware
|
|
|
|
|
sudo dnf install rpmfusion-nonfree-release-tainted
|
|
|
|
|
sudo dnf --repo=rpmfusion-nonfree-tainted install "*-firmware"
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** installing dnf packages
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
sudo dnf install -y $(cat ~/.dots/packages.txt)
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** sudoers
|
|
|
|
|
|
|
|
|
|
Allow wheel users to sudo with password and allow several system commands
|
|
|
|
|
(like `shutdown` to run without password).
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC shell
|
|
|
|
|
echo "%wheel ALL=(ALL:ALL) ALL" >/etc/sudoers.d/00-wheel-can-sudo
|
|
|
|
|
echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/dnf update,/usr/bin/dnf update -y,/usr/bin/loadkeys" >/etc/sudoers.d/01-cmds-without-password
|
|
|
|
|
echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-visudo-editor
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** Make zsh the default shell for the user.
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC shell
|
|
|
|
|
chsh -s /bin/zsh "$name" >/dev/null 2>&1
|
|
|
|
|
sudo -u "$name" mkdir -p "/home/$name/.cache/zsh/"
|
|
|
|
|
sudo -u "$name" mkdir -p "/home/$name/.config/abook/"
|
|
|
|
|
sudo -u "$name" mkdir -p "/home/$name/.config/mpd/playlists/"
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** librewolf (browser)
|
|
|
|
|
|
|
|
|
|
from https://librewolf.net/installation/fedora/
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
sudo dnf config-manager --add-repo https://rpm.librewolf.net/librewolf-repo.repo
|
|
|
|
|
|
|
|
|
|
sudo dnf install librewolf
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** doom emacs
|
|
|
|
|
|
|
|
|
|
first we need marked for markdown support
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
sudo npm -g marked
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
git clone https://github.com/doomemacs/doomemacs ~/.emacs.d
|
|
|
|
|
~/.emacs.d/bin/doom install
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** lf (file manager)
|
|
|
|
|
|
|
|
|
|
this fork of lf allows for sixel graphics, which allows you to see images in terminals that supports sixel
|
|
|
|
|
|
|
|
|
|
from https://github.com/horriblename/lf#installation
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
env CGO_ENABLED=0 go install -ldflags="-s -w" github.com/horriblename/lf@latest
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** interception tools (keyboard input mappings)
|
|
|
|
|
|
|
|
|
|
change caps lock to escape (pressed) and mod (held down)
|
|
|
|
|
|
|
|
|
|
INSTALL FROM SOURCE
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
git clone https://gitlab.com/interception/linux/tools.git interception-tools
|
|
|
|
|
cd interception-tools
|
|
|
|
|
cmake -B build -DCMAKE_BUILD_TYPE=Release
|
|
|
|
|
cmake --build build
|
|
|
|
|
cd build
|
|
|
|
|
sudo make install
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
git clone https://gitlab.com/interception/linux/plugins/dual-function-keys.git
|
|
|
|
|
cd dual-function-keys
|
|
|
|
|
make && sudo make install
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
it's a good idea to install these as well, if anything doesn't compile.
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
sudo dnf groupinstall "Development Tools" "Development Libraries"
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
*** installing the configuration
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
sudo cp -rv ~/.dots/etc/interception /etc/
|
|
|
|
|
sudo cp ~/.dots/etc/systemd/system/udevmon.service /etc/systemd/system/
|
|
|
|
|
|
|
|
|
|
# enable
|
|
|
|
|
sudo systemctl enable udevmon.service
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** sway notifications
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
dnf copr enable erikreider/SwayNotificationCenter
|
|
|
|
|
dnf install SwayNotificationCenter
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** autotiling in sway
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
pip install i3ipc
|
|
|
|
|
pip install autotiling==1.8
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** sc-im (terminal spreadsheet)
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
sudo dnf copr enable marcusmueller/sc-im
|
|
|
|
|
sudo dnf install sc-im
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** pip
|
|
|
|
|
*** keepmenu (dmenu keepassxc client)
|
|
|
|
|
|
|
|
|
|
https://github.com/firecat53/keepmenu/blob/main/docs/install.md#install-recommended
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
pip install --user keepmenu
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** go packages
|
|
|
|
|
*** pup
|
|
|
|
|
|
|
|
|
|
needed for rssadd RSS scanning to work, it's optional if you don't really need it.
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
go install github.com/ericchiang/pup@latest
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** packages from source/binaries
|
|
|
|
|
*** mpvpaper
|
|
|
|
|
|
|
|
|
|
animated wallpapers (used by `change-background`)
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
# install dependencies
|
|
|
|
|
sudo dnf install meson ninja-build pkg-config wayland-protocols-devel wayland-devel mpv-devel wlroots-devel
|
|
|
|
|
# Clone
|
|
|
|
|
git clone --single-branch https://github.com/GhostNaN/mpvpaper
|
|
|
|
|
# Build
|
|
|
|
|
cd mpvpaper
|
|
|
|
|
meson build --prefix=/usr/local
|
|
|
|
|
ninja -C build
|
|
|
|
|
# Install
|
|
|
|
|
sudo ninja -C build install
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
*** 7-zip
|
|
|
|
|
|
|
|
|
|
get the downloads from https://www.7-zip.org/download.html
|
|
|
|
|
if you're using modern hardware, it's usually 64-bit linux x86-x64
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
# downloading and extracting the file
|
|
|
|
|
cd ~/Downloads/
|
|
|
|
|
curl -O <download-url>
|
|
|
|
|
mkdir 7-zip/
|
|
|
|
|
cd 7-zip/
|
|
|
|
|
tar -xvf ../<filename>.tar.xz
|
|
|
|
|
# put it into a PATH directory
|
|
|
|
|
sudo cp 7zz /usr/local/bin/
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
#+RESULTS:
|
|
|
|
|
|
|
|
|
|
** setting up flatpak
|
|
|
|
|
|
|
|
|
|
from https://flatpak.org/setup/Fedora
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** flatpak packages
|
|
|
|
|
*** bottles and dependencies
|
|
|
|
|
|
|
|
|
|
- gamescope
|
|
|
|
|
- mangohud
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
flatpak install -y com.valvesoftware.Steam.Utility.gamescope com.usebottles.bottles org.freedesktop.Platform.VulkanLayer.MangoHud
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
*** flatseal
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
flatpak install -y com.github.tchx84.Flatseal
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
*** steam
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
flatpak install -y com.valvesoftware.Steam
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** installing cargo
|
|
|
|
|
https://doc.rust-lang.org/cargo/getting-started/installation.html
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC shell
|
|
|
|
|
curl https://sh.rustup.rs -sSf | sh
|
|
|
|
|
# choose to customize installation, and choose `no` when it asks to modify PATH variable.
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
** other
|
|
|
|
|
*** crashes with wayland under amd gpus
|
|
|
|
|
this happens on my machine. changing kernel to improves this issue, but it does still happen infrequently. may have to do with gpu drivers.
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
|
sudo dnf install 'dnf-command(versionlock)'
|
|
|
|
|
|
|
|
|
|
# create a temporary directory
|
|
|
|
|
mkdir /tmp/kernel && cd /tmp/kernel
|
|
|
|
|
|
|
|
|
|
# get packages
|
|
|
|
|
wget https://kojipkgs.fedoraproject.org/packages/kernel/6.0.14/300.fc37/x86_64/kernel-6.0.14-300.fc37.x86_64.rpm https://kojipkgs.fedoraproject.org/packages/kernel/6.0.14/300.fc37/x86_64/kernel-core-6.0.14-300.fc37.x86_64.rpm https://kojipkgs.fedoraproject.org/packages/kernel/6.0.14/300.fc37/x86_64/kernel-devel-6.0.14-300.fc37.x86_64.rpm https://kojipkgs.fedoraproject.org/packages/kernel/6.0.14/300.fc37/x86_64/kernel-modules-6.0.14-300.fc37.x86_64.rpm
|
|
|
|
|
# install them
|
|
|
|
|
sudo dnf install *.rpm
|
|
|
|
|
|
|
|
|
|
# lock them in their versions
|
|
|
|
|
sudo dnf versionlock add kernel-0:6.0.14-300.fc37 kernel-core-0:6.0.14-300.fc37 kernel-devel-0:6.0.14-300.fc37 kernel-modules-0:6.0.14-300.fc37
|
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
|
|
* todos
|
|
|
|
|
** add packages
|
|
|
|
|
*** TODO add simple-mtpfs
|
|
|
|
|
dnf package unmaintained
|
|
|
|
|
*** TODO add syncplay
|
|
|
|
|
the copr repository batmanfeynman/syncplay is unmaintained
|