Peform the following steps after bare installation of Arch Linux.
systemctl enable --now systemd-networkd
systemctl enable --now systemd-resolved
# To make non GNU-libc applications (like kubectl written in Golang) work.
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.confModify /etc/systemd/network/20-wired.network to:
[Match]
Name=ETHERNET_DEVICE
[Network]
DHCP=ipv4
IPv6PrivacyExtensions=yes
[DHCP]
RouteMetric=10
To setup Wi-fi:
pacman -S iwd
systemctl enable --now iwdModify /etc/systemd/network/25-wireless.network to:
[Match]
Name=WIFI_DEVICE
[Network]
DHCP=ipv4
IPv6PrivacyExtensions=yes
[DHCP]
RouteMetric=20
Modify /etc/iwd/main.conf to:
[General]
dns_resolve_method=systemd
Use iwctl to connect to a Wi-fi network.
For eduroam create file /var/lib/iwd/eduroam.8021x with the following
content (don't forget to replace the password). Set permissions to 600 to the
file.
[Security]
EAP-Method=PEAP
EAP-Identity=indrama1@fel.cvut.cz
EAP-PEAP-CACert=/etc/ssl/certs/DigiCert_Assured_ID_Root_CA.pem
EAP-PEAP-Phase2-Method=MSCHAPV2
EAP-PEAP-Phase2-Identity=indrama1@fel.cvut.cz
EAP-PEAP-Phase2-Password=<place-password-here>
[Settings]
Autoconnect=true
Use Avahi for zero-configuration network (service discovery, mDNS, etc.):
pacman -S avahi nss-mdns
systemctl enable --now avahi-daemonAdd mdns_minimal [NOTFOUND=return] to hosts in /etc/nsswitch.conf before
resolve and dns. See https://wiki.archlinux.org/index.php/Avahi
systemctl enable --now systemd-timesyncduseradd indy
passwd indy
mkdir /home/indy
chown -R indy:indy /home/indyConfigure access to network administration:
sudo groupadd netdev
sudo usermod -aG netdev indy
pacman -S sudo
groupadd sudo
usermod -aG sudo indyAdd or uncomment this line %sudo ALL=(ALL:ALL) ALL in /etc/sudoers.
pacman -S xf86-video-intel
pacman -S sddm plasma-meta
systemctl enable sddmAll of the following commands work if executed under my user.
Install Paru.
Development:
sudo pacman -S man-dbOther:
# Note that gcc is needed for Emacs to work properly. See
# https://wiki.archlinux.org/index.php/Emacs#Emacs_fails_to_start_with_the_error_message_'Undefined_color:_%22WINDOW_FOREGROUND%22'
sudo pacman -S firefox konsole xclip gcc htop jq ripgrep ktorrent dolphin \
okular vlc spectacle rsync make python-sphinx ark korganizer wget exa \
unzip gzip kuickshow mdbooksudo pacman -S openssh
ssh-keygen -t rsa -b 4096 -C "martin.indra@mgn.cz"
ssh-add ~/.ssh/id_rsaAdd the SSH key to GitHub and GitLab.
sudo pacman -S git git-lfs git-cryptsudo pacman -S pass
git clone git@github.com:Indy2222/pass.git ~/.password-storeClone this repository:
git clone git@github.com:Indy2222/dotfiles ~/dotfilesln -s ~/dotfiles/git/config ~/.gitconfig
ln -s ~/dotfiles/git/gitignore ~/.gitignore_globalln -s ~/dotfiles/gpg/gpg-agent.conf ~/.gnupg/gpg-agent.conf
killall gpg-agent
# private.txt is placed on a secret device
gpg --import --armor private.txtsudo pacman -S ttf-jetbrains-mono extra/noto-fonts-emojisudo pacman -S zsh eza atuin
sudo paru -S zoxide
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
rm ~/.zshrc
ln -s ~/dotfiles/zsh/zshrc ~/.zshrc
ln -s ~/dotfiles/zsh ~/zshTheme:
ln -s ~/dotfiles/zsh/minimal.zsh-theme ~/.oh-my-zsh/custom/themes/Plugins:
cd ~/.oh-my-zsh/custom/plugins
# syntax highlighting
git clone https://github.com/zdharma/fast-syntax-highlighting.gitAtuin:
ln -sf ~/dotfiles/zsh/atuin.toml ~/.config/atuin/config.tomlChange shell for indy:
chsh indysudo pacman -S tmux
ln -s ~/dotfiles/tmux.conf ~/.tmux.confsudo pacman -S alacritty
mkdir ~/.config/alacritty
ln -s ~/dotfiles/alacritty.toml ~/.config/alacritty/alacritty.tomlsudo pacman -S bat
mkdir ~/.config/bat
ln -s ~/dotfiles/bat.conf ~/.config/bat/configsudo pacman -S emacs aspell aspell-en aspell-cs aspell-it
mkdir ~/.emacs.d
mkdir ~/notes
ln -s ~/dotfiles/emacs/early-init.el ~/.emacs.d/early-init.el
ln -s ~/dotfiles/emacs/init.el ~/.emacs.d/init.el
systemctl --user enable --now emacssudo pacman -S firefoxInstall https://addons.mozilla.org/en-US/firefox/addon/plasma-integration/
sudo pacman -S plasma-browser-integrationsudo pacman -S rustup pandoc fd
rustup toolchain install stable-x86_64-unknown-linux-gnu
rustup toolchain install nightly-x86_64-unknown-linux-gnu
rustup component add rust-analyzersudo pacman -S pyenv python-poetrysudo pacman -S dotnet-sdksudo pacman -S docker
sudo usermod -G docker indy
systemctl enable --now dockersudo pacman -S kubectlFollow instructions from https://cloud.google.com/sdk/docs/quickstart-linux.
Follow instruction from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-apt?view=azure-cli-latest
sudo pacman -S texlive-mostsudo pacman -S tor
systemctl enable --now torIn Preferences > General > Network Settings > Settings…, select Manual proxy configuration and enter SOCKS host localhost with port 9050 (SOCKS v5). To channel all DNS requests through TOR's socks proxy, also select Proxy DNS when using SOCKS v5.
sudo pacman -S cups
systemctl enable --now cups.socket
sudo usermod -a -G sys indysudo pacman -S bluez bluez-utils pipewire-pulse
systemctl enable --now bluetooth.servicesudo pacman -S vnstat
systemctl enable --now vnstatInstall MEGA Desktop App and configure syncing of appropriate directories.