add instructions.org and packages.txt
This commit is contained in:
parent
0e1adcd65d
commit
db21668969
292
instructions.org
Normal file
292
instructions.org
Normal file
@ -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
|
118
packages.txt
Normal file
118
packages.txt
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
pip
|
||||||
|
curl
|
||||||
|
ca-certificates
|
||||||
|
nss
|
||||||
|
nss-pem
|
||||||
|
make
|
||||||
|
automake
|
||||||
|
gcc
|
||||||
|
gcc-c++
|
||||||
|
kernel-devel
|
||||||
|
git
|
||||||
|
zsh
|
||||||
|
ntpsec
|
||||||
|
dnf-plugins-core
|
||||||
|
golang
|
||||||
|
flatpak
|
||||||
|
cmake
|
||||||
|
libevdev-devel
|
||||||
|
systemd-devel
|
||||||
|
yaml-cpp-devel
|
||||||
|
boost-devel
|
||||||
|
ripgrep
|
||||||
|
fd-find
|
||||||
|
ShellCheck
|
||||||
|
tar
|
||||||
|
pip
|
||||||
|
polkit
|
||||||
|
fontawesome-fonts
|
||||||
|
chafa
|
||||||
|
bc
|
||||||
|
dosfstools
|
||||||
|
libnotify
|
||||||
|
exfatprogs
|
||||||
|
swaybg
|
||||||
|
ffmpeg
|
||||||
|
ffmpegthumbnailer
|
||||||
|
mcomix3-thumbnailer
|
||||||
|
gnome-kra-ora-thumbnailer
|
||||||
|
gnome-epub-thumbnailer
|
||||||
|
webp-pixbuf-loader
|
||||||
|
gnome-keyring
|
||||||
|
wl-clipboard
|
||||||
|
neovim
|
||||||
|
mpd
|
||||||
|
mpc
|
||||||
|
mpv
|
||||||
|
man-db
|
||||||
|
ncmpcpp
|
||||||
|
newsboat
|
||||||
|
google-noto-fonts-common
|
||||||
|
google-noto-emoji-fonts
|
||||||
|
fcitx5
|
||||||
|
fcitx5-mozc
|
||||||
|
ntfs-3g
|
||||||
|
wireplumber
|
||||||
|
pipewire-pulseaudio
|
||||||
|
abook
|
||||||
|
unzip
|
||||||
|
lynx
|
||||||
|
zathura-plugins-all
|
||||||
|
krita
|
||||||
|
poppler
|
||||||
|
mediainfo
|
||||||
|
atool
|
||||||
|
fzf
|
||||||
|
bat
|
||||||
|
brightnessctl
|
||||||
|
task-spooler
|
||||||
|
htop
|
||||||
|
waybar
|
||||||
|
dmenu
|
||||||
|
sway
|
||||||
|
swaylock
|
||||||
|
swaybg
|
||||||
|
swayidle
|
||||||
|
socat
|
||||||
|
moreutils
|
||||||
|
neomutt
|
||||||
|
isync
|
||||||
|
msmtp
|
||||||
|
pass
|
||||||
|
keepassxc
|
||||||
|
NetworkManager-tui
|
||||||
|
wtype
|
||||||
|
fortune-mod
|
||||||
|
cowsay
|
||||||
|
perl-File-MimeInfo
|
||||||
|
syncthing
|
||||||
|
deluge
|
||||||
|
obs-studio
|
||||||
|
grimshot
|
||||||
|
mumble
|
||||||
|
dino
|
||||||
|
gammastep
|
||||||
|
sqlite3
|
||||||
|
gnome-themes-extra
|
||||||
|
adwaita-qt5
|
||||||
|
adwaita-qt6
|
||||||
|
ImageMagick
|
||||||
|
alerque-libertinus-fonts
|
||||||
|
godot
|
||||||
|
terminus-fonts
|
||||||
|
terminus-fonts-console
|
||||||
|
pcmanfm
|
||||||
|
materia-gtk-theme
|
||||||
|
papirus-icon-theme
|
||||||
|
GraphicsMagick
|
||||||
|
microcode_ctl
|
||||||
|
wget
|
||||||
|
neofetch
|
||||||
|
elinks
|
||||||
|
dnf-utils
|
||||||
|
steam-devices
|
||||||
|
thunderbird
|
||||||
|
thunderbird-wayland
|
||||||
|
hugo
|
||||||
|
torbrowser-launcher
|
||||||
|
stow
|
Loading…
Reference in New Issue
Block a user