merged void-laptop and updated void-desktop-install.md
This commit is contained in:
parent
0cff788e38
commit
bf022064d7
9 changed files with 982 additions and 23 deletions
5
config-files-laptop/foot/foot.ini
Executable file
5
config-files-laptop/foot/foot.ini
Executable file
|
@ -0,0 +1,5 @@
|
|||
font=monospace:size=10
|
||||
initial-window-size-pixels=1000x600
|
||||
[colors]
|
||||
background=000000
|
||||
alpha=0.5
|
3
config-files-laptop/kanshi/config
Executable file
3
config-files-laptop/kanshi/config
Executable file
|
@ -0,0 +1,3 @@
|
|||
profile{
|
||||
output eDP-1 position 0,0
|
||||
}
|
9
config-files-laptop/mako/config
Executable file
9
config-files-laptop/mako/config
Executable file
|
@ -0,0 +1,9 @@
|
|||
font=Roboto 8
|
||||
background-color=#1515157F
|
||||
border-size=6
|
||||
border-radius=20
|
||||
border-color=#1515157F
|
||||
progress-color=#3949A0FF
|
||||
icons=1
|
||||
icon-path=/usr/share/icons/Papirus-Dark
|
||||
default-timeout=6000
|
53
config-files-laptop/waybar/config
Executable file
53
config-files-laptop/waybar/config
Executable file
|
@ -0,0 +1,53 @@
|
|||
[
|
||||
{
|
||||
"layer": "top",
|
||||
"output": "eDP-1",
|
||||
"position": "top",
|
||||
"modules-left": ["wlr/taskbar"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["battery","tray","custom/search","custom/poweroff"],
|
||||
"fixed-center": true,
|
||||
"spacing": 20,
|
||||
"custom/poweroff":
|
||||
{
|
||||
"tooltip": false,
|
||||
"format": "",
|
||||
"on-click": "wlogout"
|
||||
},
|
||||
"custom/search":
|
||||
{
|
||||
"tooltip": false,
|
||||
"format": "",
|
||||
"on-click": "wofi --show drun"
|
||||
},
|
||||
"clock":
|
||||
{
|
||||
"interval": 60,
|
||||
"format": "{:%a %H:%M %d-%m-%y}",
|
||||
"tooltip": false
|
||||
},
|
||||
"battery":
|
||||
{
|
||||
"bat": "BAT0",
|
||||
"interval": 60,
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-icons": ["","","","",""]
|
||||
},
|
||||
"tray":
|
||||
{
|
||||
"icon-size": 16,
|
||||
"spacing": 20
|
||||
},
|
||||
"wlr/taskbar":
|
||||
{
|
||||
"format": "{icon}",
|
||||
"icon-size": 16,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"wlogout"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
45
config-files-laptop/waybar/style.css
Executable file
45
config-files-laptop/waybar/style.css
Executable file
|
@ -0,0 +1,45 @@
|
|||
*
|
||||
{
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
font-family: "FontAwesome";
|
||||
font-size: 16px;
|
||||
min-height: 0;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
|
||||
window#waybar
|
||||
{
|
||||
background: rgba(0, 0, 0, 1);
|
||||
border-bottom: 0px solid rgba(0, 0, 0, 1);
|
||||
color: white;
|
||||
}
|
||||
|
||||
tooltip
|
||||
{
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||
border-radius: 10;
|
||||
}
|
||||
|
||||
tooltip label
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
|
||||
#custom-poweroff
|
||||
{
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
#taskbar
|
||||
{
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
#taskbar button
|
||||
{
|
||||
padding-left: 15px;
|
||||
padding-right: 0px;
|
||||
}
|
350
config-files-laptop/wayfire/wayfire.ini
Executable file
350
config-files-laptop/wayfire/wayfire.ini
Executable file
|
@ -0,0 +1,350 @@
|
|||
[alpha]
|
||||
min_value = 0.100000
|
||||
modifier = <alt> <super>
|
||||
|
||||
[animate]
|
||||
close_animation = fade
|
||||
duration = 400
|
||||
enabled_for = all
|
||||
fade_duration = 400
|
||||
fade_enabled_for = none
|
||||
fire_duration = 300
|
||||
fire_enabled_for = none
|
||||
fire_particle_size = 16.000000
|
||||
fire_particles = 2000
|
||||
open_animation = fade
|
||||
startup_duration = 600
|
||||
zoom_duration = 500
|
||||
zoom_enabled_for = none
|
||||
|
||||
[autostart]
|
||||
audio = pipewire
|
||||
audio_notify = sleep 5; dbus-launch pa-notify -t 2
|
||||
automount = udiskie -As
|
||||
autostart_wf_shell = false
|
||||
background = wf-background
|
||||
bar = waybar
|
||||
element = dbus-launch element-desktop --hidden --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||
idle = swayidle -w timeout 230 gtklock before-sleep gtklock
|
||||
network = sleep 5; nm-applet --indicator
|
||||
notifications = mako
|
||||
outputs = kanshi
|
||||
|
||||
[blur]
|
||||
blur_by_default = type is "toplevel"
|
||||
bokeh_degrade = 1
|
||||
bokeh_iterations = 15
|
||||
bokeh_offset = 5.000000
|
||||
box_degrade = 1
|
||||
box_iterations = 2
|
||||
box_offset = 1.000000
|
||||
gaussian_degrade = 1
|
||||
gaussian_iterations = 2
|
||||
gaussian_offset = 1.000000
|
||||
kawase_degrade = 8
|
||||
kawase_iterations = 2
|
||||
kawase_offset = 2.000000
|
||||
method = gaussian
|
||||
saturation = 1.000000
|
||||
toggle = none
|
||||
|
||||
[command]
|
||||
binding_filer = <super> KEY_F
|
||||
binding_firefox = <super> KEY_B
|
||||
binding_gamma = <super> KEY_G
|
||||
binding_kanshi = <super> KEY_K
|
||||
binding_launcher = <super> KEY_S
|
||||
binding_matrix = <super> KEY_E
|
||||
binding_mute = KEY_MUTE
|
||||
binding_screenshot = <shift> KEY_SYSRQ
|
||||
binding_screenshot_interactive = KEY_SYSRQ
|
||||
binding_terminal = <super> KEY_T
|
||||
binding_volumedown = KEY_VOLUMEDOWN
|
||||
binding_volumeup = KEY_VOLUMEUP
|
||||
binding_vscode = <super> KEY_V
|
||||
binding_waybar = <super> KEY_W
|
||||
binding_wlogout = <super> KEY_P
|
||||
command_filer = Thunar
|
||||
command_firefox = firefox
|
||||
command_gamma = wlsunset -l 52.0 -L 5.9 -t 3000
|
||||
command_kanshi = kanshi
|
||||
command_launcher = wofi --show drun
|
||||
command_matrix = dbus-launch element-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||
command_mute = pamixer -t
|
||||
command_screenshot = grim $(date '+%F_%T').png
|
||||
command_screenshot_interactive = slurp | grim -g - $(date '+%F_%T').png
|
||||
command_terminal = foot
|
||||
command_volumedown = pamixer -d 5 -u
|
||||
command_volumeup = pamixer -i 5 -u
|
||||
command_vscode = ~/packages/vscode/code
|
||||
command_waybar = pkill -9 waybar; waybar
|
||||
command_wlogout = wlogout
|
||||
|
||||
[core]
|
||||
background_color = \#000000FF
|
||||
close_top_view = <super> KEY_Q | <alt> KEY_F4
|
||||
focus_button_with_modifiers = false
|
||||
focus_buttons = BTN_LEFT | BTN_MIDDLE | BTN_RIGHT
|
||||
focus_buttons_passthrough = true
|
||||
max_render_time = -1
|
||||
plugins = alpha animate autostart command cube expo fast-switcher grid idle invert move oswitch place resize switcher vswitch window-rules wobbly wrot zoom blur
|
||||
preferred_decoration_mode = server
|
||||
vheight = 3
|
||||
vwidth = 3
|
||||
xwayland = true
|
||||
|
||||
[cube]
|
||||
activate = <alt> <ctrl> BTN_LEFT
|
||||
background = \#00000000
|
||||
background_mode = simple
|
||||
cubemap_image =
|
||||
deform = 0
|
||||
initial_animation = 350
|
||||
light = true
|
||||
rotate_left = none
|
||||
rotate_right = none
|
||||
skydome_mirror = true
|
||||
skydome_texture =
|
||||
speed_spin_horiz = 0.020000
|
||||
speed_spin_vert = 0.020000
|
||||
speed_zoom = 0.070000
|
||||
zoom = 0.100000
|
||||
|
||||
[decoration]
|
||||
active_color = \#000000FF
|
||||
border_size = 0
|
||||
button_order =
|
||||
font = Roboto
|
||||
ignore_views = none
|
||||
inactive_color = \#000000FF
|
||||
title_height = 0
|
||||
|
||||
[expo]
|
||||
background = \#00000000
|
||||
duration = 300
|
||||
offset = 10
|
||||
select_workspace_1 = KEY_1
|
||||
select_workspace_2 = KEY_2
|
||||
select_workspace_3 = KEY_3
|
||||
select_workspace_4 = KEY_4
|
||||
select_workspace_5 = KEY_5
|
||||
select_workspace_6 = KEY_6
|
||||
select_workspace_7 = KEY_7
|
||||
select_workspace_8 = KEY_8
|
||||
select_workspace_9 = KEY_9
|
||||
toggle = <super>
|
||||
|
||||
[extra-gestures]
|
||||
close_fingers = 20
|
||||
move_delay = 500
|
||||
move_fingers = 3
|
||||
|
||||
[fast-switcher]
|
||||
activate = <alt> KEY_TAB
|
||||
activate_backward = <alt> <shift> KEY_TAB
|
||||
inactive_alpha = 0.700000
|
||||
|
||||
[fisheye]
|
||||
radius = 450.000000
|
||||
toggle = <ctrl> <super> KEY_F
|
||||
zoom = 7.000000
|
||||
|
||||
[grid]
|
||||
duration = 300
|
||||
restore = <super> KEY_DOWN | <super> KEY_KP0
|
||||
slot_b = <super> KEY_KP2
|
||||
slot_bl = <super> KEY_KP1
|
||||
slot_br = <super> KEY_KP3
|
||||
slot_c = <super> KEY_UP | <super> KEY_KP5
|
||||
slot_l = <super> KEY_LEFT | <super> KEY_KP4
|
||||
slot_r = <super> KEY_RIGHT | <super> KEY_KP6
|
||||
slot_t = <super> KEY_KP8
|
||||
slot_tl = <super> KEY_KP7
|
||||
slot_tr = <super> KEY_KP9
|
||||
type = crossfade
|
||||
|
||||
[idle]
|
||||
cube_max_zoom = 1.500000
|
||||
cube_rotate_speed = 1.000000
|
||||
cube_zoom_speed = 1000
|
||||
disable_on_fullscreen = true
|
||||
dpms_timeout = 240
|
||||
screensaver_timeout = 180
|
||||
toggle = none
|
||||
|
||||
[input]
|
||||
click_method = default
|
||||
cursor_size = 24
|
||||
cursor_theme = default
|
||||
disable_touchpad_while_mouse = false
|
||||
disable_touchpad_while_typing = false
|
||||
gesture_sensitivity = 1.000000
|
||||
kb_capslock_default_state = false
|
||||
kb_numlock_default_state = false
|
||||
kb_repeat_delay = 400
|
||||
kb_repeat_rate = 40
|
||||
left_handed_mode = false
|
||||
middle_emulation = false
|
||||
modifier_binding_timeout = 400
|
||||
mouse_accel_profile = default
|
||||
mouse_cursor_speed = 0.000000
|
||||
mouse_scroll_speed = 1.000000
|
||||
natural_scroll = false
|
||||
scroll_method = default
|
||||
tap_to_click = true
|
||||
touchpad_accel_profile = default
|
||||
touchpad_cursor_speed = 0.000000
|
||||
touchpad_scroll_speed = 1.000000
|
||||
xkb_layout = eu
|
||||
xkb_model =
|
||||
xkb_options =
|
||||
xkb_rules = evdev
|
||||
xkb_variant =
|
||||
|
||||
[input-device]
|
||||
output =
|
||||
|
||||
[invert]
|
||||
preserve_hue = false
|
||||
toggle = <super> KEY_I
|
||||
|
||||
[move]
|
||||
activate = <super> BTN_LEFT
|
||||
enable_snap = false
|
||||
enable_snap_off = true
|
||||
join_views = false
|
||||
quarter_snap_threshold = 50
|
||||
snap_off_threshold = 10
|
||||
snap_threshold = 10
|
||||
workspace_switch_after = -1
|
||||
|
||||
[oswitch]
|
||||
next_output = <super> KEY_O
|
||||
next_output_with_win = <shift> <super> KEY_O
|
||||
|
||||
[output]
|
||||
mode = auto
|
||||
position = auto
|
||||
scale = 1.000000
|
||||
transform = normal
|
||||
|
||||
[place]
|
||||
mode = center
|
||||
|
||||
[preserve-output]
|
||||
last_output_focus_timeout = 1000000
|
||||
|
||||
[resize]
|
||||
activate = <super> BTN_RIGHT
|
||||
|
||||
[scale]
|
||||
allow_zoom = false
|
||||
background = 0.0 0.0 0.0 0.0
|
||||
bg_color = \#1A1A1AE6
|
||||
duration = 750
|
||||
inactive_alpha = 0.750000
|
||||
interact = false
|
||||
middle_click_close = false
|
||||
spacing = 50
|
||||
text_color = \#CCCCCCFF
|
||||
title_font_size = 16
|
||||
title_overlay = all
|
||||
title_position = center
|
||||
toggle = <super> KEY_P
|
||||
toggle_all =
|
||||
|
||||
[scale-title-filter]
|
||||
bg_color = \#00000080
|
||||
case_sensitive = false
|
||||
font_size = 30
|
||||
overlay = true
|
||||
share_filter = false
|
||||
text_color = \#CCCCCCCC
|
||||
|
||||
[simple-tile]
|
||||
button_move = <super> BTN_LEFT
|
||||
button_resize = <super> BTN_RIGHT
|
||||
inner_gap_size = 5
|
||||
keep_fullscreen_on_adjacent = true
|
||||
key_focus_above = <super> KEY_K
|
||||
key_focus_below = <super> KEY_J
|
||||
key_focus_left = <super> KEY_H
|
||||
key_focus_right = <super> KEY_L
|
||||
key_toggle = <super> KEY_T
|
||||
outer_horiz_gap_size = 0
|
||||
outer_vert_gap_size = 0
|
||||
tile_by_default = all
|
||||
|
||||
[switcher]
|
||||
next_view = <alt> KEY_TAB
|
||||
prev_view = <alt> <shift> KEY_TAB
|
||||
speed = 500
|
||||
view_thumbnail_scale = 1.000000
|
||||
|
||||
[vswipe]
|
||||
background = \#1A1A1AFF
|
||||
delta_threshold = 24.000000
|
||||
duration = 180
|
||||
enable_free_movement = false
|
||||
enable_horizontal = true
|
||||
enable_smooth_transition = false
|
||||
enable_vertical = true
|
||||
fingers = 4
|
||||
gap = 32.000000
|
||||
speed_cap = 0.050000
|
||||
speed_factor = 256.000000
|
||||
threshold = 0.350000
|
||||
|
||||
[vswitch]
|
||||
background = \#00000000
|
||||
binding_down = <ctrl> <super> KEY_DOWN
|
||||
binding_left = <ctrl> <super> KEY_LEFT
|
||||
binding_right = <ctrl> <super> KEY_RIGHT
|
||||
binding_up = <ctrl> <super> KEY_UP
|
||||
binding_win_down = <ctrl> <shift> <super> KEY_DOWN
|
||||
binding_win_left = <ctrl> <shift> <super> KEY_LEFT
|
||||
binding_win_right = <ctrl> <shift> <super> KEY_RIGHT
|
||||
binding_win_up = <ctrl> <shift> <super> KEY_UP
|
||||
duration = 300
|
||||
gap = 20
|
||||
with_win_down = <ctrl> <super> <shift> KEY_DOWN
|
||||
with_win_left = <ctrl> <super> <shift> KEY_LEFT
|
||||
with_win_right = <ctrl> <super> <shift> KEY_RIGHT
|
||||
with_win_up = <ctrl> <super> <shift> KEY_UP
|
||||
wraparound = false
|
||||
|
||||
[window-rules]
|
||||
|
||||
[wm-actions]
|
||||
minimize = none
|
||||
send_to_back = none
|
||||
toggle_always_on_top = none
|
||||
toggle_fullscreen = none
|
||||
toggle_maximize = none
|
||||
toggle_showdesktop = none
|
||||
toggle_sticky = none
|
||||
|
||||
[wobbly]
|
||||
friction = 5.000000
|
||||
grid_resolution = 6
|
||||
spring_k = 8.000000
|
||||
|
||||
[workarounds]
|
||||
all_dialogs_modal = true
|
||||
app_id_mode = stock
|
||||
dynamic_repaint_delay = false
|
||||
|
||||
[wrot]
|
||||
activate = <ctrl> <super> BTN_RIGHT
|
||||
activate-3d = <shift> <super> BTN_RIGHT
|
||||
invert = false
|
||||
reset = <ctrl> <super> KEY_R
|
||||
reset-one = <super> KEY_R
|
||||
reset_radius = 25.000000
|
||||
sensitivity = 24
|
||||
|
||||
[zoom]
|
||||
modifier = <super>
|
||||
smoothing_duration = 300
|
||||
speed = 0.010000
|
||||
|
8
config-files-laptop/wofi/config
Executable file
8
config-files-laptop/wofi/config
Executable file
|
@ -0,0 +1,8 @@
|
|||
mode=drun
|
||||
location=2
|
||||
yoffset=0
|
||||
prompt=
|
||||
width=800
|
||||
height=400
|
||||
allow_images=true
|
||||
allow_markup=true
|
52
config-files-laptop/wofi/style.css
Executable file
52
config-files-laptop/wofi/style.css
Executable file
|
@ -0,0 +1,52 @@
|
|||
*
|
||||
{
|
||||
font-family: "Roboto";
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
#window
|
||||
{
|
||||
margin: 0px;
|
||||
border: none;
|
||||
border-color: rgba(0, 0, 0, 0.5);
|
||||
border-radius: 16;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
color: #dfe2e1;
|
||||
}
|
||||
|
||||
#input
|
||||
{
|
||||
margin: 25px;
|
||||
background-color: 191724;
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 10px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#scroll
|
||||
{
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
#entry
|
||||
{
|
||||
margin: 0px 25px;
|
||||
}
|
||||
|
||||
#entry:selected
|
||||
{
|
||||
border-radius: 10px;
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#entry > box
|
||||
{
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#entry image
|
||||
{
|
||||
padding-right: 10px;
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
# A Void Linux desktop install (Unfinished)
|
||||
# A Void Linux install (Unfinished)
|
||||
|
||||
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. This guide focuses on a Void Linux x86-64 glibc/musl install. In this install gummiboot is used as bootloader and the root partition will be encrypted.
|
||||
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. 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.
|
||||
|
||||
## Provisioning
|
||||
|
||||
|
@ -10,7 +10,7 @@ It should look something like this:
|
|||
|
||||
| Number of partition | Size | Type |
|
||||
|:-----:|:-----:|:-----: |
|
||||
| 1 | 1 to 2 GB | EFI System |
|
||||
| 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.
|
||||
|
@ -27,9 +27,11 @@ And the encrypted filesystem of the root partition.
|
|||
# mkfs.ext4 -L root /dev/mapper/root
|
||||
```
|
||||
|
||||
Other filesystems can also be used but `ext4` is the standard for most linux distobutions.
|
||||
|
||||
## Installation
|
||||
|
||||
The encrypted partition and the efi partition have to be mounted to the main system.
|
||||
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
|
||||
|
@ -152,7 +154,7 @@ The `uuid` is needed again and can be obtained by:
|
|||
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
|
||||
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`.
|
||||
|
@ -161,31 +163,18 @@ To obtain a boot menu. A timeout may be added to `/boot/loader/loader.conf`.
|
|||
timeout 4
|
||||
```
|
||||
|
||||
Then to configure the locales:
|
||||
|
||||
* For glibc: edit `/etc/default/libc-locales` and uncomment.
|
||||
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
|
||||
```
|
||||
|
||||
* For musl:
|
||||
And reconfigure the locales.
|
||||
|
||||
```
|
||||
# xbps-reconfigure -f glibc-locales
|
||||
```
|
||||
|
||||
Then reconfigure the locales.
|
||||
|
||||
* For glibc:
|
||||
|
||||
```
|
||||
# xbps-reconfigure -f glibc-locales
|
||||
```
|
||||
|
||||
* For musl:
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
To obtain better security, `apparmor` will be set to enforce. By editing `/etc/default/apparmor` and inserting:
|
||||
|
||||
|
@ -202,7 +191,7 @@ To set the internal network edit `/etc/hosts` and insert.
|
|||
Finally reconfigure Linux.
|
||||
|
||||
```
|
||||
# xbps-reconfigure -f linux{version}
|
||||
# xbps-reconfigure -f linux<version>
|
||||
```
|
||||
|
||||
Exit the chroot.
|
||||
|
@ -223,4 +212,449 @@ And reboot.
|
|||
# shutdown -r now
|
||||
```
|
||||
|
||||
## Post install
|
||||
## Post install
|
||||
|
||||
In the post install section the installation and configuration of certain applications are elaborated. With the use of the config-files in this repository.
|
||||
|
||||
To obtain these config-files the void-desktop repository may be cloned with the `git` command.
|
||||
|
||||
```
|
||||
$ git clone https://git.bijl.us/luc/void-desktop.git
|
||||
```
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
### Users
|
||||
|
||||
A user should be added to improve security of the system.
|
||||
|
||||
```
|
||||
# useradd <user>
|
||||
```
|
||||
|
||||
The user may be added to certain groups, to give it some rights.
|
||||
|
||||
```
|
||||
# usermod -aG wheel,audio,video,kvm,tty,input,storage(,bluetooth,_seatd) <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 void-desktop/config-files/bash/.bashrc .bashrc
|
||||
$ cp void-desktop/config-files/bash/.bash_profile .bash_profile
|
||||
```
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
### 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 to your own edit the `/etc/rc.conf` file and set these lines:
|
||||
|
||||
```
|
||||
HARDWARECLOCK="localtime"
|
||||
TIMEZONE=("Europe/Amsterdam")
|
||||
```
|
||||
|
||||
### 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>
|
||||
```
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
### 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`.
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
There is also our unnofficial 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
|
||||
```
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
### Secure-boot
|
||||
|
||||
#### Linux Windows dual boot
|
||||
|
||||
```
|
||||
# xbps-install -Sy sbctl
|
||||
# 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>
|
||||
# sbctl verify
|
||||
```
|
||||
|
||||
### Laptop-management
|
||||
|
||||
```
|
||||
# xbps-install -Sy tlp tlpui
|
||||
```
|
||||
|
||||
```
|
||||
# ln -s /etc/sv/tlp /var/service
|
||||
# ln -s /etc/sv/acpid /var/service
|
||||
```
|
||||
|
||||
Edit `/etc/tlp.d/00-template.conf`
|
||||
|
||||
```
|
||||
CPU_ENERGY_PERF_POLICY_ON_AC=performance
|
||||
CPU_ENERGY_PERF_POLICY_ON_BAT=power
|
||||
```
|
||||
|
||||
## Graphical session
|
||||
|
||||
### 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`, `dumb_runtime_dir` and `polkit`. To install those run:
|
||||
|
||||
```
|
||||
# xbps-install -Sy seatd dumb_runtime_dir polkit
|
||||
```
|
||||
|
||||
Then to enable them:
|
||||
|
||||
```
|
||||
# ln -s /etc/sv/seatd /var/service
|
||||
# ln -s /etc/sv/polkitd /var/service
|
||||
```
|
||||
|
||||
And for `dumb_runtime_dir` to function, configure `/etc/pam.d/system-login` by uncommenting:
|
||||
|
||||
```
|
||||
session optional pam_dumb_runtime_dir.so
|
||||
```
|
||||
|
||||
For some sane polkit rules add these lines to `/etc/polkit-1/rules.d/00-polkit.rules`:
|
||||
|
||||
```
|
||||
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;
|
||||
});
|
||||
|
||||
polkit.addRule(function(action, subject)
|
||||
{
|
||||
if (action.id.startsWith("org.freedesktop.udisks2.") && subject.isInGroup("storage"))
|
||||
return polkit.Result.YES;
|
||||
});
|
||||
```
|
||||
|
||||
Or for the more lazy under us copy `void-desktop/config-files/polkit/00-polkit.rules` to `/etc/polkit-1/rules.d/`.
|
||||
|
||||
```
|
||||
# cp -r void-desktop/config-files/polkit/00-polkit.rules /etc/polkit-1/rules.d/
|
||||
```
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Window manager
|
||||
|
||||
There are many different window managers and desktop enviroments which can provide a decent experience. Wayfire is a functional, relativily lightweight and good looking wayland window manager and will be used for this install.
|
||||
|
||||
### Audio
|
||||
|
||||
### Essential applications
|
||||
|
||||
### Auto-mounting
|
||||
|
||||
### Printing
|
||||
|
||||
### Bluetooth
|
||||
|
||||
## Misc
|
||||
|
||||
### Virt-manager
|
||||
|
||||
### Wine
|
||||
|
||||
### Steam
|
Loading…
Reference in a new issue