New arch setup
This commit is contained in:
@@ -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'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[main]
|
[main]
|
||||||
font=JetBrains Mono:size=14
|
font=JetBrains Mono:size=10
|
||||||
|
|
||||||
[bell]
|
[bell]
|
||||||
urgent=no
|
urgent=no
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
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
|
||||||
12
setup.sh
12
setup.sh
@@ -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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user