@@ 86,5 86,10 @@ You absolutely must focus on making a small prototype of your games before doing
Make your game idea's foundation first. **If it's not fun, it's probably not worth making.**
-So, what can you do to improve on making prototypes and generating ideas? _Game jams_. Game jams are all about making small little games, usually not more than 5 minutes long. They typically have a theme involved, or some modifiers to include if you're feeling up to the challenge. My last two game jam games came out rather well. The first one I made this year, [dungeonyx](https://diode.zone/w/hufrSGMRxdPpRBzE1DULpA), is my most popular game on Itch by far.
+So, what can you do to improve on making prototypes and generating ideas? _Game
+jams_. Game jams are all about making small little games, usually not more than
+5 minutes long. They typically have a theme involved, or some modifiers to
+include if you're feeling up to the challenge. My last two game jam games came
+out rather well. The first one I made this year,
+[dungeonyx](https://stormkmd.itch.io/dungeonyx), is my most popular game on Itch by far.
@@ 1,7 1,7 @@
+++
title = "Stable Void Linux Setup Guide"
date = 2020-09-06
-updated = 2022-12-18
+updated = 2023-02-19
draft = false
+++
@@ 20,6 20,11 @@ draft = false
- [Date & Time](#date-time)
* [Conclusion](#conclusion)
+NOTE: This guide has specific installation instructions for a desktop
+environment including dbus, seatd, iwd, pipewire, and a window manager (I'm
+using sway). If that's not what you're here for, you can still follow the steps
+below and roll with whatever you like (GNOME, KDE, etc).
+
## Intro
I won't bore you with the basics. You're here because you don't want to be running Ubuntu. Void is like Arch in the way of having total customization over your packages, with a start-from-scratch mentality. You don't mind spending 4 hours setting up your system because you want it to be _your_ system.
@@ 32,6 37,9 @@ Initially, I wanted this to be more general and less personalized. However, as I
## Installation notes
+NOTE: If you would like to encrypt your drive, please follow the official Void Linux
+guide. Otherwise, continue with the below paragraph.
+
Before you run the installer, start up `dhcpcd`. Then, link `wpa_supplicant` and start that, too. Go through `wpa_supplicant` to get connected to the internet. Once that's done, run the installer and fill out all the fields. In my experience, trying to connect to the internet without starting both services resulted in an error if I tried to update my system. Running just `wpa_supplicant` is also not enough because your DNS settings will not copy over from installation. I have tried re-connecting but for some reason running `dhcpcd` first was the only way to get things to really 'work'.
## Post Installation
@@ 40,29 48,40 @@ Before you run the installer, start up `dhcpcd`. Then, link `wpa_supplicant` and
Absolutely your first step should be to link and start `dhcpcd` and `wpa_supplicant`. Verify your connection (it should work fine if you followed the steps above), then update the system.
+```bash
+xbps-install -Su
+```
+
Enable repositories:
```bash
xbps-install void-repo-nonfree void-repo-multilib void-repo-multilib-nonfree
```
-Change mirrors (seriously helps with download speeds, see a list of mirrors [here](https://docs.voidlinux.org/xbps/repositories/mirrors/index.html?highlight=mirros#mirrors)):
+Make a new user and login to it (recommended before the next steps)
```bash
-mkdir -p /etc/xbps.d
-cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/
-sed -i 's|https://alpha.de.repo.voidlinux.org|<repository>|g' /etc/xbps.d/*-repository-*.conf
+useradd name
+passwd name
+```
+
+Check the void docs for sudo permissions and also about adding to other groups
+(if using seatd).
+
+Change mirrors (seriously helps with download speeds, see a list of mirrors [here](https://docs.voidlinux.org/xbps/repositories/mirrors/index.html?highlight=mirros#mirrors)):
+```bash
+xbps-install xmirror
+xmirror
xbps-install -S
```
-
### Basic packages
Install any basic packages that you might want, here are my personal preferences:
```bash
-xbps-install vim, zsh, curl, git
+xbps-install vim zsh curl git gnupg lf
```
### System-critical packages
@@ 88,19 107,19 @@ usermod -aG _seatd $USER
Install graphics drivers. I am using an AMD graphics card:
```bash
-xbps-install mesa-dri vulkan-loader mesa-vulkan-radeon
+xbps-install mesa-dri
```
Install xdg packages:
```bash
-xbps-install xdg-user-dirs xdg-utils
+xbps-install xdg-user-dirs xdg-utils xdg-desktop-portal-wlr
```
Install WM of choice and additional utilities:
```bash
-xbps-install sway swaylock mako grim slurp clipman wl-clipboard wlsunset
+xbps-install sway swaylock mako grim slurp clipman wl-clipboard wlsunset bemenu foot
```
Write login file to set up XDG_RUNTIME_DIR:
@@ 122,15 141,31 @@ dbus-run-session sway
I use pipewire for audio, which can replace alsa and pulseaudio. You'll still need alsa installed, and there are a couple more steps listed in the [docs](https://docs.voidlinux.org/config/media/pipewire.html).
```bash
-xbps-install alsa-utils pipewire
+xbps-install alsa-utils pipewire alsa-pipewire
```
Now it's time to set up `iwd`, a package that aims to replace wpa_supplicant.
```bash
-xbps-install iwd
+xbps-install iwd openresolv
unlink /var/service/wpa_supplicant
+unlink /var/service/dhcpcd
+```
+
+I use openresolv and enable iwds network so I don't need dhcpcd.
+
+`/etc/iwd/main.conf`
+```
+[General]
+UseDefaultInterface=true
+EnableNetworkConfiguration=true
+
+[Network]
+NameResolvingService=resolvconf
+```
+
+```bash
ln -s /etc/sv/iwd /var/service/iwd
sv start iwd