New arch setup
This commit is contained in:
143
new.md
Normal file
143
new.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user