diff --git a/void-desktop-install.md b/void-desktop-install.md index ebd1b84..4eefe80 100644 --- a/void-desktop-install.md +++ b/void-desktop-install.md @@ -304,36 +304,6 @@ $ cp void-desktop/config-files/bash/.bashrc .bashrc $ 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 It might be desirable to install an LTS kernel for better stability. This can be done by: @@ -794,17 +764,11 @@ A custom bash script may be created in `/usr/local/bin`. That exports all the es ##### Animate ##### Blur - -##### Decoration - -Will be replace by firedecor in the future ---> ### 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: +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: ``` # xbps-install -Sy kanshi @@ -976,29 +940,6 @@ To install 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 = 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 For a very minimal notification deamon it's recommended to use Mako. It can be used to display notifications from the session-bus. @@ -1015,7 +956,7 @@ Mako may be configured by editing `.config/mako/config`. $ cp -r void-desktop/config-files/mako .config/ ``` -Mako needs to be started by Wayfire in `.config/wayfire.ini`. +Mako needs to be started by Wayfire. ``` [autostart] @@ -1085,7 +1026,7 @@ To be notified when changing the volume `pa-notify` may be used. It needs to be ``` [autostart] -audio_notify = sleep 1; pa-notify -t 2 +audio_notify = sleep 5; pa-notify -t 2 ``` #### Music control @@ -1099,10 +1040,6 @@ To control music and other media `playerctl` may be used. 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 @@ -1209,23 +1146,11 @@ Some essential applications and packages. \ No newline at end of file diff --git a/void-desktop-install.txt b/void-desktop-install.txt new file mode 100644 index 0000000..69436f0 --- /dev/null +++ b/void-desktop-install.txt @@ -0,0 +1,348 @@ +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/ + # cryptsetup luksFormat /dev/ --type luks2 --label luks + # cryptsetup open --type luks /dev/ root + # mkfs.ext4 -L root /dev/mapper/root +} +Installation: +{ + # mount /dev/mapper/root /mnt + # mkdir /mnt/boot + # mount /dev/ /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 > /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/ 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==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 + } + # 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) + # 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 -j(N-threads) + # xi + } + 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 + + # 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 = KEY_S + > binding_wlogout = 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 + } + Samba-mount: + { + # xbps-install -Sy cifs-utils + $ vim $HOME/.smbpasswd: + { + > username= + > password= + > domain= + } + # chmod 600 $HOME/.smbpasswd + # vim /etc/fstab: + { + > /// $HOME/ cifs credentials=$HOME/.smbpasswd,_netdev,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 + } + } +} \ No newline at end of file