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