First pages
This commit is contained in:
parent
fcf6d751b0
commit
cf08dc74ea
34 changed files with 1746 additions and 4 deletions
101
docs/void-desktop-setup/Application-launcher.-.md
Normal file
101
docs/void-desktop-setup/Application-launcher.-.md
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Application launcher
|
||||||
|
|
||||||
|
An application launcher may be used to easily start applications in Wayfire.
|
||||||
|
|
||||||
|
#### Tofi
|
||||||
|
|
||||||
|
For a fast and lightweight application launcher it's recommended to use `tofi` which starts in a few miliseconds if configured correctly. To install it:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy tofi
|
||||||
|
```
|
||||||
|
|
||||||
|
Tofi can be configured by editing `.config/tofi/config`.
|
||||||
|
|
||||||
|
```
|
||||||
|
cp -r {config-files-repo}/tofi .config/
|
||||||
|
```
|
||||||
|
|
||||||
|
To launch tofi through a keybind it has to be bound in `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[command]
|
||||||
|
binding_launcher = <super> KEY_S
|
||||||
|
command_launcher = tofi-drun | xargs /bin/bash -c -- & exit
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Wofi
|
||||||
|
|
||||||
|
Although the `wofi` package is no longer maintained and is generally less optimised compared to `tofi` it does have some important features that `tofi` does not have. Such as, a better positioning protocol.
|
||||||
|
|
||||||
|
To install the `wofi` package.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy wofi
|
||||||
|
```
|
||||||
|
|
||||||
|
Wofi may be configured by editing `.config/wofi/config`.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp -r {config-files-repo}/wofi .config/
|
||||||
|
```
|
||||||
|
|
||||||
|
Wofi may be launched with a keybind, thereby edit `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[command]
|
||||||
|
binding_launcher = <super> KEY_S
|
||||||
|
command_launcher = wofi --show drun
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Wlogout
|
||||||
|
|
||||||
|
Wlogout may be used as a specific launcher for power management options. Such as, reboot, suspend and to power off the system.
|
||||||
|
|
||||||
|
To install the `wlogout` package.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy wlogout
|
||||||
|
```
|
||||||
|
|
||||||
|
Wlogout can be configured by editing `.config/wlogout/layout`.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp -r {config-files-repo}/wlogout .config/
|
||||||
|
# cp {config-files-repo}/extra/wlogout-icons/* /usr/share/wlogout/icons/
|
||||||
|
```
|
||||||
|
|
||||||
|
Wlogout can be launched with a keybind, thereby edit `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[command]
|
||||||
|
binding_wlogout = <super> KEY_P
|
||||||
|
command_wlogout = wlogout
|
||||||
|
```
|
||||||
|
|
||||||
|
Wlogout needs permission to shutdown the system. This permission can be given by creating `/etc/polkit-1/rules.d/00-power-management.rules` and inserting.
|
||||||
|
|
||||||
|
```
|
||||||
|
polkit.addRule(function(action, subject)
|
||||||
|
{
|
||||||
|
if (action.id == "org.freedesktop.policykit.exec" && action.lookup("program") == "/bin/shutdown" && subject.isInGroup("wheel"))
|
||||||
|
return polkit.Result.YES;
|
||||||
|
});
|
||||||
|
|
||||||
|
polkit.addRule(function(action, subject)
|
||||||
|
{
|
||||||
|
if (action.id == "org.freedesktop.policykit.exec" && action.lookup("program") == "/bin/zzz" && subject.isInGroup("wheel"))
|
||||||
|
return polkit.Result.YES;
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```
|
||||||
|
# cp {config-files-repo}/polkit/00-power-management.rules /etc/polkit-1/rules.d/
|
||||||
|
```
|
93
docs/void-desktop-setup/Audio.md
Normal file
93
docs/void-desktop-setup/Audio.md
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Audio
|
||||||
|
|
||||||
|
To obtain audio the `pipewire` server will be used with an `alsa-pipewire` plugin in combination with `wireplumber` as session manager.
|
||||||
|
|
||||||
|
They may be installed with:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy alsa-pipewire pipewire wireplumber
|
||||||
|
```
|
||||||
|
|
||||||
|
Subsequently copy `/usr/share/pipewire/pipewire.conf` to `/etc/pipewire/`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# cp /usr/share/pipewire/pipewire.conf /etc/pipewire/
|
||||||
|
```
|
||||||
|
|
||||||
|
`/etc/pipewire/pipewire.conf` may be configured by inserting:
|
||||||
|
|
||||||
|
```
|
||||||
|
context.exec = [
|
||||||
|
{ path = "/usr/bin/wireplumber" args = "" }
|
||||||
|
{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf"}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Then `/etc/alsa/conf.d` may be created and pipewire configurations may be symlinked:
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -s /usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/
|
||||||
|
# ln -s /usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
|
||||||
|
```
|
||||||
|
|
||||||
|
Pipewire needs to be started by Wayfire.
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
audio = pipewire
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Audio control
|
||||||
|
|
||||||
|
To obtain some control over the audio `pavucontrol`, `pamixer` and `pa-notify` may be installed.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy pavucontrol pamixer pa-notify
|
||||||
|
```
|
||||||
|
|
||||||
|
Volume control bindings may be set with `pamixer` in `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[command]
|
||||||
|
binding_volumeup = KEY_VOLUMEUP
|
||||||
|
binding_volumedown = KEY_VOLUMEDOWN
|
||||||
|
binding_mute = KEY_MUTE
|
||||||
|
command_volumeup = pamixer -i 5 -u
|
||||||
|
command_volumedown = pamixer -d 5 -u
|
||||||
|
command_mute = pamixer -t
|
||||||
|
```
|
||||||
|
|
||||||
|
To be notified when changing the volume `pa-notify` may be used. It needs to be started by Wayfire.
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
audio_notify = sleep 1; pa-notify -t 2
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Music control
|
||||||
|
|
||||||
|
To control music and other media `playerctl` may be used.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy playerctl
|
||||||
|
```
|
||||||
|
|
||||||
|
The bindings may be set in `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
audio_player = playerctld daemon
|
||||||
|
|
||||||
|
[command]
|
||||||
|
binding_playpause = KEY_PLAYPAUSE
|
||||||
|
binding_next = KEY_NEXTSONG
|
||||||
|
binding_previous = KEY_PREVIOUSSONG
|
||||||
|
command_playpause = playerctl play-pause
|
||||||
|
command_next = playerctl next
|
||||||
|
command_previous = playerctl previous
|
||||||
|
```
|
35
docs/void-desktop-setup/Auto-mounting.-.md
Normal file
35
docs/void-desktop-setup/Auto-mounting.-.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Auto-mounting
|
||||||
|
|
||||||
|
`udiskie` will be used to automatically mount drives. It may be installed with.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xpbs-install -Sy udiskie
|
||||||
|
```
|
||||||
|
|
||||||
|
`udiskie` needs to be started in Wayfire. This can be obtained by editing `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
automount = udiskie -As
|
||||||
|
```
|
||||||
|
|
||||||
|
Furthermore, `udiskie` needs permission to mount drives, this permission can be given by creating `/etc/polkit-1/rules.d/00-mounting.rules` and inserting:
|
||||||
|
|
||||||
|
```
|
||||||
|
polkit.addRule(function(action, subject)
|
||||||
|
{
|
||||||
|
if (action.id.startsWith("org.freedesktop.udisks2.") && subject.isInGroup("storage"))
|
||||||
|
return polkit.Result.YES;
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```
|
||||||
|
# cp {config-files-repo}/polkit/00-mounting.rules /etc/polkit-1/rules.d/
|
||||||
|
```
|
66
docs/void-desktop-setup/Automatic-decryption.-.md
Normal file
66
docs/void-desktop-setup/Automatic-decryption.-.md
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Automatic decryption (unfinished)
|
||||||
|
|
||||||
|
Using Clevis it's possible to automatically decrypt the system upon startup. But because we haven't been able to figure out how to create a functional template file for that we'll have to compile it ourselves. Note that you must use the `booster` initramfs. (A lot more information about the possibilities from clevis can be found on the [ArchWiki](https://wiki.archlinux.org/title/Clevis))
|
||||||
|
|
||||||
|
#### Installing José
|
||||||
|
|
||||||
|
First we have to compile [José](https://github.com/latchset/jose), a "C-language implementation of Javascript Object Signing and Encryption". José is a dependency of Clevis.
|
||||||
|
First install the dependencies needed to compile josé.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy pkg-config zlib-devel jansson-devel openssl-devel jq-devel gcc meson ninja asciidoc
|
||||||
|
```
|
||||||
|
|
||||||
|
After that we have to obtain the source of José:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ xbps-fetch https://github.com/latchset/jose/archive/refs/tags/v11.tar.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
Unpack the Tar and go into the directory and follow the rest of these instructions:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mkdir build && cd build
|
||||||
|
$ meson .. --prefix=/usr
|
||||||
|
$ ninja
|
||||||
|
# ninja install
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Installing Clevis
|
||||||
|
|
||||||
|
After having installed José install the other dependencies.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy luksmeta cryptsetup-devel tpm2-tools libpwquality-devel
|
||||||
|
(probably missing a few)
|
||||||
|
```
|
||||||
|
|
||||||
|
Then clone the source code into a directory
|
||||||
|
|
||||||
|
```
|
||||||
|
$ xbps-fetch https://github.com/latchset/clevis/archive/refs/tags/v19.tar.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
After unpacking and going into the directory follow the rest of these instructions:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ meson build
|
||||||
|
$ ninja -C build
|
||||||
|
# ninja -C build install
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Acquiring automatic decryption
|
||||||
|
|
||||||
|
To bind our LUKS volume to TPM with clevis simply enter this command:
|
||||||
|
|
||||||
|
```
|
||||||
|
# clevis luks bind -d /dev/disk/by-label/luks tpm2 '{"pcr_bank":"sha256","pcr_ids":"1,7"}'
|
||||||
|
# xbps-reconfigure -f linux<version>
|
||||||
|
```
|
||||||
|
|
||||||
|
This will bind the partition with TPM2 and [secureboot](https://git.bijl.us/lnco/void-desktop-guide/wiki/Secure-boot.-) and now the root partition can be unencrypted on startup automatically.
|
30
docs/void-desktop-setup/Bluetooth.md
Normal file
30
docs/void-desktop-setup/Bluetooth.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Bluetooth
|
||||||
|
|
||||||
|
Bluetooth functionality may be obtained by enabling `bluetoothd`. Its packages may be installed by:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install bluez bluez-alsa libspa-bluetooth
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, `bluetoothd` may be enabled by symlinking it to `/var/service/`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -s /etc/sv/bluetoothd /var/service/
|
||||||
|
```
|
||||||
|
|
||||||
|
If it is the case that bluetooth is not constantly used. It may be generally disabled by:
|
||||||
|
|
||||||
|
```
|
||||||
|
# touch /var/service/bluetoothd/down
|
||||||
|
```
|
||||||
|
|
||||||
|
To be able to use bluetooth the user needs to be in the bluetooth group.
|
||||||
|
|
||||||
|
```
|
||||||
|
# usermod -aG bluetooth <user>
|
||||||
|
```
|
47
docs/void-desktop-setup/Display-configuration.-.md
Normal file
47
docs/void-desktop-setup/Display-configuration.-.md
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Display configuration
|
||||||
|
|
||||||
|
To configure the displays of the systems it's necessary to either configure them through `.config/wayfire.ini` or use an external application like `kanshi`.
|
||||||
|
|
||||||
|
To install kanshi:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy kanshi
|
||||||
|
```
|
||||||
|
|
||||||
|
To actually change the display settings edit the `.config/kanshi/config` according to it's manpage. It should look something like:
|
||||||
|
|
||||||
|
```
|
||||||
|
profile <profile_name> {
|
||||||
|
output "<display_1>" mode<horizontal_resolution>x<vertical_resolution>@<display_frequency> position <x_coordinate>,<y_coordinate>
|
||||||
|
output "<display_2>" mode<horizontal_resolution>x<vertical_resolution>@<display_frequency> position <x_coordinate>,<y_coordinate>
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
And make sure `kanshi` gets started by Wayfire by adding it to auto start.
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
outputs = kanshi
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Color-temperature adjustment
|
||||||
|
|
||||||
|
For changing the day/night gamma install `wlsunset`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy wlsunset
|
||||||
|
```
|
||||||
|
|
||||||
|
Add it to Wayfire by auto starting it through:
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
gamma = wlsunset -l <latitude> -L <longitude> -t <color-temperature>
|
||||||
|
```
|
||||||
|
|
||||||
|
Change the latitude, longitude and color-temperature according to your location and preference.
|
12
docs/void-desktop-setup/Essential-applications.-.md
Normal file
12
docs/void-desktop-setup/Essential-applications.-.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Essential applications
|
||||||
|
|
||||||
|
Some essential applications and packages.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install firefox-esr vscode foot Thunar element-desktop htop mpv blueman wdisplays wlr-randr noto-fonts-ttf noto-fonts-cjk
|
||||||
|
```
|
94
docs/void-desktop-setup/Firmware-and-drivers.-.md
Normal file
94
docs/void-desktop-setup/Firmware-and-drivers.-.md
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Firmware and drivers
|
||||||
|
|
||||||
|
#### GPU drivers
|
||||||
|
|
||||||
|
It is necessary for a graphical enviroment to install GPU drivers. To install the drivers for your GPU use one of the following commands:
|
||||||
|
|
||||||
|
* For Intel
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy linux-firmware-intel mesa mesa-dri vulkan-loader mesa-vulkan-intel intel-video-accel
|
||||||
|
```
|
||||||
|
|
||||||
|
* For AMD
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy linux-firmware-amd vulkan-loader mesa-vulkan-radeon amdvlk xf86-video-amdgpu mesa-vaapi mesa-vdpau mesa-dri
|
||||||
|
```
|
||||||
|
|
||||||
|
* For Nvidia (*glibc only*)
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy nvidia nvidia-opencl
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 32-bit drivers
|
||||||
|
|
||||||
|
(Only applicable to glibc as Void Linux musl only supports 64-bit)
|
||||||
|
|
||||||
|
To run 32-bit applications like some videogames it will also be necessary to install the 32-bit drivers:
|
||||||
|
|
||||||
|
* For Intel
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy mesa-32bit mesa-dri-32bit mesa-vulkan-intel-32bit vulkan-loader-32bit
|
||||||
|
```
|
||||||
|
|
||||||
|
* For AMD
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy vulkan-loader-32bit amdvlk-32bit mesa-32bit mesa-dri-32bit
|
||||||
|
```
|
||||||
|
|
||||||
|
* For Nvidia
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy nvidia-libs-32bit
|
||||||
|
```
|
||||||
|
|
||||||
|
#### CPU firmware
|
||||||
|
|
||||||
|
To keep the firmware of your CPU up to date it is necessary to install the correct microcode:
|
||||||
|
|
||||||
|
* For Intel
|
||||||
|
|
||||||
|
(The Intel microcode requires that you are using the nonfree repository)
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy intel-ucode
|
||||||
|
```
|
||||||
|
|
||||||
|
And regenerate the initramfs:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-reconfigure -f linux<version>
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* For AMD
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy linux-firmware-amd
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### Nvidia + Wayland
|
||||||
|
|
||||||
|
For Nvidia to work correctly with Wayfire you'll have to add the boot parameter to `/boot/loader/void-options.conf`.
|
||||||
|
|
||||||
|
```
|
||||||
|
nvidia-drm.modeset=1
|
||||||
|
```
|
||||||
|
|
||||||
|
And reconfigure the kernel:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-reconfigure -f linux<version>
|
||||||
|
```
|
8
docs/void-desktop-setup/Home.md
Normal file
8
docs/void-desktop-setup/Home.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
# A Void Linux installation
|
||||||
|
|
||||||
|
This install is based on the [EFI boot stub](https://mth.st/blog/void-efistub/) blog entry of [Matthias Totschnig](https://mth.st/), the [Void Handbook](https://docs.voidlinux.org/about/index.html) and the Void Linux [man pages](https://man.voidlinux.org/man-pages.7). This guide focuses on a Void Linux x86_64 glibc/musl install on uefi. In this install gummiboot is used as bootloader and the root partition will be encrypted.
|
41
docs/void-desktop-setup/Idle-and-lockscreen.-.md
Normal file
41
docs/void-desktop-setup/Idle-and-lockscreen.-.md
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Idle and lockscreen
|
||||||
|
|
||||||
|
Wayfire has a screensaver and dpms option. These may be configured by editing `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[idle]
|
||||||
|
screensaver_timeout = <timeout_screensaver>
|
||||||
|
dpms_timeout = <timeout_dpms>
|
||||||
|
```
|
||||||
|
|
||||||
|
Logically, `timeout_dpms` > `timeout_screensaver`.
|
||||||
|
|
||||||
|
`gtklock` is used as lockscreen, since it nicely matches the `gtkgreet` login manager.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy gtklock
|
||||||
|
```
|
||||||
|
|
||||||
|
`gtklock` can be configured with the same `css` file as `gtkgreet`. Thereby:
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -s /etc/greetd/config/gtkgreet.css .config/gtklock/style.css
|
||||||
|
```
|
||||||
|
|
||||||
|
To initiate `gtklock` before sleep and after a certain time, `swayidle` may be used.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy swayidle
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, in `.config/wayfire.ini` gtklock may be started with the given conditions:
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
idle = swayidle -w timeout 590 gtklock before-sleep gtklock
|
||||||
|
```
|
177
docs/void-desktop-setup/Installation-with-LVM.-.md
Normal file
177
docs/void-desktop-setup/Installation-with-LVM.-.md
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation with LVM
|
||||||
|
|
||||||
|
To install the Void Linux distribution on the system, the encrypted partition and the efi partition have to be mounted to the main system.
|
||||||
|
|
||||||
|
```
|
||||||
|
# mount /dev/mapper/lv0-root /mnt
|
||||||
|
# mkdir /mnt/boot
|
||||||
|
# mount /dev/disk/by-label/efi /mnt/boot
|
||||||
|
# for dir in dev proc sys run; do
|
||||||
|
> mkdir /mnt/$dir
|
||||||
|
> mount --rbind --make-rslave /$dir /mnt/$dir
|
||||||
|
> done
|
||||||
|
```
|
||||||
|
|
||||||
|
The "base-system" needs to be installed to the mounted drive. For this installation there is also other packages which are needed like NetworkManager, gummiboot and cryptsetup.
|
||||||
|
|
||||||
|
* For glibc:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy -R https://repo-default.voidlinux.org/current -r /mnt base-system cryptsetup gummiboot vim apparmor NetworkManager git lvm2 booster
|
||||||
|
```
|
||||||
|
|
||||||
|
* For musl:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy -R https://repo-default.voidlinux.org/current/musl -r /mnt base-system cryptsetup gummiboot vim apparmor NetworkManager git lvm2 booster
|
||||||
|
```
|
||||||
|
|
||||||
|
To get internet inside the chroot whilst installing the system, copy over the `resolv.conf`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# cp /etc/resolv.conf /mnt/etc/
|
||||||
|
```
|
||||||
|
|
||||||
|
Entering the chroot and configuring the system.
|
||||||
|
|
||||||
|
```
|
||||||
|
# chroot /mnt
|
||||||
|
# chown root:root /
|
||||||
|
# chmod 755 /
|
||||||
|
# passwd root
|
||||||
|
# echo <hostname> > /etc/hostname
|
||||||
|
```
|
||||||
|
|
||||||
|
Adding the `uuid` of the root partition to `crypttab` by:
|
||||||
|
|
||||||
|
```
|
||||||
|
# blkid -o value -s UUID /dev/<disk2> >> /etc/crypttab
|
||||||
|
```
|
||||||
|
|
||||||
|
Now edit `/etc/crypttab` and insert:
|
||||||
|
|
||||||
|
```
|
||||||
|
root /dev/disk/by-uuid/<uuid> none
|
||||||
|
```
|
||||||
|
|
||||||
|
We can configure the `fstab` by editing `/etc/fstab` and inserting:
|
||||||
|
|
||||||
|
```
|
||||||
|
tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0
|
||||||
|
efivarfs /sys/firmware/efi/efivars efivarfs defaults 0 0
|
||||||
|
/dev/disk/by-label/root / ext4 defaults,noatime 0 0
|
||||||
|
/dev/disk/by-label/home /home ext4 defaults,noatime 0 0
|
||||||
|
/dev/disk/by-label/efi /boot vfat defaults 0 2
|
||||||
|
```
|
||||||
|
|
||||||
|
Booster is a faster and more secure initramfs than Dracut.
|
||||||
|
|
||||||
|
To configure booster create a file `/etc/booster.yaml` which contains:
|
||||||
|
|
||||||
|
```
|
||||||
|
busybox: true
|
||||||
|
modules: vfat,nls_cp437,nls_iso8859_1
|
||||||
|
enable_lvm: true
|
||||||
|
```
|
||||||
|
|
||||||
|
Then to remove dracut from the system first create a config file at `/etc/xbps.d/no-dracut.conf`
|
||||||
|
|
||||||
|
```
|
||||||
|
ignorepkg=dracut
|
||||||
|
```
|
||||||
|
|
||||||
|
And after that delete it from the system with:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-remove -Ry dracut
|
||||||
|
```
|
||||||
|
|
||||||
|
Now mount `efivarfs` to `/sys/firmware/efi/efivars`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
|
||||||
|
```
|
||||||
|
|
||||||
|
And install gummiboot.
|
||||||
|
|
||||||
|
```
|
||||||
|
# gummiboot install
|
||||||
|
```
|
||||||
|
|
||||||
|
Create `/boot/loader/void-options.conf` to configure gummiboot.
|
||||||
|
|
||||||
|
```
|
||||||
|
# touch /boot/loader/void-options.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
The `uuid` is needed again and can be obtained by:
|
||||||
|
|
||||||
|
```
|
||||||
|
# blkid -o value -s UUID /dev/<disk2> >> /boot/loader/void-options.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
Now edit `/boot/loader/void-options.conf` and insert:
|
||||||
|
|
||||||
|
```
|
||||||
|
rw rd.luks.name=<uuid>=root root=/dev/disk/by-label/root quiet splash apparmor=1 security=apparmor loglevel=1 rd.lvm.vg=lv0
|
||||||
|
```
|
||||||
|
|
||||||
|
To obtain a boot menu. A timeout may be added to `/boot/loader/loader.conf`.
|
||||||
|
|
||||||
|
```
|
||||||
|
timeout 4
|
||||||
|
```
|
||||||
|
|
||||||
|
If running `glibc` the locales have to be configured, to configure the locales edit `/etc/default/libc-locales` and uncomment.
|
||||||
|
|
||||||
|
```
|
||||||
|
en_US.UTF-8 UTF-8
|
||||||
|
```
|
||||||
|
|
||||||
|
And reconfigure the locales.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-reconfigure -f glibc-locales
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
To obtain better security, `apparmor` will be set to enforce. By editing `/etc/default/apparmor` and inserting:
|
||||||
|
|
||||||
|
```
|
||||||
|
APPARMOR=enforce
|
||||||
|
```
|
||||||
|
|
||||||
|
To set the internal network edit `/etc/hosts` and insert.
|
||||||
|
|
||||||
|
```
|
||||||
|
127.0.1.1 <hostname>
|
||||||
|
```
|
||||||
|
|
||||||
|
Finally reconfigure the linux kernel.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-reconfigure -f linux<version>
|
||||||
|
```
|
||||||
|
|
||||||
|
Exit the chroot.
|
||||||
|
|
||||||
|
```
|
||||||
|
# exit
|
||||||
|
```
|
||||||
|
|
||||||
|
Do not forget to umount. (I always do).
|
||||||
|
|
||||||
|
```
|
||||||
|
# umount -Rf /mnt
|
||||||
|
```
|
||||||
|
|
||||||
|
And reboot.
|
||||||
|
|
||||||
|
```
|
||||||
|
# shutdown -r now
|
||||||
|
```
|
175
docs/void-desktop-setup/Installation.md
Normal file
175
docs/void-desktop-setup/Installation.md
Normal file
|
@ -0,0 +1,175 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
To install the Void Linux distribution on the system, the encrypted partition and the efi partition have to be mounted to the main system.
|
||||||
|
|
||||||
|
```
|
||||||
|
# mount /dev/mapper/root /mnt
|
||||||
|
# mkdir /mnt/boot
|
||||||
|
# mount /dev/disk/by-label/efi /mnt/boot
|
||||||
|
# for dir in dev proc sys run; do
|
||||||
|
> mkdir /mnt/$dir
|
||||||
|
> mount --rbind --make-rslave /$dir /mnt/$dir
|
||||||
|
> done
|
||||||
|
```
|
||||||
|
|
||||||
|
The "base-system" needs to be installed to the mounted drive. For this installation there is also other packages which are needed like NetworkManager, gummiboot and cryptsetup.
|
||||||
|
|
||||||
|
* For glibc:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy -R https://repo-default.voidlinux.org/current -r /mnt base-system cryptsetup gummiboot vim apparmor NetworkManager git booster
|
||||||
|
```
|
||||||
|
|
||||||
|
* For musl:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy -R https://repo-default.voidlinux.org/current/musl -r /mnt base-system cryptsetup gummiboot vim apparmor NetworkManager git booster
|
||||||
|
```
|
||||||
|
|
||||||
|
To get internet inside the chroot whilst installing the system, copy over the `resolv.conf`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# cp /etc/resolv.conf /mnt/etc/
|
||||||
|
```
|
||||||
|
|
||||||
|
Entering the chroot and configuring the system.
|
||||||
|
|
||||||
|
```
|
||||||
|
# chroot /mnt
|
||||||
|
# chown root:root /
|
||||||
|
# chmod 755 /
|
||||||
|
# passwd root
|
||||||
|
# echo <hostname> > /etc/hostname
|
||||||
|
```
|
||||||
|
|
||||||
|
Adding the `uuid` of the root partition to `crypttab` by:
|
||||||
|
|
||||||
|
```
|
||||||
|
# blkid -o value -s UUID /dev/<disk2> >> /etc/crypttab
|
||||||
|
```
|
||||||
|
|
||||||
|
Now edit `/etc/crypttab` and insert:
|
||||||
|
|
||||||
|
```
|
||||||
|
root /dev/disk/by-uuid/<uuid> none
|
||||||
|
```
|
||||||
|
|
||||||
|
We can configure the `fstab` by editing `/etc/fstab` and inserting:
|
||||||
|
|
||||||
|
```
|
||||||
|
tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0
|
||||||
|
efivarfs /sys/firmware/efi/efivars efivarfs defaults 0 0
|
||||||
|
/dev/disk/by-label/root / ext4 defaults,noatime 0 1
|
||||||
|
/dev/disk/by-label/efi /boot vfat defaults 0 2
|
||||||
|
```
|
||||||
|
|
||||||
|
Booster is a faster and more secure initramfs than Dracut.
|
||||||
|
|
||||||
|
To configure booster create a file `/etc/booster.yaml` which contains:
|
||||||
|
|
||||||
|
```
|
||||||
|
busybox: true
|
||||||
|
modules: vfat,nls_cp437,nls_iso8859_1
|
||||||
|
```
|
||||||
|
|
||||||
|
Then to remove dracut from the system first create a config file at `/etc/xbps.d/no-dracut.conf`
|
||||||
|
|
||||||
|
```
|
||||||
|
ignorepkg=dracut
|
||||||
|
```
|
||||||
|
|
||||||
|
And after that delete it from the system with:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-remove -Ry dracut
|
||||||
|
```
|
||||||
|
|
||||||
|
Now mount `efivarfs` to `/sys/firmware/efi/efivars`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
|
||||||
|
```
|
||||||
|
|
||||||
|
And install gummiboot.
|
||||||
|
|
||||||
|
```
|
||||||
|
# gummiboot install
|
||||||
|
```
|
||||||
|
|
||||||
|
Create `/boot/loader/void-options.conf` to configure gummiboot.
|
||||||
|
|
||||||
|
```
|
||||||
|
# touch /boot/loader/void-options.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
The `uuid` is needed again and can be obtained by:
|
||||||
|
|
||||||
|
```
|
||||||
|
# blkid -o value -s UUID /dev/<disk2> >> /boot/loader/void-options.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
Now edit `/boot/loader/void-options.conf` and insert:
|
||||||
|
|
||||||
|
```
|
||||||
|
rw rd.luks.name=<uuid>=root root=/dev/mapper/root quiet splash apparmor=1 security=apparmor loglevel=1
|
||||||
|
```
|
||||||
|
|
||||||
|
To obtain a boot menu. A timeout may be added to `/boot/loader/loader.conf`.
|
||||||
|
|
||||||
|
```
|
||||||
|
timeout 4
|
||||||
|
```
|
||||||
|
|
||||||
|
If running `glibc` the locales have to be configured, to configure the locales edit `/etc/default/libc-locales` and uncomment.
|
||||||
|
|
||||||
|
```
|
||||||
|
en_US.UTF-8 UTF-8
|
||||||
|
```
|
||||||
|
|
||||||
|
And reconfigure the locales.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-reconfigure -f glibc-locales
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
To obtain better security, `apparmor` will be set to enforce. By editing `/etc/default/apparmor` and inserting:
|
||||||
|
|
||||||
|
```
|
||||||
|
APPARMOR=enforce
|
||||||
|
```
|
||||||
|
|
||||||
|
To set the internal network edit `/etc/hosts` and insert.
|
||||||
|
|
||||||
|
```
|
||||||
|
127.0.1.1 <hostname>
|
||||||
|
```
|
||||||
|
|
||||||
|
Finally reconfigure Linux.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-reconfigure -f linux<version>
|
||||||
|
```
|
||||||
|
|
||||||
|
Exit the chroot.
|
||||||
|
|
||||||
|
```
|
||||||
|
# exit
|
||||||
|
```
|
||||||
|
|
||||||
|
Do not forget to umount. (I always do).
|
||||||
|
|
||||||
|
```
|
||||||
|
# umount -Rf /mnt
|
||||||
|
```
|
||||||
|
|
||||||
|
And reboot.
|
||||||
|
|
||||||
|
```
|
||||||
|
# shutdown -r now
|
||||||
|
```
|
26
docs/void-desktop-setup/Laptop-management.-.md
Normal file
26
docs/void-desktop-setup/Laptop-management.-.md
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Laptop management
|
||||||
|
|
||||||
|
To obtain enhanced battery lifespan, `tlp` and `tlpui` may be installed. The `tlpui` application may be used to monitor the general configuration of `tlp`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy tlp tlpui
|
||||||
|
```
|
||||||
|
|
||||||
|
Edit `/etc/tlp.d/00-template.conf` to set the battery usage to a more conservative setting.
|
||||||
|
|
||||||
|
```
|
||||||
|
CPU_ENERGY_PERF_POLICY_ON_AC=performance
|
||||||
|
CPU_ENERGY_PERF_POLICY_ON_BAT=power
|
||||||
|
```
|
||||||
|
|
||||||
|
The `tlp` service needs to be activated and also the `acpid` deamon is a necessity regarding obtaining all laptop functionality. Such as, brightness control, suspend when closing the lid etc.
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -s /etc/sv/tlp /var/service
|
||||||
|
# ln -s /etc/sv/acpid /var/service
|
||||||
|
```
|
24
docs/void-desktop-setup/Linux-lts.-.md
Normal file
24
docs/void-desktop-setup/Linux-lts.-.md
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Linux-lts
|
||||||
|
|
||||||
|
It might be desirable to install an LTS kernel for better stability. This can be done by:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy linux-lts linux-lts-headers
|
||||||
|
```
|
||||||
|
|
||||||
|
To uninstall the non-lts kernel, ignore the package through `/etc/xbps.d/xbps.conf` by adding:
|
||||||
|
|
||||||
|
```
|
||||||
|
ignorepkg=linux
|
||||||
|
```
|
||||||
|
|
||||||
|
And then removing the `linux` meta package and its dependecies:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-remove -Ry linux
|
||||||
|
```
|
30
docs/void-desktop-setup/Localtime.md
Normal file
30
docs/void-desktop-setup/Localtime.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Localtime
|
||||||
|
|
||||||
|
A "Network Time Protocol Daemon" (nptd for short) can sync the system clock with internet standard time servers. The `chrony` daemon is used as ntpd. Install it by:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy chrony
|
||||||
|
```
|
||||||
|
|
||||||
|
Then to active its service:
|
||||||
|
|
||||||
|
```
|
||||||
|
ln -s /etc/sv/chronyd /var/service
|
||||||
|
```
|
||||||
|
|
||||||
|
To configure the timezone edit the `/etc/rc.conf` file.
|
||||||
|
|
||||||
|
```
|
||||||
|
HARDWARECLOCK="localtime"
|
||||||
|
```
|
||||||
|
|
||||||
|
And symlink the correct timezone to `/etc/localtime`:
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -sf /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime
|
||||||
|
```
|
22
docs/void-desktop-setup/Logging.md
Normal file
22
docs/void-desktop-setup/Logging.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Logging
|
||||||
|
|
||||||
|
Logging may be benificial to spot certain misbehaviours or errors in the system. The `socklog-void` package will be used as logging daemon.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy socklog-void
|
||||||
|
# ln -s /etc/sv/socklog-unix /var/service/
|
||||||
|
# ln -s /etc/sv/nanoklogd /var/service/
|
||||||
|
```
|
||||||
|
|
||||||
|
To read the logs use:
|
||||||
|
|
||||||
|
```
|
||||||
|
# svlogtail
|
||||||
|
```
|
||||||
|
|
||||||
|
Or go to `/var/log/socklog`.
|
75
docs/void-desktop-setup/Login-manager.-.md
Normal file
75
docs/void-desktop-setup/Login-manager.-.md
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Login manager
|
||||||
|
|
||||||
|
To make it easier to log into the system, set up a login manager. For a minimal and wayland-compatible login manager use `greetd` with `gtkgreet`. Install them with:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy greetd gtkgreet-git
|
||||||
|
```
|
||||||
|
|
||||||
|
Because Wayfire gets used as window manager for this install, that also means that it can be utilised as the login greeter.
|
||||||
|
|
||||||
|
A specific wayfire bash script for greetd may be created in `/usr/local/bin`. That exports all the essential environment variables for the login session.
|
||||||
|
|
||||||
|
```
|
||||||
|
# cp -r {config-files-repo}/wayfire/wayfire-greetd /usr/local/bin/
|
||||||
|
```
|
||||||
|
|
||||||
|
Also, a wayfire config may be created specific for greetd with minimal settings.
|
||||||
|
|
||||||
|
```
|
||||||
|
# mkdir /etc/greetd/config
|
||||||
|
# cp -r {config-files-repo}/wayfire/wayfire-greetd.ini /etc/greetd/config/
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, in `/etc/greetd/config.toml` set:
|
||||||
|
|
||||||
|
```
|
||||||
|
command = "wayfire-greetd -c /etc/greetd/config/wayfire-greetd.ini"
|
||||||
|
```
|
||||||
|
|
||||||
|
The user `_greeter` needs seatd permission for wayfire to function.
|
||||||
|
|
||||||
|
```
|
||||||
|
# usermod -aG _seatd _greeter
|
||||||
|
```
|
||||||
|
|
||||||
|
For styling of gtkgreet edit `/etc/greetd/config/gtkgreet.css`:
|
||||||
|
|
||||||
|
```
|
||||||
|
# cp -r {config-files-repo}/gtkgreet/gtkgreet.css /etc/greetd/config/
|
||||||
|
```
|
||||||
|
|
||||||
|
Finally add `wayfire-run` and possibly `bash` to `/etc/greetd/environments`.
|
||||||
|
|
||||||
|
```
|
||||||
|
wayfire-run
|
||||||
|
bash
|
||||||
|
```
|
||||||
|
|
||||||
|
Additionally `kanshi` may be added in the greeter session. To obtain the right display configuration in the greeter session.
|
||||||
|
|
||||||
|
```
|
||||||
|
# cp -r {config-files-repo}/kanshi /etc/greetd/config
|
||||||
|
```
|
||||||
|
|
||||||
|
Greetd may then be enabled by linking it to `/var/service`. However, the best practice is to first test `greetd`. Since, with a non-functioning `greetd`, it may not be possible anymore to log into the system.
|
||||||
|
|
||||||
|
The best practice is thus to create a down file in the `greetd` service.
|
||||||
|
|
||||||
|
```
|
||||||
|
# touch /etc/sv/greetd/down
|
||||||
|
```
|
||||||
|
|
||||||
|
And then linking and enabling `greetd`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -s /etc/sv/greetd /var/service
|
||||||
|
# sv up greetd
|
||||||
|
```
|
||||||
|
|
||||||
|
If `greetd` functions properly the down file may be removed.
|
42
docs/void-desktop-setup/Network-filesystems.-.md
Normal file
42
docs/void-desktop-setup/Network-filesystems.-.md
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Network filesystems
|
||||||
|
|
||||||
|
Network filesystems may be used for enhanced workflow between multiple devices and persistance of storage.
|
||||||
|
|
||||||
|
#### Samba
|
||||||
|
|
||||||
|
Samba is such a Network filesystem protocol that may be used between different platforms. To use it install.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy cifs-utils
|
||||||
|
```
|
||||||
|
|
||||||
|
Next, a credentials file will be created that is, `$HOME/.smbpasswd`. Edit the file and insert:
|
||||||
|
|
||||||
|
```
|
||||||
|
username=<username>
|
||||||
|
password=<password>
|
||||||
|
domain=<domain>
|
||||||
|
```
|
||||||
|
|
||||||
|
Concerning security considerations, the permissions may be enhanced.
|
||||||
|
|
||||||
|
```
|
||||||
|
# chmod 600 $HOME/.smbpasswd
|
||||||
|
```
|
||||||
|
|
||||||
|
Then edit `/etc/fstab` and insert:
|
||||||
|
|
||||||
|
```
|
||||||
|
//<domain>/<homefolder> $HOME/<smbfolder> cifs credentials=$HOME/.smbpasswd,_netdev,uid=<uid> 0 0
|
||||||
|
```
|
||||||
|
|
||||||
|
Finally mount the network filesystem.
|
||||||
|
|
||||||
|
```
|
||||||
|
# mount -a
|
||||||
|
```
|
34
docs/void-desktop-setup/Network.md
Normal file
34
docs/void-desktop-setup/Network.md
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Network
|
||||||
|
|
||||||
|
NetworkManager will be used as Network daemon due to its versatility. The package was already installed with the installation, thereby it only needs to be symlinked to `/var/service` to function.
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -s /etc/sv/NetworkManager /var/service
|
||||||
|
```
|
||||||
|
|
||||||
|
NetworkManager needs the `dbus` daemon to function, in general most other applications that will be discussed in the Post install section need `dbus`. To symlink `dbus` to `/var/service`:
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -s /etc/sv/dbus /var/service
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, NetworkManager may be configured to enhance the security of the system. This is especially useful for laptops etc. To do this edit `/etc/NetworkManager/NetworkManager.conf`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[device-mac-randomization]
|
||||||
|
wifi.scan-rand-mac-address=yes
|
||||||
|
[connection-mac-randomization]
|
||||||
|
ethernet.cloned-mac-address=random
|
||||||
|
wifi.cloned-mac-address=random
|
||||||
|
```
|
||||||
|
|
||||||
|
For the user to be able to modify connections on the system they'll have to be added to the `network` group.
|
||||||
|
|
||||||
|
```
|
||||||
|
# usermod -aG network <user>
|
||||||
|
```
|
80
docs/void-desktop-setup/Notifications.md
Normal file
80
docs/void-desktop-setup/Notifications.md
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Notifications
|
||||||
|
|
||||||
|
#### SwayNC
|
||||||
|
|
||||||
|
For a more robust notification deamon it's recommended to use SwayNotificationCenter which also provides a *notifications center* which can be heavily customised.
|
||||||
|
|
||||||
|
To install SwayNC:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy SwayNotificationCenter
|
||||||
|
```
|
||||||
|
|
||||||
|
SwayNC's functionality and looks can be edited through `.config/swaync/config.json` and `.config/swaync/style.css` .....
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp -r {config-files-repo}/swaync .config/
|
||||||
|
```
|
||||||
|
|
||||||
|
To use SwayNC make sure it gets started by Wayfire and to be able to toggle it's notification center also bind it in `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
notifications = swaync
|
||||||
|
|
||||||
|
[command]
|
||||||
|
binding_swaync = <super> KEY_TAB
|
||||||
|
command_swaync = swaync-client -t -sw
|
||||||
|
```
|
||||||
|
|
||||||
|
Waybar can also be configured to display an icon for when there are unread notifications. In `.config/waybar/config` add:
|
||||||
|
|
||||||
|
```
|
||||||
|
"modules-right": ["bluetooth","battery","tray","custom/notification"],
|
||||||
|
```
|
||||||
|
|
||||||
|
And
|
||||||
|
|
||||||
|
```
|
||||||
|
"custom/notification": {
|
||||||
|
"tooltip": false,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"notification": "⭘<span foreground='red'><sup></sup></span>",
|
||||||
|
"none": "⭘",
|
||||||
|
"dnd-notification": "⭘<span foreground='red'><sup></sup></span>",
|
||||||
|
"dnd-none": "⭘",
|
||||||
|
"inhibited-notification": "⭘<span foreground='red'><sup></sup></span>",
|
||||||
|
"inhibited-none": "⭘",
|
||||||
|
"dnd-inhibited-notification": "⭘<span foreground='red'><sup></sup></span>",
|
||||||
|
"dnd-inhibited-none": "⭘"
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Mako
|
||||||
|
|
||||||
|
For a very minimal notification deamon it's recommended to use Mako. It can be used to display notifications from the session-bus.
|
||||||
|
|
||||||
|
To install it.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy mako
|
||||||
|
```
|
||||||
|
|
||||||
|
Mako may be configured by editing `.config/mako/config`.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp -r {config-files-repo}/mako .config/
|
||||||
|
```
|
||||||
|
|
||||||
|
Mako needs to be started by Wayfire in `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
notifications = mako
|
||||||
|
```
|
21
docs/void-desktop-setup/Post-install.-.md
Normal file
21
docs/void-desktop-setup/Post-install.-.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
## Post installation
|
||||||
|
|
||||||
|
The post install section elaborates on the installation and configuration of certain applications. To simplify this and the subsequent sections, reference is made to pre-made configuration files with `{config-files-repo}`.
|
||||||
|
|
||||||
|
A configuration files repository may be chosen to one's preference, by cloning them with the `git` command. It is recommended to do this once a user has been created.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git clone {config-files-repo}
|
||||||
|
```
|
||||||
|
|
||||||
|
Some possible configuration files repositories.
|
||||||
|
|
||||||
|
* [Luc's config-files](https://git.bijl.us/luc/void-desktop)
|
||||||
|
* [Tastatur's config-files](https://git.bijl.us/tastatur/dotfiles-ding)
|
||||||
|
|
||||||
|
Note that a configuration files repository may not contain all the configuration files mentioned in this wiki.
|
50
docs/void-desktop-setup/Provisioning-with-LVM.-.md
Normal file
50
docs/void-desktop-setup/Provisioning-with-LVM.-.md
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
## Provisioning with LVM
|
||||||
|
|
||||||
|
First off the drive should be partitioned, possibly with fdisk. It should have atleast two partitions with one `EFI System` Partition and one `Linux filesystem` partition.
|
||||||
|
|
||||||
|
It should look something like this:
|
||||||
|
|
||||||
|
| Number of partition | Size | Type |
|
||||||
|
|:-----:|:-----:|:-----:|
|
||||||
|
| 1 | 1 to 2 GB or more | EFI System |
|
||||||
|
| 2 | Rest of the drive | Linux filesystem |
|
||||||
|
|
||||||
|
Then to create the filesystem of the efi partition.
|
||||||
|
|
||||||
|
```
|
||||||
|
# mkfs.fat -F 32 -n efi /dev/<disk1>
|
||||||
|
```
|
||||||
|
|
||||||
|
And the encrypted filesystem of the root partition.
|
||||||
|
|
||||||
|
```
|
||||||
|
# cryptsetup luksFormat /dev/<disk2> --type luks2 --label luks
|
||||||
|
# cryptsetup open --type luks /dev/<disk2> lv0
|
||||||
|
```
|
||||||
|
|
||||||
|
Now to create a new LVM volume group:
|
||||||
|
|
||||||
|
```
|
||||||
|
# vgcreate lv0 /dev/mapper/lv0
|
||||||
|
```
|
||||||
|
|
||||||
|
To create partitions inside the volume group:
|
||||||
|
|
||||||
|
```
|
||||||
|
# lvcreate --name root -L 64G lv0
|
||||||
|
# lvcreate --name home -l 100%FREE lv0
|
||||||
|
```
|
||||||
|
|
||||||
|
To create the filesystems on the logical partitions:
|
||||||
|
|
||||||
|
```
|
||||||
|
# mkfs.ext4 -L root /dev/mapper/lv0-root
|
||||||
|
# mkfs.ext4 -L home /dev/mapper/lv0-home
|
||||||
|
```
|
||||||
|
|
||||||
|
Other filesystems can also be used but `ext4` is the standard for most linux distrobutions. Other sizes for the partitions can also be used depending on the needs of the user.
|
31
docs/void-desktop-setup/Provisioning.md
Normal file
31
docs/void-desktop-setup/Provisioning.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
## Provisioning
|
||||||
|
|
||||||
|
First off the drive should be partitioned, possibly with fdisk. It should have atleast two partitions with one `EFI System` Partition and one `Linux filesystem` partition.
|
||||||
|
|
||||||
|
It should look something like this:
|
||||||
|
|
||||||
|
| Number of partition | Size | Type |
|
||||||
|
|:-----:|:-----:|:-----: |
|
||||||
|
| 1 | 1 to 2 GB or more | EFI System |
|
||||||
|
| 2 | Rest of the drive | Linux filesystem |
|
||||||
|
|
||||||
|
Then to create the filesystem of the efi partition.
|
||||||
|
|
||||||
|
```
|
||||||
|
# mkfs.fat -F 32 -n efi /dev/<disk1>
|
||||||
|
```
|
||||||
|
|
||||||
|
And the encrypted filesystem of the root partition.
|
||||||
|
|
||||||
|
```
|
||||||
|
# cryptsetup luksFormat /dev/<disk2> --type luks2 --label luks
|
||||||
|
# cryptsetup open --type luks /dev/<disk2> root
|
||||||
|
# mkfs.ext4 -L root /dev/mapper/root
|
||||||
|
```
|
||||||
|
|
||||||
|
Other filesystems can also be used but `ext4` is the standard for most linux distobutions.
|
49
docs/void-desktop-setup/Repositories.md
Normal file
49
docs/void-desktop-setup/Repositories.md
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Repositories
|
||||||
|
|
||||||
|
To install the official Void Linux 32-bit and nonfree repositories simply install their respective packages:
|
||||||
|
|
||||||
|
* For glibc
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy void-repo-multilib void-repo-nonfree void-repo-multilib-nonfree
|
||||||
|
```
|
||||||
|
|
||||||
|
* For musl
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy void-repo-nonfree
|
||||||
|
```
|
||||||
|
|
||||||
|
And update the repositories:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -S
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Our unofficial extra repository
|
||||||
|
|
||||||
|
There is also our unofficial extra repository for some additional packages and some packages which are needed for the graphical installation. To use those add them to `/etc/xbps.d/00-repository-ample.conf`,
|
||||||
|
|
||||||
|
* For glibc:
|
||||||
|
|
||||||
|
```
|
||||||
|
repository=https://git.bijl.us/lnco/xbps-ample/raw/branch/main/current
|
||||||
|
repository=https://git.bijl.us/lnco/xbps-ample/raw/branch/main/current/nonfree
|
||||||
|
```
|
||||||
|
|
||||||
|
* For musl
|
||||||
|
|
||||||
|
```
|
||||||
|
repository=https://git.bijl.us/lnco/xbps-ample/raw/branch/main/current/musl
|
||||||
|
```
|
||||||
|
|
||||||
|
And refresh the repositories:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -S
|
||||||
|
```
|
24
docs/void-desktop-setup/Screenshots.md
Normal file
24
docs/void-desktop-setup/Screenshots.md
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Screenshots
|
||||||
|
|
||||||
|
To be able to make screenshots on the system the packages `grim`, `slurp` and `wl-clipboard` will need to be installed.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy grim slurp wl-clipboard
|
||||||
|
```
|
||||||
|
|
||||||
|
And bind them in `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
[command]
|
||||||
|
binding_screenshot = KEY_SYSRQ
|
||||||
|
binding_screenshot_interactive = <ctrl> <super> KEY_S
|
||||||
|
command_screenshot = grim - | wl-copy -t image/png
|
||||||
|
command_screenshot_interactive = pkill -9 slurp ; grim -g "$(slurp -d)" - | wl-copy -t image/png
|
||||||
|
```
|
||||||
|
|
||||||
|
Now the *Prt Scn* key will make a screenshot of the entire desktop and *ctrl + super + S* will let you select a region to screenshot.
|
64
docs/void-desktop-setup/Secure-boot.-.md
Normal file
64
docs/void-desktop-setup/Secure-boot.-.md
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Secure boot
|
||||||
|
|
||||||
|
Secure boot is sometimes a necessity when working with a windows dual boot on laptops and also an extra layer of protection for your system.
|
||||||
|
|
||||||
|
#### - Linux secureboot
|
||||||
|
|
||||||
|
For linux to work with secureboot it's necessary to enroll keys using sbctl.
|
||||||
|
|
||||||
|
```
|
||||||
|
xbps-install -Sy sbctl sbsigntool
|
||||||
|
```
|
||||||
|
|
||||||
|
Then to create keys, enroll them and sign the executables with it.
|
||||||
|
|
||||||
|
```
|
||||||
|
# sbctl create-keys
|
||||||
|
# sbctl enroll-keys
|
||||||
|
# sbctl sign -s /boot/EFI/Boot/BOOTX64.EFI
|
||||||
|
# sbctl sign -s /boot/EFI/gummiboot/gummibootx64.efi
|
||||||
|
# sbctl sign -s /boot/vmlinuz-<version>
|
||||||
|
```
|
||||||
|
|
||||||
|
If you get an error with enrolling the keys it might be necessary to add the `--microsoft` flag.
|
||||||
|
|
||||||
|
Then to check if it worked.
|
||||||
|
|
||||||
|
```
|
||||||
|
# sbctl verify
|
||||||
|
```
|
||||||
|
|
||||||
|
The kernels will now automatically be signed after an update thanks to the `sbsigntool` package.
|
||||||
|
|
||||||
|
Don't forget to turn on secureboot in your bios.
|
||||||
|
|
||||||
|
#### - Linux Windows dual boot
|
||||||
|
|
||||||
|
To obtain secure boot for a device with both linux and windows partitions (dual boot), the `sbctl` package is required. It may be installed with.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy sbctl sbsigntool
|
||||||
|
```
|
||||||
|
|
||||||
|
Then to create keys, enroll them and sign the executables with it.
|
||||||
|
|
||||||
|
```
|
||||||
|
# sbctl create-keys
|
||||||
|
# sbctl enroll-keys --microsoft
|
||||||
|
# sbctl sign -s /boot/EFI/Boot/BOOTX64.EFI
|
||||||
|
# sbctl sign -s /boot/EFI/gummiboot/gummibootx64.efi
|
||||||
|
# sbctl sign -s /boot/vmlinuz-<version>
|
||||||
|
```
|
||||||
|
|
||||||
|
Then to check if it worked.
|
||||||
|
|
||||||
|
```
|
||||||
|
# sbctl verify
|
||||||
|
```
|
||||||
|
|
||||||
|
After every linux kernel update the new executables should be signed.
|
37
docs/void-desktop-setup/Session-manager.-.md
Normal file
37
docs/void-desktop-setup/Session-manager.-.md
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Session manager
|
||||||
|
|
||||||
|
To use a graphical enviroment it is necessary to start a seat and session manager. For a minimal install it is recommended to use `seatd`, `turnstile` and `polkit`. To install those run:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy seatd turnstile polkit
|
||||||
|
```
|
||||||
|
|
||||||
|
Then to enable them:
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -s /etc/sv/seatd /var/service
|
||||||
|
# ln -s /etc/sv/turnstiled /var/service
|
||||||
|
```
|
||||||
|
|
||||||
|
To be able to use `seatd` it is necessary that the user is added to the `_seatd` group.
|
||||||
|
|
||||||
|
```
|
||||||
|
# usermod -aG _seatd <user>
|
||||||
|
```
|
||||||
|
|
||||||
|
For `turnstile` to function configure `/etc/pam.d/system-login` by adding the line:
|
||||||
|
|
||||||
|
```
|
||||||
|
session optional pam_turnstile.so
|
||||||
|
```
|
||||||
|
|
||||||
|
Make sure turnstile also creates a *Runtime Directory* by enabling it in `/etc/turnstile/turnstiled.conf`.
|
||||||
|
|
||||||
|
```
|
||||||
|
manage_rundir = yes
|
||||||
|
```
|
28
docs/void-desktop-setup/Taskbar.md
Normal file
28
docs/void-desktop-setup/Taskbar.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Taskbar
|
||||||
|
|
||||||
|
For the taskbar it is recommended to use Waybar since it's wayland native and has enough functionality. Furthermore network manager applet will be used to display network status and to easily configure network settings.
|
||||||
|
|
||||||
|
To install both, in combination with some necessary fonts.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy Waybar network-manager-applet fonts-roboto-ttf font-awesome
|
||||||
|
```
|
||||||
|
|
||||||
|
Waybar may be configured by editing `.config/waybar/config`.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp -r {config-files-repo}/waybar .config/
|
||||||
|
```
|
||||||
|
|
||||||
|
Also make sure that Waybar and network-manager-applet are started by Wayfire.
|
||||||
|
|
||||||
|
```
|
||||||
|
[autostart]
|
||||||
|
bar = waybar
|
||||||
|
network = sleep 1; nm-applet --indicator
|
||||||
|
```
|
92
docs/void-desktop-setup/Users.md
Normal file
92
docs/void-desktop-setup/Users.md
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Users
|
||||||
|
|
||||||
|
A user should be added to improve security of the system.
|
||||||
|
|
||||||
|
```
|
||||||
|
# useradd <user>
|
||||||
|
```
|
||||||
|
|
||||||
|
Configure a password for the user:
|
||||||
|
|
||||||
|
```
|
||||||
|
# passwd <user>
|
||||||
|
```
|
||||||
|
|
||||||
|
The user may be added to certain groups, to give it some rights.
|
||||||
|
|
||||||
|
```
|
||||||
|
# usermod -aG wheel,audio,video,kvm,tty,input,storage <user>
|
||||||
|
```
|
||||||
|
|
||||||
|
The package `sudo` that is present in the `base-system` package will be removed. Since, it is bloatware. To persist this. That is sudo will not be installed ever again on the system. Edit `/etc/xbps.d/xbps.conf` and insert:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
ignorepkg=sudo
|
||||||
|
```
|
||||||
|
|
||||||
|
Then remove `sudo`.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-remove -y sudo
|
||||||
|
```
|
||||||
|
|
||||||
|
The `sudo` package will be replaced by `opendoas`. To install it:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy opendoas
|
||||||
|
```
|
||||||
|
|
||||||
|
Symlink it to `/bin/sudo` so that applications which require root can still be granted by the user.
|
||||||
|
|
||||||
|
```
|
||||||
|
# ln -s /bin/doas /bin/sudo
|
||||||
|
```
|
||||||
|
|
||||||
|
And edit `/etc/doas.conf` to give users in the `wheel` group access to the `doas` command.
|
||||||
|
|
||||||
|
```
|
||||||
|
permit persist :wheel as root
|
||||||
|
```
|
||||||
|
|
||||||
|
To finalize this section, the `.bashrc` and `.bash_profile` configuration files will be copied to the home space of the user.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp {config-files-repo}/bash/.bashrc .bashrc
|
||||||
|
$ cp {config-files-repo}/bash/.bash_profile .bash_profile
|
||||||
|
```
|
||||||
|
|
||||||
|
#### User directories
|
||||||
|
|
||||||
|
It is generally beneficial to set default user directories. To obtain some consistency in the `home` directory. This may be obtained with the `xdg-user-dirs` package.
|
||||||
|
|
||||||
|
It may be installed with.
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy xdg-user-dirs
|
||||||
|
```
|
||||||
|
|
||||||
|
then run:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ xdg-user-dirs-update
|
||||||
|
```
|
||||||
|
|
||||||
|
This will create a whole suite of default user directories and in `.config` it will create `user-dirs.dirs` and `user-dirs.locale`.
|
||||||
|
|
||||||
|
With `.config/user-dirs.dirs` the syntax of of the directories may be set.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp {config-files-repo}/xdg-user-dirs/user-dirs.dirs .config/
|
||||||
|
```
|
||||||
|
|
||||||
|
Then to persist the modifications.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ xdg-user-dirs-update
|
||||||
|
```
|
36
docs/void-desktop-setup/Using-swap.-.md
Normal file
36
docs/void-desktop-setup/Using-swap.-.md
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Using swap
|
||||||
|
|
||||||
|
Swap can be utilised by the system to free up space in RAM. For most use cases it is recommend to create a swapfile that is one and a half times the size of your RAM.
|
||||||
|
|
||||||
|
To create a swapfile of 8 GB use:
|
||||||
|
|
||||||
|
```
|
||||||
|
# dd if=/dev/zero of=/swapfile bs=8M count=1024 status=progress
|
||||||
|
```
|
||||||
|
|
||||||
|
To create a different size of swapfile, change the `count=` amount to a desirable size.
|
||||||
|
|
||||||
|
Then to actually add the swap space to your system issue these commands:
|
||||||
|
|
||||||
|
```
|
||||||
|
# chmod 600 /swapfile
|
||||||
|
# mkswap /swapfile
|
||||||
|
# swapon /swapfile
|
||||||
|
```
|
||||||
|
|
||||||
|
To mount the swap to the system at boot, add the swapfile to your `/etc/fstab`:
|
||||||
|
|
||||||
|
```
|
||||||
|
/swapfile none swap defaults 0 0
|
||||||
|
```
|
||||||
|
|
||||||
|
And do not forget to reconfigure the kernel after updating`/etc/fstab`:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-reconfigure -f linux<version>
|
||||||
|
```
|
34
docs/void-desktop-setup/Window-manager.-.md
Normal file
34
docs/void-desktop-setup/Window-manager.-.md
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
### Window manager
|
||||||
|
|
||||||
|
There are many different window managers and desktop environments which can provide a decent experience. Wayfire is a functional, relatively lightweight and good looking wayland window manager and will be used for this install.
|
||||||
|
|
||||||
|
To install a barebones Wayfire use:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy wayfire
|
||||||
|
```
|
||||||
|
|
||||||
|
To be able to configure Wayfire and have a gtk theme install:
|
||||||
|
|
||||||
|
```
|
||||||
|
# xbps-install -Sy wf-shell wcm dconf-editor plata-theme papirus-icon-theme
|
||||||
|
```
|
||||||
|
|
||||||
|
Wayfire can be configured by editing `.config/wayfire.ini`.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp {config-files-repo}/wayfire/wayfire.ini .config/
|
||||||
|
```
|
||||||
|
|
||||||
|
To use the gtk theme. Configure it with `dconf-editor` under `org.gnome.desktop.interface.gtk-theme` and for icons under `org.gnome.desktop.interface.icon-theme`. If these directories do not exist, than that possibly means that a gtk application has not yet ran on the system.
|
||||||
|
|
||||||
|
A custom bash script may be created in `/usr/local/bin`. That exports all the essential environment variables for the session.
|
||||||
|
|
||||||
|
```
|
||||||
|
# cp -r {config-files-repo}/wayfire/wayfire-run /usr/local/bin/
|
||||||
|
```
|
55
docs/void-desktop-setup/_Sidebar.md
Normal file
55
docs/void-desktop-setup/_Sidebar.md
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
## Pages
|
||||||
|
__________
|
||||||
|
|
||||||
|
* [Home](https://git.bijl.us/lnco/void-desktop-guide/wiki)
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
* [Provisioning](https://git.bijl.us/lnco/void-desktop-guide/wiki/Provisioning)
|
||||||
|
* [Installation](https://git.bijl.us/lnco/void-desktop-guide/wiki/Installation)
|
||||||
|
|
||||||
|
### Installation with LVM
|
||||||
|
* [Provisioning with LVM](https://git.bijl.us/lnco/void-desktop-guide/wiki/Provisioning-with-LVM.-)
|
||||||
|
* [Installation with LVM](https://git.bijl.us/lnco/void-desktop-guide/wiki/Installation-with-LVM.-)
|
||||||
|
|
||||||
|
### Post installation
|
||||||
|
|
||||||
|
* [Post installation](https://git.bijl.us/lnco/void-desktop-guide/wiki/Post-install.-)
|
||||||
|
* [Network](https://git.bijl.us/lnco/void-desktop-guide/wiki/Network)
|
||||||
|
* [Users](https://git.bijl.us/lnco/void-desktop-guide/wiki/Users)
|
||||||
|
* [Linux-lts](https://git.bijl.us/lnco/void-desktop-guide/wiki/Linux-lts.-)
|
||||||
|
* [Localtime](https://git.bijl.us/lnco/void-desktop-guide/wiki/Localtime)
|
||||||
|
* [Using swap](https://git.bijl.us/lnco/void-desktop-guide/wiki/Using-swap.-)
|
||||||
|
* [Network filesystems](https://git.bijl.us/lnco/void-desktop-guide/wiki/Network-filesystems.-)
|
||||||
|
* [Logging](https://git.bijl.us/lnco/void-desktop-guide/wiki/Logging)
|
||||||
|
* [Repositories](https://git.bijl.us/lnco/void-desktop-guide/wiki/Repositories)
|
||||||
|
* [Firmware and drivers](https://git.bijl.us/lnco/void-desktop-guide/wiki/Firmware-and-drivers.-)
|
||||||
|
* [Secure boot](https://git.bijl.us/lnco/void-desktop-guide/wiki/Secure-boot.-)
|
||||||
|
* [Automatic decryption](https://git.bijl.us/lnco/void-desktop-guide/wiki/Automatic-decryption.-)
|
||||||
|
* [Laptop management](https://git.bijl.us/lnco/void-desktop-guide/wiki/Laptop-management.-)
|
||||||
|
* [Bluetooth](https://git.bijl.us/lnco/void-desktop-guide/wiki/Bluetooth)
|
||||||
|
|
||||||
|
### Graphical session
|
||||||
|
|
||||||
|
* [Session manager](https://git.bijl.us/lnco/void-desktop-guide/wiki/Session-manager.-)
|
||||||
|
* [Login manager](https://git.bijl.us/lnco/void-desktop-guide/wiki/Login-manager.-)
|
||||||
|
* [Window manager](https://git.bijl.us/lnco/void-desktop-guide/wiki/Window-manager.-)
|
||||||
|
* [Display configuration](https://git.bijl.us/lnco/void-desktop-guide/wiki/Display-configuration.-)
|
||||||
|
* [Taskbar](https://git.bijl.us/lnco/void-desktop-guide/wiki/Taskbar)
|
||||||
|
* [Application launcher](https://git.bijl.us/lnco/void-desktop-guide/wiki/Application-launcher.-)
|
||||||
|
* [Notifications](https://git.bijl.us/lnco/void-desktop-guide/wiki/Notifications)
|
||||||
|
* [Audio](https://git.bijl.us/lnco/void-desktop-guide/wiki/Audio)
|
||||||
|
* [Screenshots](https://git.bijl.us/lnco/void-desktop-guide/wiki/Screenshots)
|
||||||
|
* [Idle and lockscreen](https://git.bijl.us/lnco/void-desktop-guide/wiki/Idle-and-lockscreen.-)
|
||||||
|
* [Auto-mounting](https://git.bijl.us/lnco/void-desktop-guide/wiki/Auto-mounting.-)
|
||||||
|
* [Essential applications](https://git.bijl.us/lnco/void-desktop-guide/wiki/Essential-applications.-)
|
||||||
|
|
||||||
|
### Applications
|
||||||
|
|
||||||
|
* [Virt-manager](https://git.bijl.us/lnco/void-desktop-guide/wiki/Virt-manager.-)
|
||||||
|
* [Steam](https://git.bijl.us/lnco/void-desktop-guide/wiki/Steam)
|
0
docs/void-desktop-setup/void-home.md
Normal file
0
docs/void-desktop-setup/void-home.md
Normal file
17
mkdocs.yml
17
mkdocs.yml
|
@ -1,9 +1,18 @@
|
||||||
site_name: wiki.bijl.us
|
site_name: wiki.bijl.us
|
||||||
theme:
|
theme:
|
||||||
name: material
|
name: material
|
||||||
|
features:
|
||||||
|
- navigation.tabs
|
||||||
|
|
||||||
nav:
|
nav:
|
||||||
- Home: index.md
|
- 'Home': index.md
|
||||||
- Void Desktop setup: void-home.md
|
- 'Void Desktop setup':
|
||||||
- Alpine Server setup: alpine-home.md
|
- 'Start': void-desktop-setup/Home.md
|
||||||
- Xbps-Ample: ample-home.md
|
- 'Installation without LVM':
|
||||||
|
- 'Provisioning': void-desktop-setup/Provisioning.md
|
||||||
|
- 'Installation': void-desktop-setup/Installing.md
|
||||||
|
- 'Installation with LVM (recommended)':
|
||||||
|
- 'Provisioning': void-desktop-setup/Provisioning-with-lvm.md
|
||||||
|
- 'Installation': void-desktop-setup/Installing-with-lvm.md
|
||||||
|
- 'Alpine Server setup': alpine-home.md
|
||||||
|
- 'Xbps-Ample': ample-home.md
|
||||||
|
|
Loading…
Reference in a new issue