Skip to content

Commit

Permalink
add files
Browse files Browse the repository at this point in the history
  • Loading branch information
Datawalker committed Aug 18, 2023
0 parents commit 4803233
Show file tree
Hide file tree
Showing 24 changed files with 1,453 additions and 0 deletions.
6 changes: 6 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Copyright 2023 Data Walker
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17 changes: 17 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
### Create Virtual Box
# 8GB Ram
# 2 CPUs
# 128 MB VRam
# Graphics Controller: VBoxSVGA (Ignore Invalid settings detected)
# Network Adapter: Bridged Adapter

# to make the display work, make sure that virtualbox display driver is VBoxXVGA
# no really, make sure you're on VBoxXVGA

### Installer Options
# Default system components
# Auto ZFS
# Use ntpdate and ntpd
# Random PID and down is what I usually use
# no users
# disconnect dvd while restarting
24 changes: 24 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/sh
# Copyright 2023 Data Walker
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

if [ -d "FreeBSD-XFCE/" ]; then
rm -rf "FreeBSD-XFCE/"
fi
cp -r src/ "FreeBSD-XFCE/"
if which zip 2> /dev/null; then
if [ ! -f FreeDesk.zip ]; then
rm "FreeBSD-XFCE.zip"
fi
zip -r "FreeBSD-XFCE.zip" "FreeBSD-XFCE/"
else
if [ -f "FreeBSD-XFCE.tar.gz" ]; then
rm "FreeBSD-XFCE.tar.gz"
fi
tar -zcvf "FreeBSD-XFCE.tar.gz" "FreeBSD-XFCE/"
rm -rf "FreeBSD-XFCE/"
fi
Binary file added src/aesthetic.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
88 changes: 88 additions & 0 deletions src/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#!/bin/sh
# Copyright 2023 Data Walker
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

### install all the packages at once
pkg install -y virtualbox-ose-additions \
xorg lightdm lightdm-gtk-greeter xfce firefox \
doas nano vim curl

### setup boot
# remove 10 second wait during booting, you can still press buttons before the boot menu to use the boot menu
cat >> /boot/loader.conf <<EOF
autoboot_delay="0"
EOF

### setup lightdm and lightdm background image
sysrc lightdm_enable=YES
cp aesthetic.jpg /usr/local/share/backgrounds/aesthetic.jpg
cat >> /usr/local/etc/lightdm/lightdm-gtk-greeter.conf <<EOF
background = /usr/local/share/backgrounds/aesthetic.jpg
cursor-theme-name = Adwaita
cursor-theme-size = 24
EOF

### setup xfce defaults
# create separate xdg
mv /usr/local/etc/xdg /usr/local/etc/xdg-backup
cp -r xdg /usr/local/etc/xdg

# remove all backgrounds and link default to my background
# might at some point build XFCE myself with the default changed, but this will work for now
rm -rf /usr/local/share/backgrounds/xfce/
mkdir -p /usr/local/share/backgrounds/xfce/
ln -s /usr/local/share/backgrounds/aesthetic.jpg /usr/local/share/backgrounds/xfce/xfce-shapes.svg

# setup proc filesystem
cat >> /etc/fstab <<EOF
proc /proc procfs rw 0 0
EOF

# driver setup
sysrc hald_enable=YES
sysrc dbus_enable=YES
dbus-uuidgen --ensure

### change default services
sysrc ntpd_enable=YES
sysrc ntpdate_enable=YES
sysrc sshd_enable=NO

### setup virtualbox stuff
# setup vbox service
# life advice: if you want your stuff to work by default don't use something written by oracle
# virtualbox errors if you enable vboxguest and don't add wheel to the user
# I don't want wheel on user so we'll just disable it
sysrc vboxguest_enable=NO
# but we can enable vboxservice
sysrc vboxservice_enable=YES
sysrc vboxservice_flags=--disable-timesync

### miscellaneous

# disable console
cat > /etc/ttys <<EOF
#no ttys because we want this to be a desktop only
#ttyv0 "/usr/libexec/getty Pc" xterm onifexists secure
EOF

### setup user
# create user theophilus
# add theophilus to video group so he can use x11
pw user add -n theophilus -c 'Theophilus' -G video -w yes -m

