Initial Das OS 0.1.0: Void Linux live ISO with Xfce
- xbps-src templates: das-theme (adw-gtk3-based GTK themes, generated xfwm4 frames, wallpapers, logo), das-settings (Xfce, panel, LightDM defaults in /etc/xdg/das), adw-gtk3 and font-jetbrains-mono - void-mklive profile in live/: packages, runit services, rootfs overlay, Ukrainian locale, live user with autologin - Void builder container, build scripts, QEMU runner and Makefile - Bilingual README with screenshots Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
../../../LICENSE
|
||||
@@ -0,0 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Das OS session setup
|
||||
Comment=Applies Das OS defaults that depend on the user's monitors
|
||||
Exec=/usr/libexec/das/das-session-init
|
||||
OnlyShowIn=XFCE;
|
||||
NoDisplay=true
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
# Applies Das OS per-user defaults that cannot be shipped as static xfconf files.
|
||||
# xfdesktop keys wallpapers by monitor connector name (eDP-1, HDMI-1, Virtual-1...),
|
||||
# which is only known inside the session. Runs once per user.
|
||||
set -u
|
||||
|
||||
marker="${XDG_CONFIG_HOME:-$HOME/.config}/das/session-init.done"
|
||||
[[ -e $marker ]] && exit 0
|
||||
|
||||
wallpaper=/usr/share/backgrounds/das/das-light.svg
|
||||
if [[ $(xfconf-query -c xsettings -p /Net/ThemeName 2>/dev/null) == *-Dark ]]; then
|
||||
wallpaper=/usr/share/backgrounds/das/das-dark.svg
|
||||
fi
|
||||
|
||||
# Sets an xfconf property, creating it when it does not exist yet.
|
||||
set_prop() {
|
||||
local prop=$1 type=$2 value=$3
|
||||
xfconf-query -c xfce4-desktop -p "$prop" -s "$value" 2>/dev/null ||
|
||||
xfconf-query -c xfce4-desktop -p "$prop" -n -t "$type" -s "$value"
|
||||
}
|
||||
|
||||
# "xrandr --listactivemonitors" prints a header, then one line per monitor ending in its connector name.
|
||||
monitors=$(xrandr --listactivemonitors 2>/dev/null | awk 'NR > 1 { print $NF }')
|
||||
if [[ -z $monitors ]]; then
|
||||
echo "das-session-init: no active monitors found, will retry at next login" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for monitor in $monitors; do
|
||||
base="/backdrop/screen0/monitor${monitor}/workspace0"
|
||||
set_prop "$base/last-image" string "$wallpaper"
|
||||
set_prop "$base/image-style" int 5 # zoomed: fill the screen, keep proportions
|
||||
done
|
||||
|
||||
mkdir -p "${marker%/*}" && touch "$marker"
|
||||
@@ -0,0 +1,13 @@
|
||||
# Das OS look for the login screen.
|
||||
[greeter]
|
||||
background=/usr/share/backgrounds/das/das-light.svg
|
||||
theme-name=DasOS
|
||||
icon-theme-name=Papirus
|
||||
font-name=Inter 11
|
||||
cursor-theme-name=Adwaita
|
||||
cursor-theme-size=24
|
||||
xft-antialias=true
|
||||
xft-hintstyle=hintslight
|
||||
xft-rgba=rgb
|
||||
indicators=~host;~spacer;~clock;~spacer;~layout;~language;~session;~a11y;~power
|
||||
clock-format=%H:%M %d.%m.%Y
|
||||
@@ -0,0 +1,4 @@
|
||||
# Das OS: LightDM with the GTK greeter starting an Xfce session.
|
||||
[Seat:*]
|
||||
greeter-session=lightdm-gtk-greeter
|
||||
user-session=xfce
|
||||
@@ -0,0 +1,6 @@
|
||||
# Das OS desktop defaults (/etc/xdg/das) take precedence over the stock Xfce ones in /etc/xdg.
|
||||
# LightDM sources /etc/profile before the session starts, and startxfce4 keeps this order.
|
||||
case ":${XDG_CONFIG_DIRS:-}:" in
|
||||
*:/etc/xdg/das:*) ;;
|
||||
*) export XDG_CONFIG_DIRS="/etc/xdg/das:${XDG_CONFIG_DIRS:-/etc/xdg}" ;;
|
||||
esac
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- Wallpapers are keyed by monitor connector name, so das-session-init sets them at first login. -->
|
||||
<channel name="xfce4-desktop" version="1.0">
|
||||
<property name="backdrop" type="empty">
|
||||
<property name="single-workspace-mode" type="bool" value="true"/>
|
||||
<property name="single-workspace-number" type="int" value="0"/>
|
||||
</property>
|
||||
<property name="desktop-icons" type="empty">
|
||||
<property name="icon-size" type="uint" value="48"/>
|
||||
<property name="file-icons" type="empty">
|
||||
<property name="show-filesystem" type="bool" value="false"/>
|
||||
<property name="show-home" type="bool" value="true"/>
|
||||
<property name="show-removable" type="bool" value="true"/>
|
||||
<property name="show-trash" type="bool" value="true"/>
|
||||
</property>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- One full-width bottom panel: menu, windows, tray, layout, sound, notifications, clock. -->
|
||||
<channel name="xfce4-panel" version="1.0">
|
||||
<property name="configver" type="int" value="2"/>
|
||||
<property name="panels" type="array">
|
||||
<value type="int" value="1"/>
|
||||
<property name="dark-mode" type="bool" value="false"/>
|
||||
<property name="panel-1" type="empty">
|
||||
<property name="position" type="string" value="p=10;x=0;y=0"/>
|
||||
<property name="length" type="uint" value="100"/>
|
||||
<property name="position-locked" type="bool" value="true"/>
|
||||
<property name="size" type="uint" value="40"/>
|
||||
<property name="icon-size" type="uint" value="0"/>
|
||||
<property name="plugin-ids" type="array">
|
||||
<value type="int" value="1"/>
|
||||
<value type="int" value="2"/>
|
||||
<value type="int" value="3"/>
|
||||
<value type="int" value="4"/>
|
||||
<value type="int" value="5"/>
|
||||
<value type="int" value="6"/>
|
||||
<value type="int" value="7"/>
|
||||
<value type="int" value="8"/>
|
||||
<value type="int" value="9"/>
|
||||
<value type="int" value="10"/>
|
||||
<value type="int" value="11"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugins" type="empty">
|
||||
<property name="plugin-1" type="string" value="whiskermenu">
|
||||
<property name="button-icon" type="string" value="das-logo"/>
|
||||
<property name="show-button-title" type="bool" value="false"/>
|
||||
</property>
|
||||
<property name="plugin-2" type="string" value="separator">
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-3" type="string" value="tasklist">
|
||||
<property name="grouping" type="uint" value="1"/>
|
||||
<property name="flat-buttons" type="bool" value="true"/>
|
||||
<property name="show-handle" type="bool" value="false"/>
|
||||
</property>
|
||||
<property name="plugin-4" type="string" value="separator">
|
||||
<property name="expand" type="bool" value="true"/>
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-5" type="string" value="systray">
|
||||
<property name="square-icons" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="plugin-6" type="string" value="xkb">
|
||||
<property name="display-type" type="uint" value="1"/>
|
||||
<property name="display-scale" type="uint" value="50"/>
|
||||
</property>
|
||||
<property name="plugin-7" type="string" value="pulseaudio">
|
||||
<property name="enable-keyboard-shortcuts" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="plugin-8" type="string" value="notification-plugin"/>
|
||||
<property name="plugin-9" type="string" value="separator">
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-10" type="string" value="clock">
|
||||
<property name="mode" type="uint" value="2"/>
|
||||
<property name="digital-layout" type="uint" value="1"/>
|
||||
<property name="digital-time-format" type="string" value="%H:%M"/>
|
||||
<property name="digital-date-format" type="string" value="%d.%m.%Y"/>
|
||||
</property>
|
||||
<property name="plugin-11" type="string" value="showdesktop"/>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-terminal" version="1.0">
|
||||
<property name="font-use-system" type="bool" value="false"/>
|
||||
<property name="font-name" type="string" value="JetBrains Mono 11"/>
|
||||
<property name="misc-default-geometry" type="string" value="110x32"/>
|
||||
<property name="misc-menubar-default" type="bool" value="false"/>
|
||||
<property name="scrolling-unlimited" type="bool" value="true"/>
|
||||
<property name="color-use-theme" type="bool" value="false"/>
|
||||
<property name="color-foreground" type="string" value="#e3e6ec"/>
|
||||
<property name="color-background" type="string" value="#1e222a"/>
|
||||
<property name="color-cursor" type="string" value="#ffd23f"/>
|
||||
<property name="color-cursor-use-default" type="bool" value="false"/>
|
||||
<property name="color-palette" type="string" value="#2b2f38;#e0464c;#7ec16e;#f2c230;#4f86ec;#b07ee8;#4fb8c9;#c8ccd4;#4a505d;#ff6b70;#98d68a;#ffd23f;#7aa7f5;#c9a0f2;#72cfdc;#ffffff"/>
|
||||
</channel>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfwm4" version="1.0">
|
||||
<property name="general" type="empty">
|
||||
<property name="theme" type="string" value="DasOS"/>
|
||||
<property name="title_font" type="string" value="Inter Semi-Bold 10"/>
|
||||
<property name="title_alignment" type="string" value="center"/>
|
||||
<property name="button_layout" type="string" value="O|HMC"/>
|
||||
<property name="use_compositing" type="bool" value="true"/>
|
||||
<property name="show_dock_shadow" type="bool" value="true"/>
|
||||
<property name="workspace_count" type="int" value="2"/>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="string" value="DasOS"/>
|
||||
<property name="IconThemeName" type="string" value="Papirus"/>
|
||||
</property>
|
||||
<property name="Xft" type="empty">
|
||||
<property name="Antialias" type="int" value="1"/>
|
||||
<property name="Hinting" type="int" value="1"/>
|
||||
<property name="HintStyle" type="string" value="hintslight"/>
|
||||
<property name="RGBA" type="string" value="rgb"/>
|
||||
</property>
|
||||
<property name="Gtk" type="empty">
|
||||
<property name="FontName" type="string" value="Inter 10"/>
|
||||
<property name="MonospaceFontName" type="string" value="JetBrains Mono 10"/>
|
||||
<property name="CursorThemeName" type="string" value="Adwaita"/>
|
||||
<property name="CursorThemeSize" type="int" value="24"/>
|
||||
<property name="DecorationLayout" type="string" value="menu:minimize,maximize,close"/>
|
||||
</property>
|
||||
</channel>
|
||||
Reference in New Issue
Block a user