Compare commits

..

2 commits

Author SHA1 Message Date
Luc
e6a7ed8842 updated 'void-desktop-install.md' 2023-04-20 11:01:15 +02:00
Luc
f5b591a5e5 removed 'void-desktop-install.txt' 2023-04-20 10:58:22 +02:00
2 changed files with 78 additions and 351 deletions

View file

@ -304,6 +304,36 @@ $ cp void-desktop/config-files/bash/.bashrc .bashrc
$ cp void-desktop/config-files/bash/.bash_profile .bash_profile $ cp void-desktop/config-files/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 void-desktop/config-files/xdg-user-dirs/user-dirs.dirs .config/
```
Then to persist the modifications.
```
$ xdg-user-dirs-update
```
### Linux-lts ### Linux-lts
It might be desirable to install an LTS kernel for better stability. This can be done by: It might be desirable to install an LTS kernel for better stability. This can be done by:
@ -764,11 +794,17 @@ A custom bash script may be created in `/usr/local/bin`. That exports all the es
##### Animate ##### Animate
##### Blur ##### Blur
##### Decoration
Will be replace by firedecor in the future
---> --->
### Display configuration ### 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 and a GUI to configure the displays: 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 # xbps-install -Sy kanshi
@ -940,6 +976,29 @@ To install SwayNC:
# xbps-install -Sy swaync # xbps-install -Sy swaync
``` ```
SwayNC's functionality and looks can be edited through `.config/swaync/config.json` and `.config/swaync/style.css` .....
```
$ cp -r void-desktop/config-files/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:
```
----------------------------------------------------------------
```
#### Mako #### Mako
For a very minimal notification deamon it's recommended to use Mako. It can be used to display notifications from the session-bus. For a very minimal notification deamon it's recommended to use Mako. It can be used to display notifications from the session-bus.
@ -956,7 +1015,7 @@ Mako may be configured by editing `.config/mako/config`.
$ cp -r void-desktop/config-files/mako .config/ $ cp -r void-desktop/config-files/mako .config/
``` ```
Mako needs to be started by Wayfire. Mako needs to be started by Wayfire in `.config/wayfire.ini`.
``` ```
[autostart] [autostart]
@ -1026,7 +1085,7 @@ To be notified when changing the volume `pa-notify` may be used. It needs to be
``` ```
[autostart] [autostart]
audio_notify = sleep 5; pa-notify -t 2 audio_notify = sleep 1; pa-notify -t 2
``` ```
#### Music control #### Music control
@ -1040,6 +1099,10 @@ To control music and other media `playerctl` may be used.
The bindings may be set in `.config/wayfire.ini`. The bindings may be set in `.config/wayfire.ini`.
``` ```
[autostart]
audio_player = playerctld daemon
[command]
binding_playpause = KEY_PLAYPAUSE binding_playpause = KEY_PLAYPAUSE
binding_next = KEY_NEXTSONG binding_next = KEY_NEXTSONG
binding_previous = KEY_PREVIOUSSONG binding_previous = KEY_PREVIOUSSONG
@ -1146,11 +1209,23 @@ Some essential applications and packages.
<!--- <!---
## Misc ## Misc
### Office suit
Libreoffice is an open source office suite similar to Microsoft 365. To install all the libreoffice programs:
```
# xbps-install -y libreoffice
```
Individual programs from libreoffice can also be installed instead of the entire suit. Packages like `libreoffice-writer` will only provide the document editor.
### Printing ### Printing
### Virt-manager ### Virt-manager
### Wine ### Wine
#### Lutris
### Steam ### Steam
---> --->

View file