### setup doas
cat >> /usr/local/etc/doas.conf <<EOF
permit theophilus as root cmd /usr/bin/su
EOF

### restart into your login manager
echo
echo
echo "Excellent, now run \`shutdown -r now\`, to reboot into your desktop"
echo
echo
167 changes: 167 additions & 0 deletions src/xdg/Thunar/uca.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE actions [
<!ELEMENT actions (action)+>

<!ELEMENT action (icon|patterns|name|unique-id|command|description|directories|audio-files|image-files|other-files|text-files|video-files)*>

<!ELEMENT icon (#PCDATA)>
<!ELEMENT command (#PCDATA)>
<!ELEMENT patterns (#PCDATA)>

<!ELEMENT name (#PCDATA)>
<!ATTLIST name xml:lang CDATA #IMPLIED>

<!ELEMENT unique-id (#PCDATA)>

<!ELEMENT description (#PCDATA)>
<!ATTLIST description xml:lang CDATA #IMPLIED>

<!ELEMENT startup-notify EMPTY>

<!ELEMENT directories EMPTY>
<!ELEMENT audio-files EMPTY>
<!ELEMENT image-files EMPTY>
<!ELEMENT other-files EMPTY>
<!ELEMENT text-files EMPTY>
<!ELEMENT video-files EMPTY>
]>
<actions>

<action>
<icon>utilities-terminal</icon>
<patterns>*</patterns>
<range/>
<name>Open Terminal Here</name>
<name xml:lang="am">ተርሚናል እዚህ ክፈት</name>
<name xml:lang="ar">إفتح الطرفية هنا</name>
<name xml:lang="ast">Abrir la terminal equí</name>
<name xml:lang="be">Адкрыць тэрмінал тут</name>
<name xml:lang="bg">Отваряне на терминал тук</name>
<name xml:lang="bn">এখানে টার্মিনাল খুলুন</name>
<name xml:lang="ca">Obre un terminal aquí</name>
<name xml:lang="cs">Otevřít terminál zde</name>
<name xml:lang="da">Åbn terminal her</name>
<name xml:lang="de">Terminal hier öffnen</name>
<name xml:lang="el">Άνοιγμα τερματικού εδώ</name>
<name xml:lang="en_AU">Open Terminal Here</name>
<name xml:lang="en_GB">Open Terminal Here</name>
<name xml:lang="eo">Malfermu terminalon ĉi tie</name>
<name xml:lang="es">Abrir un terminal aquí</name>
<name xml:lang="et">Ava siin terminal</name>
<name xml:lang="eu">Ireki terminala hemen</name>
<name xml:lang="fa_IR">باز کردن پایانه در اینجا</name>
<name xml:lang="fi">Avaa pääte tässä kansiossa</name>
<name xml:lang="fr">Ouvrir un terminal ici</name>
<name xml:lang="gl">Abrir aquí unha terminal</name>
<name xml:lang="he">פתח מסוף כאן</name>
<name xml:lang="hr">Otvori terminal ovdje</name>
<name xml:lang="hu">Terminál nyitása itt</name>
<name xml:lang="hy">Բացել վահանակն այստեղ</name>
<name xml:lang="hy_AM">Բացել վահանակն այստեղ</name>
<name xml:lang="hye">Բացել վահանակն այստեղ</name>
<name xml:lang="id">Buka Terminal Di sini</name>
<name xml:lang="ie">Aperter li Terminal ci</name>
<name xml:lang="is">Opna skjáhermi hér</name>
<name xml:lang="it">Apri un terminale qui</name>
<name xml:lang="ja">ここで Terminal を開く</name>
<name xml:lang="kk">Терминалды осында ашу</name>
<name xml:lang="ko">이 위치에서 터미널 열기</name>
<name xml:lang="lt">Atverti terminalą čia</name>
<name xml:lang="lv">Atvērt šeit termināli</name>
<name xml:lang="ms">Buka Terminal Di Sini</name>
<name xml:lang="nb">Åpne terminalvindu her</name>
<name xml:lang="nl">Open hier een terminal</name>
<name xml:lang="nn">Opna terminalen her</name>
<name xml:lang="oc">Dobrir un terminal aicí</name>
<name xml:lang="pa">ਇੱਥੇ ਟਰਮੀਨਲ ਖੋਲ੍ਹੋ</name>
<name xml:lang="pl">Otwórz w terminalu</name>
<name xml:lang="pt">Abrir terminal aqui</name>
<name xml:lang="pt_BR">Abrir terminal aqui</name>
<name xml:lang="ro">Deschide aici un terminal</name>
<name xml:lang="ru">Открыть терминал</name>
<name xml:lang="sk">Otvoriť v termináli</name>
<name xml:lang="sl">Tukaj odpri terminal</name>
<name xml:lang="sq">Hape Terminalin Këtu</name>
<name xml:lang="sr">Овде отвори терминал</name>
<name xml:lang="sv">Öppna terminal här</name>
<name xml:lang="te">టెర్మినల్‌ను ఇక్కడ తెరువు</name>
<name xml:lang="th">เปิดเทอร์มินัลที่นี่</name>
<name xml:lang="tr">Burada Uçbirim Aç</name>
<name xml:lang="ug">بۇ يەردە تېرمىنالنى ئاچ</name>
<name xml:lang="uk">Відкрити термінал тут</name>
<name xml:lang="ur">ٹرمنل یہیں کھولیں</name>
<name xml:lang="ur_PK">ٹرمنل یہیں کھولیں</name>
<name xml:lang="vi">Mở Terminal tại thư mục này</name>
<name xml:lang="zh_CN">在此打开终端</name>
<name xml:lang="zh_HK">在此開啟終端機</name>
<name xml:lang="zh_TW">在此開啟終端機</name>
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
<description>Example for a custom action</description>
<description xml:lang="am">የግል ተግባር ምሳሌ</description>
<description xml:lang="ar">مثال لإجراء مخصص</description>
<description xml:lang="ast">Exemplu d'una aición personalizada</description>
<description xml:lang="be">Прыклад адвольнага дзеяння</description>
<description xml:lang="bg">Пример за потребителско действие</description>
<description xml:lang="bn">পছন্দসই কাজের জন্য উদাহরণ</description>
<description xml:lang="ca">Exemple d'acció personalitzada</description>
<description xml:lang="cs">Příklad vlastní akce</description>
<description xml:lang="da">Eksempel på en tilpasset handling</description>
<description xml:lang="de">Beispiel für eine eigene Aktion</description>
<description xml:lang="el">Παράδειγμα προσαρμοσμένης ενέργειας</description>
<description xml:lang="en_AU">Example for a custom action</description>
<description xml:lang="en_GB">Example for a custom action</description>
<description xml:lang="eo">Ekzemplo de kutima ago</description>
<description xml:lang="es">Ejemplo de una acción personalizada</description>
<description xml:lang="et">Kohandatud tegevuse näidis</description>
<description xml:lang="eu">Ekintza pertsonalizatu adibidea</description>
<description xml:lang="fa_IR">مثال برای یک کنش سفارشی</description>
<description xml:lang="fi">Esimerkki mukautetusta toiminnosta</description>
<description xml:lang="fr">Exemple d’une action personnalisée</description>
<description xml:lang="gl">Exemplo dunha acción personalizada</description>
<description xml:lang="he">דוגמה של פעולה מותאמת אישית</description>
<description xml:lang="hr">Primjer prilagođene radnje</description>
<description xml:lang="hu">Példa egyéni műveletre</description>
<description xml:lang="hy">Ընտրովի գործողության օրինակ</description>
<description xml:lang="hy_AM">Ընտրովի գործողութեան աւրինակ</description>
<description xml:lang="hye">Ընտրովի գործողութեան աւրինակ</description>
<description xml:lang="id">Contoh untuk aksi suai</description>
<description xml:lang="ie">Exemple de un personal action</description>
<description xml:lang="is">Dæmi um sérsniðna aðgerð</description>
<description xml:lang="it">Esempio di azione personalizzata</description>
<description xml:lang="ja">カスタムアクションの例です。</description>
<description xml:lang="kk">Пайдаланушы әрекетінің мысалы</description>
<description xml:lang="ko">사용자 정의 동작 에제</description>
<description xml:lang="lt">Pasirinktinio veiksmo pavyzdys</description>
<description xml:lang="lv">Paraugs pielāgotai darbībai</description>
<description xml:lang="ms">Contoh bagi tindakan suai</description>
<description xml:lang="nb">Eksempel på en egendefinert handling</description>
<description xml:lang="nl">Voorbeeld van een aangepaste actie</description>
<description xml:lang="nn">Døme på sjølvvald handling</description>
<description xml:lang="oc">Exemple d'una accion personalizada</description>
<description xml:lang="pa">ਇੱਕ ਕਸਟਮ ਐਕਸ਼ਨ ਲਈ ਉਦਾਹਰਨ</description>
<description xml:lang="pl">Otwiera terminal w bieżącym położeniu</description>
<description xml:lang="pt">Exemplo de uma ação personalizada</description>
<description xml:lang="pt_BR">Exemplo de uma ação personalizada</description>
<description xml:lang="ro">Exemplu de acțiune personalizată</description>
<description xml:lang="ru">Пример особого действия</description>
<description xml:lang="sk">Príklad vlastnej akcie</description>
<description xml:lang="sl">Primer lastnega dejanja</description>
<description xml:lang="sq">Shembull për veprim vetjak</description>
<description xml:lang="sr">Пример за произвољну радњу</description>
<description xml:lang="sv">Exempel för en anpassad åtgärd</description>
<description xml:lang="te">ఒక అనురూపిత చర్యకు ఉదాహరణ</description>
<description xml:lang="th">ตัวอย่างการกระทำที่กำหนดเอง</description>
<description xml:lang="tr">Özel işlem için örnek</description>
<description xml:lang="ug">ئىختىيارى مەشغۇلات ھەققىدىكى مىسال</description>
<description xml:lang="uk">Приклад особливої дії</description>
<description xml:lang="ur">مخصوص حرکت کی مثال</description>
<description xml:lang="ur_PK">مخصوص حرکت کی مثال</description>
<description xml:lang="vi">Ví dụ cho một hành động tuỳ biến</description>
<description xml:lang="zh_CN">自定义动作示例</description>
<description xml:lang="zh_HK">自訂動作範例</description>
<description xml:lang="zh_TW">自訂動作範例</description>
<startup-notify/>
<directories/>
</action>

</actions>
10 changes: 10 additions & 0 deletions src/xdg/Xwayland-session.d/00-at-spi
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/sh

# Copy a11y bus address from the DBus session bus to the X11 root property.
# This is useful when Xwayland is started on demand and if the user has an
# application with X11 access that does not have access to the session bus.

ADDR="$( busctl call --user org.a11y.Bus /org/a11y/bus org.a11y.Bus GetAddress )" || exit 0
ADDR="$( echo $ADDR | sed 's/s "\(.*\)"/\1/' )" || exit 0

exec xprop -root -format AT_SPI_BUS 8s -set AT_SPI_BUS "$ADDR"
9 changes: 9 additions & 0 deletions src/xdg/autostart/at-spi-dbus-bus.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Name=AT-SPI D-Bus Bus
Exec=/usr/local/libexec/at-spi-bus-launcher --launch-immediately
OnlyShowIn=GNOME;Unity;
NoDisplay=true
AutostartCondition=GSettings org.gnome.desktop.interface toolkit-accessibility
X-GNOME-AutoRestart=true
X-GNOME-Autostart-Phase=Initialization
10 changes: 10 additions & 0 deletions src/xdg/autostart/networkmgr.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[Desktop Entry]
Name=NetworkMgr
Comment=Network Manager
Exec=sudo networkmgr
Terminal=false
Type=Application
Categories=
NoDisplay=true
X-Mate-Autostart-Notify=true
X-KDE-autostart-after=panel
13 changes: 13 additions & 0 deletions src/xdg/autostart/vboxclient.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Encoding=UTF-8
Version=1.0
Name=vboxclient
Name[C]=vboxclient
Comment[C]=VirtualBox User Session Services
Comment=VirtualBox User Session Services
Comment[it]=Servizi di sessione utente di VirtualBox
Comment[pl]=Usługi sesji użytkownika VirtualBox
Exec=/usr/local/bin/VBoxClient-all
X-GNOME-Autostart-enabled=true
X-KDE-autostart-after=panel
Loading

0 comments on commit 4803233

Please sign in to comment.