begin flushing out arch workstation + base
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
.vscode/
|
.vscode/
|
||||||
|
venv/
|
||||||
880
arch/base.md
880
arch/base.md
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,173 @@
|
|||||||
# Workstation
|
# Workstation
|
||||||
|
|
||||||
## Setup
|
- [Workstation](#workstation)
|
||||||
|
- [Base Tools](#base-tools)
|
||||||
|
- [ZSH](#zsh)
|
||||||
|
- [Podman](#podman)
|
||||||
|
- [QEMU/KVM](#qemukvm)
|
||||||
|
- [Arch Guests](#arch-guests)
|
||||||
|
- [Kubernetes](#kubernetes)
|
||||||
|
- [VSCode](#vscode)
|
||||||
|
- [Shell](#shell)
|
||||||
|
- [Fonts](#fonts)
|
||||||
|
- [Extensions](#extensions)
|
||||||
|
- [Remote Desktop](#remote-desktop)
|
||||||
|
- [Transmission](#transmission)
|
||||||
|
- [Wireguard](#wireguard)
|
||||||
|
|
||||||
### Disks
|
## Base Tools
|
||||||
|
|
||||||
1. 1GB Fat32 boot sector
|
```bash
|
||||||
2. 1GB Fat32 bios sector
|
pacman -S rsync which git iperf3
|
||||||
3. 500GB BTRFS Gaming sector
|
```
|
||||||
4. Remaining BTRFS Workstation sector
|
|
||||||
|
## ZSH
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pacman -S zsh grml-zsh-config
|
||||||
|
chsh -s $(which zsh)
|
||||||
|
echo "autoload -U compinit; compinit" > ~/.zshrc
|
||||||
|
```
|
||||||
|
|
||||||
|
## Podman
|
||||||
|
|
||||||
|
1. `pacman -S podman buildah cni-plugins slirp4netns`
|
||||||
|
2. `podman pull docker.io/debian:latest`
|
||||||
|
3. `podman run -it debian:latest bash`
|
||||||
|
|
||||||
|
## QEMU/KVM
|
||||||
|
|
||||||
|
1. Install virtualization capabilties
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pacman -S qemu-full libvirt iptables-nft dnsmasq virt-manager qemu-desktop swtpm
|
||||||
|
usermod -aG libvirt ducoterra
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Edit /etc/libvirt/libvirtd.conf
|
||||||
|
|
||||||
|
```conf
|
||||||
|
...
|
||||||
|
unix_sock_group = 'libvirt'
|
||||||
|
...
|
||||||
|
unix_sock_rw_perms = '0770'
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Edit /etc/libvirt/qemu.conf
|
||||||
|
|
||||||
|
```conf
|
||||||
|
# Some examples of valid values are:
|
||||||
|
#
|
||||||
|
# user = "qemu" # A user named "qemu"
|
||||||
|
# user = "+0" # Super user (uid=0)
|
||||||
|
# user = "100" # A user named "100" or a user with uid=100
|
||||||
|
#
|
||||||
|
user = "ducoterra"
|
||||||
|
|
||||||
|
# The group for QEMU processes run by the system instance. It can be
|
||||||
|
# specified in a similar way to user.
|
||||||
|
group = "ducoterra"
|
||||||
|
```
|
||||||
|
|
||||||
|
4. `sudo systemctl enable --now libvirtd`
|
||||||
|
5. `sudo virsh net-autostart default`
|
||||||
|
|
||||||
|
If you get a blank screen when launching a VM check that you've used the correct bios -
|
||||||
|
either secboot or not secboot. This is the most common problem.
|
||||||
|
|
||||||
|
### Arch Guests
|
||||||
|
|
||||||
|
In order to get drivers for spice you'll need the guest spice drivers:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S qemu-guest-agent spice-vdagent
|
||||||
|
```
|
||||||
|
|
||||||
|
## Kubernetes
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pacman -S kubectl helm
|
||||||
|
```
|
||||||
|
|
||||||
|
## VSCode
|
||||||
|
|
||||||
|
For the open source version of code install `code`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S code
|
||||||
|
```
|
||||||
|
|
||||||
|
For the proprietary version of vscode install `yay` and then:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yay -S visual-studio-code-bin
|
||||||
|
```
|
||||||
|
|
||||||
|
### Shell
|
||||||
|
|
||||||
|
Edit settings.json
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"terminal.integrated.defaultProfile.linux": "zsh",
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Fonts
|
||||||
|
|
||||||
|
Intel One Mono is designed to be easily readable for developers.
|
||||||
|
|
||||||
|
<https://github.com/intel/intel-one-mono>
|
||||||
|
|
||||||
|
Download and extract the ttf.zip
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir ~/.local/share/fonts
|
||||||
|
rsync -av /path/to/download/*.ttf ~/.local/share/fonts/
|
||||||
|
```
|
||||||
|
|
||||||
|
Edit settings.json
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"editor.fontFamily": "IntelOne Mono",
|
||||||
|
"editor.fontLigatures": true,
|
||||||
|
"terminal.integrated.fontFamily": "IntelOne Mono",
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Extensions
|
||||||
|
|
||||||
|
To save a list of installed extensions run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
code --list-extensions >> vscode_extensions.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
To install that list of extensions run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat vscode_extensions.txt | xargs -L 1 code --install-extension
|
||||||
|
```
|
||||||
|
|
||||||
|
## Remote Desktop
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pacman -S remmina freerdp
|
||||||
|
```
|
||||||
|
|
||||||
|
## Transmission
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pacman -S gtk4 transmission-gtk
|
||||||
|
```
|
||||||
|
|
||||||
|
### Wireguard
|
||||||
|
|
||||||
|
Wireguard requires `linux-headers`. If that isn't installed or is misconfigured your
|
||||||
|
vpn likely won't activate.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pacman -S wireguard-tools
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user