@ -1,348 +0,0 @@
Void Linux (glibc) += (encryption + gummiboot)
Provisioning:
{
# fdisk:
{
No. Size Type
1 1G EFI System
2 rest Linux filesystem
}
# mkfs.fat -F 32 -n efi /dev/<disk1>
# cryptsetup luksFormat /dev/<disk2> --type luks2 --label luks
# cryptsetup open --type luks /dev/<disk2> root
# mkfs.ext4 -L root /dev/mapper/root
}
Installation:
{
# mount /dev/mapper/root /mnt
# mkdir /mnt/boot
# mount /dev/<disk1> /mnt/boot
# for dir in dev proc sys run; do
> mkdir /mnt/$dir
> mount --rbind --make-rslave /$dir /mnt/$dir
> done
# xbps-install -Sy -R https://repo-default.voidlinux.org/current -r /mnt base-system cryptsetup gummiboot vim apparmor (NetworkManager) git
# chroot /mnt
# chown root:root /
# chmod 755 /
# passwd root
# echo <hostname> > /etc/hostname
# vim /etc/crypttab:
{
> root /dev/disk/by-uuid none:
}
# lsblk -f |grep luks >> /etc/crypttab
# vim /etc/crypttab:
{
> root /dev/disk/by-uuid/<uuid> none:
}
# vim /etc/fstab:
{
> 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
}
# vim /etc/dracut.conf.d/30.conf:
{
> hostonly="yes"
> use_fstab="yes"
> install_items+=" /etc/crypttab "
> add_drivers+=" vfat nls_cp437 nls_iso8859_1 "
}
# ln -s /etc/fstab /etc/fstab.sys
# mv /etc/runit/core-services/03-filesystems.sh{,.bak}
# vim /etc/xbps.d/xbps.conf:
{
> noextract=/etc/runit/core-services/03-filesystems.sh
}
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
# gummiboot install
# vim /boot/loader/void-options.conf:
{
> rw rd.luks.name=
}
# lsblk -f |grep luks >> /boot/loader/void-options.conf
# vim /boot/loader/void-options.conf:
{
> rw rd.luks.name=<uuid>=root root=/dev/mapper/root quiet splash apparmor=1 security=apparmor
}
# vim /boot/loader/loader.conf:
{
> timeout 4
}
# vim /etc/default/libc-locales:
{
> en_US.UTF-8 UTF-8
}
# xbps-reconfigure -f glibc-locales
# vim /etc/default/appamor:
{
> APPARMOR=enforce
}
# vim /etc/hosts:
{
> 127.0.1.1 <hostname>
}
# xbps-reconfigure -f linux{version}
# exit
# umount -r /mnt
# reboot
}
Post install:
{
$ git clone https://git.bijl.us/luc/void-desktop.git
Network:
{
# ln -s /etc/sv/NetworkManager /var/service
# ln -s /etc/sv/dbus /var/service
# vim /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
}
}
Users:
{
# usermod -aG wheel,audio,video,kvm,tty,input(,bluetooth,_seatd) <user>
# vim /etc/xbps.d/xbps.conf:
{
> ignorepkg=sudo
}
# xbps-remove -y sudo
# xbps-install -Sy opendoas
# ln -s /bin/doas /bin/sudo
# vim /etc/doas.conf:
{
> permit persist :wheel as root
}
$ cp void-desktop/config-files/bash/.bashrc .bashrc
$ cp void-desktop/config-files/bash/.bash_profile .bash_profile
}
Linux-lts:
{
# vim /etc/xbps.d/xbps.conf:
{
> ignorepkg=linux
}
# xbps-install -Sy linux-lts linux-lts-headers
# reboot now
# xbps-remove -y linux-{version} linux{version}
}
Localtime:
{
# xbps-install -Sy chrony
# ln -s /etc/sv/chronyd /var/service/
# vim /etc/rc.conf:
{
> HARDWARECLOCK="localtime"
> TIMEZONE=("Europe/Amsterdam")
}
}
Swapfile:
{
# dd if=/dev/zero of=/swapfile bs=8M count=1024
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile
// $ swapon --show
# vim /etc/fstab:
{
> /swapfile none swap defaults 0 0
}
}
Repos:
{
# xbps-install -Sy void-repo-multilib void-repo-nonfree void-repo-multilib-nonfree xtools git
# vim /etc/xbps.d/xbps.conf:
{
> repository=https://git.bijl.us/tastatur/xbps-ample/raw/branch/main/current
> repository=https://git.bijl.us/tastatur/xbps-ample/raw/branch/main/current/nonfree
}
# xbps-install -S
$ git clone https://github.com/void-linux/void-packages.git
$ voidpackages/./xbps-src binary-bootstrap -j(N-threads)
$ echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf
$ voidpackages/./xbps-src pkg <package_name> -j(N-threads)
# xi <package_name>
}
AMD Firmware (cpu+gpu):
{
# xbps-install -Sy linux-firmware-amd vulkan-loader mesa-vulkan-radeon amdvlk xf86-video-amdgpu mesa-vaapi mesa-vdpau mesa-dri
}
Logging:
{
# xbps-install -Sy socklog-void
# ln -s /etc/sv/socklog-unix /var/service/
# ln -s /etc/sv/nanoklogd /var/service/
# svlogtail (to read logs or go to /var/log/socklog)
}
Session & login manager:
{
# xbps-install -Sy polkit dumb_runtime_dir sddm sddm-kcm seatd wayland xorg-minimal xorg-fonts qt5-wayland qt6-wayland xorg-server-xwayland
# ln -s /etc/sv/seatd /var/service/
# ln -s /etc/sv/sddm /var/service/
# ln -s /etc/sv/polkitd /var/service/
# cp void-desktop/config-files/polkit/00-polkit.rules /etc/polkit-1/rules.d/
(chili theme)
# xbps-install -Sy qt5 qt5-quickcontrols qt5-graphicaleffects
# git clone https://github.com/MarianArlt/sddm-chili.git /usr/share/sddm/themes/chili
# cp void-dekstop/data/chili-background/background.png /usr/share/sddm/themes/chili/assets/background.png
# cp void-desktop/config-files/chili/theme.conf /usr/share/sddm/themes/chili/theme.conf
# cp void-desktop/config-files/sddm/.face.icon /usr/share/sddm/faces/.face.icon
# cp void-desktop/config-files/sddm/sddm.conf /etc/sddm.conf.d/sddm.conf
}
Window manager:
{
# xbps-install -Sy wayfire wf-shell wcm dconf dconf-editor plata-theme
$ cp void-desktop/config-files/wayfire/wayfire.ini .config/
# usermod -aG _seatd <user>
# vim /usr/share/wayland-sessions/wayfire.desktop:
{
> [Desktop Entry]
> Name=Wayfire
> Exec=wayfire
> TryExec=wayfire
> Type=Application
> DesktopnNames=Wayfire
}
}
Display:
{
# xbps-install -Sy kanshi wlr-randr wdisplays wlsunset
$ cp -r void-desktop/config-files/kanshi .config/
$ vim .config/wayfire.ini:
{
> [autostart]
> outputs = kanshi
}
}
Taskbar:
{
# xbps-install -Sy Waybar network-manager-applet fontmanager papirus-icon-theme fonts-roboto-ttf font-awesome noto-fonts-ttf noto-fonts-cjk
$ cp -r void-desktop/config-files/waybar .config/
$ vim .config/wayfire.ini:
{
> [autostart]
> bar = waybar
> network = sleep 5; nm-applet --indicator
}
}
Tasklauncher:
{
# xbps-install -Sy wofi wlogout
$ cp -r void-desktop/config-files/wofi .config/
$ cp -r void-desktop/config-files/wlogout .config/
# cp void-desktop/data/wlogout-icons/* /usr/share/wlogout/icons/
$ vim .config/wayfire.ini:
{
> [command]
> binding_launcher = <super> KEY_S
> binding_wlogout = <super> KEY_P
> command_launcher = wofi --show drun
> command_wlogout = wlogout
}
}
Notifications:
{
# xbps-install -Sy mako
$ cp -r void-desktop/config-files/mako .config/
$ vim .config/wayfire.ini:
{
> [autostart]
> notifications = mako
}
}
Audio:
{
# xbps-install alsa-pipewire pipewire wireplumber pavucontrol pamixer pa-notify
# mkdir /etc/pipewire
# cp /usr/share/pipewire/pipewire.conf /etc/pipewire/
# vim /etc/pipewire/pipewire.conf:
{
> context.exec = [
> { path = "/usr/bin/wireplumber" args = "" }
> { path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf"}
>]
}
# mkdir -p /etc/alsa/conf.d
# 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/
$ vim .config/wayfire.ini:
{
> [autostart]
> audio = pipewire
> audio_notify = sleep 5; pa-notify -t 2
}
}
Lockscreen:
{
# xbps-install -Sy swayidle gtklock
$ cp -r void-desktop/config-files/gtklock .config/
$ vim .config/wayfire.ini:
{
> [autostart]
> idle = swayidle -w timeout 590 gtklock before-sleep gtklock
> [idle]
> screensaver_timeout = 300
> dpms_timeout = 600
}
}
Auto mounting:
{
# xpbs-install -Sy udisks2 udiskie
$ vim .config/wayfire.ini:
{
> [autostart]
> automount = udiskie -As
}
}
Bluetooth:
{
# xbps-install bluez bluez-alsa libspa-bluetooth blueman
# ln -s /etc/sv/bluetoothd /var/service/
# touch /var/service/bluetoothd/down
# usermod -aG bluetooth <user>
}
Samba-mount:
{
# xbps-install -Sy cifs-utils
$ vim $HOME/.smbpasswd:
{
> username=<username>
> password=<password>
> domain=<domain>
}
# chmod 600 $HOME/.smbpasswd
# vim /etc/fstab:
{
> //<domain>/<homefolder> $HOME/<smbfolder> cifs credentials=$HOME/.smbpasswd,_netdev,uid=<uid> 0 0
}
# mount -a
}
Steam:
{
# xbps-install steam wine winetricks protontricks gamemode gamescope vulkan-loader-32bit amdvlk-32bit mesa-32bit mesa-dri-32bit
}
virt-manager:
{
}
Misc:
{
default-applications:
{
# xbps-install -Sy firefox vscode foot thunar element-desktop mpv baobab gimp grim slurp
}
}
}