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
|
## Provisioning
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ It should look something like this:
|
||||||
|
|
||||||
| Number of partition | Size | Type |
|
| 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 |
|
| 2 | Rest of the drive | Linux filesystem |
|
||||||
|
|
||||||
Then to create the filesystem of the efi partition.
|
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
|
# mkfs.ext4 -L root /dev/mapper/root
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Other filesystems can also be used but `ext4` is the standard for most linux distobutions.
|
||||||
|
|
||||||
## Installation
|
## 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
|
# 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:
|
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`.
|
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
|
timeout 4
|
||||||
```
|
```
|
||||||
|
|
||||||
Then to configure the locales:
|
If running `glibc` the locales have to be configured, to configure the locales edit `/etc/default/libc-locales` and uncomment.
|
||||||
|
|
||||||
* For glibc: edit `/etc/default/libc-locales` and uncomment.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
en_US.UTF-8 UTF-8
|
en_US.UTF-8 UTF-8
|
||||||
```
|
```
|
||||||
|
|
||||||
* For musl:
|
And reconfigure the locales.
|
||||||
|
|
||||||
```
|
|
||||||
```
|
|
||||||
|
|
||||||
Then reconfigure the locales.
|
|
||||||
|
|
||||||
* For glibc:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
# xbps-reconfigure -f glibc-locales
|
# xbps-reconfigure -f glibc-locales
|
||||||
```
|
```
|
||||||
|
|
||||||
* For musl:
|
|
||||||
|
|
||||||
```
|
|
||||||
```
|
|
||||||
|
|
||||||
To obtain better security, `apparmor` will be set to enforce. By editing `/etc/default/apparmor` and inserting:
|
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.
|
Finally reconfigure Linux.
|
||||||
|
|
||||||
```
|
```
|
||||||
# xbps-reconfigure -f linux{version}
|
# xbps-reconfigure -f linux<version>
|
||||||
```
|
```
|
||||||
|
|
||||||
Exit the chroot.
|
Exit the chroot.
|
||||||
|
@ -224,3 +213,448 @@ And reboot.
|
||||||
```
|
```
|
||||||
|
|
||||||
## 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