-
Notifications
You must be signed in to change notification settings - Fork 3
Arch setup
This guide assumes the drive has already been partitioned and the EFI bootloader is already in place. I'll include these detailed steps the next time I need to do it. As I'm writing up these steps, I'm performing them on a machine that's already had it done, and I can't spend the time to start from scratch this time.
- Start with a bootable thumb drive that includes the latest version
dd if=archlinux-date-x86_64.iso of=/dev/sdb bs=1M status=progress; sync
- Go through the normal installation instructions while keeping these things in mind
-
Install essential packages: add
grub efibootmgr intel-ucode iwd networkmanager neovimto the list
-
Install essential packages: add
- Install Zsh and set it as the default shell
pacman -S vi zsh zsh-completions sudo
- Add my user account
useradd -m -G wheel -s /bin/zsh donpasswd don-
visudoand uncomment the line that adds thewheelgroup
- Log out and back in as me
pacman -S git opensshmkdir -p ~/.config/i3 ~/.config/i3status ~/.config/termite ~/projects ~/reposcd ~/projectsgit clone https://github.com/don-smith/dotfiles.gitcd dotfiles./link
pacman -S termite xclip tmux hub neovim tree zsh-syntax-highlighting base-devel- Install NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bashnvm install --ltsnvm use --ltsnvm alias default [latest LTS version]- If you get the "nvm is not compatible with the npm config prefix" error, run
npm --prefix="$NVM_DIR/versions/node/vX.X.X" set prefix "$NVM_DIR/versions/node/vX.X.X
- Install Oh-my-Zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
- Install OMZ Spaceship theme
npm install -g spaceship-prompt
- Install Tmux
mkdir -p ~/.tmux/pluginsgcl https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm- Restart the terminal
tmuxsource-file ~/.tmux.conf- Ctrl-b I to install the tmux plugins
- Install the Powerline status bar
pacman -S python python-pip python-pylint python-setuptoolssudo pip install powerline-statusgcl https://github.com/powerline/fonts.git ~/repos/powerline-fonts~/repos/powerline-fonts/install.sh
- Setup NeoVim
curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vimsudo pip install neovim-
nvimonce open:PlugInstall nvim +PluginInstall +qallnvim +UpdateRemotePlugins +qall
- Install NordVPN
pacman -S openvpn-nordvpnsudo nordvpn rank nzsudo nordvpn start [first item in the list]
- Install X11
pacman -S xorg-server xorg-xinit xorg-xrandr xf86-video-intel xf86-input-synaptics i3 dmenu feh polkit lxqt-policykit- At some point, install
dmenu-frecencyandstarshipfrom the AUR
- Install pairing tool:
pacman -S solaar - Pair with device :
solaar-cli pair - Turn on mouse
-
pacman -S pulseaudio pulseaudio-alsa pulseaudio-jack -
Join
audiogroup withsudo gpasswd -a don audio- To enable in the current terminal (without having to log out and in):
newgrp audio
- To enable in the current terminal (without having to log out and in):
-
Add this line to
/etc/security/limits.conf(needsudo)@audio - rtprio 99
- Install docker with
pacman -S docker docker-compose - Follow the instructions for setting up Docker on Arch
- Join
dockergroup withsudo gpasswd -a don docker- To enable in the current terminal (without having to log out and in):
newgrp docker
- To enable in the current terminal (without having to log out and in):
- Change storage driver
-
sudo mkdir /etc/systemd/system/docker.service.d -
Add this to
/etc/systemd/system/docker.service.d/override.conf[Service] ExecStart= ExecStart=/usr/bin/dockerd -H fd:// -s overlay2 -
Start the service with
sudo systemctl start docker -
Verify all is good with
docker info(make sure overlay is the storage driver) -
To spin up a Ruby on Rails environment, there is a good tutorial.
-
```
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
```
- The dotfiles were cloned using
https. After creating a new SSH key for GitHub, change the remote URL:git remote set-url origin git@github.com:don-smith/dotfiles.git
-
rangeris a good terminal file manager (even though I rarely use one). If you install it, installhighlightas well so you can get syntax highlighted file previews. Don't forget toranger --copy-config=allor at leastranger --copy-config=scopeto enable it.
I didn't end up documenting all of the steps. It was very late and I hadn't planned on repaving my machine.
I've documented all of the hairy bits. It really was pretty easy.