From 4969692f93b28040605e14050a06899a0282f012 Mon Sep 17 00:00:00 2001 From: KK Date: Mon, 22 Jun 2026 16:34:08 +0200 Subject: [PATCH] New arch setup --- .config/bash_aliases | 1 + .config/foot/foot.ini | 2 +- .config/sway/config | 2 +- .config/tmux/tmux.conf | 4 +- README.md | 5 +- new.md | 143 +++++++++++++++++++++++++++++++++++++++++ setup.sh | 12 +--- 7 files changed, 152 insertions(+), 17 deletions(-) create mode 100644 new.md diff --git a/.config/bash_aliases b/.config/bash_aliases index b381e53..54140a2 100644 --- a/.config/bash_aliases +++ b/.config/bash_aliases @@ -3,3 +3,4 @@ alias vi='kak' alias df='/usr/bin/git --git-dir=$HOME/.dotfilesrepo/ --work-tree=$HOME' alias unpack='dtrx' alias imv='imv-wayland' +alias sway='sway --unsupported-gpu' diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini index 21890ed..fb0ba20 100644 --- a/.config/foot/foot.ini +++ b/.config/foot/foot.ini @@ -1,5 +1,5 @@ [main] -font=JetBrains Mono:size=14 +font=JetBrains Mono:size=10 [bell] urgent=no diff --git a/.config/sway/config b/.config/sway/config index 0459e17..207df5d 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -247,7 +247,7 @@ bindsym $mod+r mode "resize" # Read `man j sway-bar` for more information about this section. bar { position top - font pango:JetBrains Mono $fontsize + font pango:Fira Code $fontsize # Show volume, brightness, and date/time. status_command ~/.config/sway/status.sh diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index 81f2943..d81f2e1 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -1,8 +1,8 @@ # ~/.config/tmux/tmux.conf # Enable extended key reporting for terminals/apps that support it. -set -g extended-keys on -set -g extended-keys-format csi-u +# set -g extended-keys on +# set -g extended-keys-format csi-u # Index windows/tabs and panes from 1 instead of 0. set -g base-index 1 diff --git a/README.md b/README.md index 7e0369e..e0b1689 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ Install guide with DIY spirit, key is to reproduce my system setup while making ## Current TODOs -- [ ] systemd-boot -- [ ] systemd-network + iwd +- [x] systemd-boot +- [x] systemd-network + iwd ### System / mounts @@ -185,6 +185,7 @@ sudo apt install -y \ pipewire \ pipewire-pulse \ pipewire-alsa \ + pipewire-jack \ wireplumber \ pavucontrol \ grim \ diff --git a/new.md b/new.md new file mode 100644 index 0000000..0e5bd1e --- /dev/null +++ b/new.md @@ -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 diff --git a/setup.sh b/setup.sh index 6b52d8c..2f57284 100644 --- a/setup.sh +++ b/setup.sh @@ -1,4 +1,4 @@ -SRC=$HOME/.dotfilesrepo +SRC=$HOME/dotfiles rm $HOME/.bashrc rm $HOME/.profile 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/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