Files
dotfiles/new.md
2026-06-22 16:34:08 +02:00

144 lines
4.1 KiB
Markdown

# Packages
## Base install
Install these with `pacstrap` while installing Arch:
```sh
base_packages=(
base # Minimal Arch system
linux # Linux kernel
sudo # Run commands as root from the user account
iwd # Wi-Fi management during and after install
git # Version control and cloning dotfiles
)
pacstrap /mnt "${base_packages[@]}"
```
## Core tools
Install after booting into the new system:
```sh
core_packages=(
tmux # Terminal multiplexer
kakoune # Text editor
man-db # Manual page database
man-pages # Linux and POSIX manual pages
clang # C/C++ compiler toolchain
make # Build automation tool
tcc # Tiny C compiler
ripgrep # Fast grep replacement, command: rg
curl # Download URLs from the command line
plocate # Fast file name search database
fzf # Fuzzy finder for terminal scripts and navigation
gdb # Debugger
)
sudo pacman -S --needed "${core_packages[@]}"
```
## Networking and remote files
```sh
network_packages=(
openssh # SSH client/server tools
sshfs # Mount remote machines over SSH
)
sudo pacman -S --needed "${network_packages[@]}"
```
## Desktop: Sway / Wayland
```sh
desktop_packages=(
sway # Wayland window manager
swayidle # Idle actions like lock, suspend, hibernate
swaybg # Wallpaper setter for Sway
swaylock # Screen locker for Sway/Wayland
foot # Wayland terminal emulator
wmenu # Lightweight Wayland launcher/menu
xorg-xwayland # Run X11 applications inside Wayland
wl-clipboard # wl-copy and wl-paste clipboard tools
xdg-desktop-portal-wlr # Portal backend for screen sharing and app integration
xdg-user-dirs # Standard folders like Downloads, Documents, Pictures
grim # Wayland screenshot tool
)
sudo pacman -S --needed "${desktop_packages[@]}"
```
## Audio and media
```sh
media_packages=(
pipewire # Modern Linux audio/media server
pipewire-pulse # PulseAudio compatibility for PipeWire
pipewire-alsa # ALSA compatibility for PipeWire
pipewire-jack # JACK compatibility for PipeWire
wireplumber # PipeWire session and policy manager
pavucontrol # Graphical volume mixer
ffmpeg # Video/audio codecs and conversion tools
imv # Image viewer
mpv # Video/audio player
)
sudo pacman -S --needed "${media_packages[@]}"
```
## Fonts
```sh
font_packages=(
ttf-fira-code # Monospace programming font with ligatures
noto-fonts # Broad Unicode font coverage
noto-fonts-cjk # Chinese, Japanese, and Korean font coverage
noto-fonts-emoji # Emoji font support
noto-fonts-extra # Extra Noto font families
ttf-liberation # Microsoft-compatible replacement fonts
ttf-dejavu # General purpose readable fonts
ttf-roboto # Roboto font family
)
sudo pacman -S --needed "${font_packages[@]}"
```
## Browser and extra tools
```sh
app_packages=(
firefox # Web browser
opencode # AI coding agent; may require AUR or a custom repository
)
sudo pacman -S --needed "${app_packages[@]}"
```
# Setting up the boot loader with systemd-boot
1. Setting up bootloader with systemd (EFI, mounted at /boot)
1.1. sudo bootctl install
1.2. copy over the loader.conf to /boot/loader/loader.conf and modify (set timeout to 0 because faster)
1.3. find partition ID using blkid
1.4. create arch boot entry with that UUID /boot/loader/entries/arch.conf
# Setup user
1. useradd -s /bin/bash -m -G wheel kk
1.1. `m` - means create directory
1.2. `-G wheel` - means add to sudo group so that sudo works when using the user
2. passwd kk
# Enabling internet
1. enable and start systemd-networkd
1.1. for ethernet: copy over the ethernet configuration file from default configs
1.2. for wifi: need to install iwd first in pacstrap, I think copy over the config and setup the connection using iwd
# Nvidia drivers
1. pacman -Syu nvidia-open
1.1. For my PC graphics card
sudo usermod -aG video,render
ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519