New arch setup

This commit is contained in:
KK
2026-06-22 16:34:08 +02:00
parent 73214c732a
commit 4969692f93
7 changed files with 152 additions and 17 deletions

View File

@@ -3,3 +3,4 @@ alias vi='kak'
alias df='/usr/bin/git --git-dir=$HOME/.dotfilesrepo/ --work-tree=$HOME' alias df='/usr/bin/git --git-dir=$HOME/.dotfilesrepo/ --work-tree=$HOME'
alias unpack='dtrx' alias unpack='dtrx'
alias imv='imv-wayland' alias imv='imv-wayland'
alias sway='sway --unsupported-gpu'

View File

@@ -1,5 +1,5 @@
[main] [main]
font=JetBrains Mono:size=14 font=JetBrains Mono:size=10
[bell] [bell]
urgent=no urgent=no

View File

@@ -247,7 +247,7 @@ bindsym $mod+r mode "resize"
# Read `man j sway-bar` for more information about this section. # Read `man j sway-bar` for more information about this section.
bar { bar {
position top position top
font pango:JetBrains Mono $fontsize font pango:Fira Code $fontsize
# Show volume, brightness, and date/time. # Show volume, brightness, and date/time.
status_command ~/.config/sway/status.sh status_command ~/.config/sway/status.sh

View File

@@ -1,8 +1,8 @@
# ~/.config/tmux/tmux.conf # ~/.config/tmux/tmux.conf
# Enable extended key reporting for terminals/apps that support it. # Enable extended key reporting for terminals/apps that support it.
set -g extended-keys on # set -g extended-keys on
set -g extended-keys-format csi-u # set -g extended-keys-format csi-u
# Index windows/tabs and panes from 1 instead of 0. # Index windows/tabs and panes from 1 instead of 0.
set -g base-index 1 set -g base-index 1

View File

@@ -6,8 +6,8 @@ Install guide with DIY spirit, key is to reproduce my system setup while making
## Current TODOs ## Current TODOs
- [ ] systemd-boot - [x] systemd-boot
- [ ] systemd-network + iwd - [x] systemd-network + iwd
### System / mounts ### System / mounts
@@ -185,6 +185,7 @@ sudo apt install -y \
pipewire \ pipewire \
pipewire-pulse \ pipewire-pulse \
pipewire-alsa \ pipewire-alsa \
pipewire-jack \
wireplumber \ wireplumber \
pavucontrol \ pavucontrol \
grim \ grim \

143
new.md Normal file
View 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

View File

@@ -1,4 +1,4 @@
SRC=$HOME/.dotfilesrepo SRC=$HOME/dotfiles
rm $HOME/.bashrc rm $HOME/.bashrc
rm $HOME/.profile rm $HOME/.profile
ln -sf $SRC/.bashrc $HOME/.bashrc ln -sf $SRC/.bashrc $HOME/.bashrc
@@ -7,13 +7,3 @@ ln -sf $SRC/.profile $HOME/.profile
ln -sf $SRC/.config $HOME/.config ln -sf $SRC/.config $HOME/.config
ln -sf $SRC/bin $HOME/bin ln -sf $SRC/bin $HOME/bin
# Install kakoune
wget https://github.com/mawww/kakoune/releases/download/v2026.05.21/kakoune-v2026.05.21-linux.tar.bz2
unpack kakoune-v2026.05.21-linux.tar.bz2
cd kakoune-v2026.05.21-linux
sudo cp -r bin/* /usr/local/bin/
sudo cp -r libexec/* /usr/local/libexec/
sudo cp -r share/* /usr/local/share/
cd ..
rm kakoune-v2026.05.21-linux -rf
rm kakoune-v2026.05.21-linux.tar.bz2