commit b5de726919c452d4595cc11c3e84405d8c852f19 Author: Danny Morabito Date: Sun Oct 12 13:10:59 2025 -0500 initial version (alpha) diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..5d47c21 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..26826e0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +cosign.key +_build_* +output +_build-*/** +eve_executables/* diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..539bf90 --- /dev/null +++ b/Containerfile @@ -0,0 +1,62 @@ +FROM scratch as system +COPY system_files / + +FROM scratch as eve +COPY eve_executables/eve-lite /usr/bin/eve-lite +COPY eve_executables/eventPlugin /usr/bin/eve-lite-event-plugin +COPY eve_executables/eve-lite-ui.AppImage /Applications/eve-lite.AppImage + +FROM registry.fedoraproject.org/fedora:42 AS strfry-builder + +RUN dnf5 -y install perl-FindBin perl-File-Find gcc-c++ flatbuffers-devel flatbuffers-compiler openssl-devel lmdb-devel zlib-devel libsecp256k1 libsecp256k1-devel perl-core zstd libzstd-devel git make + +RUN git clone https://github.com/hoytech/strfry /tmp/strfry && \ + cd /tmp/strfry && \ + git submodule update --init --recursive && \ + make setup-golpe && \ + make -j$(nproc) + +FROM ghcr.io/wayblueorg/hyprland-nvidia-open:latest + +COPY --from=strfry-builder /tmp/strfry/strfry /usr/bin/strfry + +RUN dnf5 -y install \ + openssl-devel lmdb-devel zlib-devel \ + libsecp256k1 libsecp256k1-devel \ + zstd libzstd-devel \ + gnome-keyring libsecret \ + mpv \ + qt6-qtsvg qt6-qtvirtualkeyboard qt6-qtmultimedia \ + NetworkManager-tui \ + systemd-boot-unsigned + +RUN dnf5 -y remove firewalld tuned && rpm -e --noscripts systemd-resolved systemd-resolved + +RUN sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf + +COPY cosign.pub /etc/pki/containers/eveos.pub + +RUN --mount=type=bind,from=system,source=/,target=/system --mount=type=bind,from=eve,source=/,target=/eve \ + rsync -avzp --include ".*" /system/ / && \ + find /system/usr/etc -type f -mindepth 1 -printf '/etc/%P\0' | xargs -0 rm -rf -- && \ + find /system/usr/etc -type f -mindepth 1 -printf '%P\0' | \ + xargs -0 -I {} sh -c 'mkdir -p $(dirname /etc/{}) && ln -sf /usr/etc/{} /etc/{}' && \ + rsync -avzp --include ".*" /system/ / && \ + rsync -avzp --include ".*" /eve/ / && \ + chmod +x /usr/bin/eve-lite && \ + chmod +x /Applications/eve-lite.AppImage && \ + chmod +x /usr/bin/eve-lite-event-plugin && \ + cat /usr/share/hypr/hyprland.conf > /usr/share/hyprland/hyprland.conf + +RUN systemctl --global enable eve-lite-relay && \ + systemctl enable bluetooth && \ + systemctl enable nftables && \ + systemctl disable systemd-resolved && \ + systemctl enable cpu-performance && \ + systemctl enable disable-power-features && \ + systemctl disable systemd-binfmt && \ + systemctl mask systemd-binfmt + +RUN ldconfig && update-mime-database /usr/share/mime && gtk-update-icon-cache && dconf update + +RUN ostree container commit diff --git a/cosign.pub b/cosign.pub new file mode 100644 index 0000000..910e15b --- /dev/null +++ b/cosign.pub @@ -0,0 +1,4 @@ +-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7Q6/yotRuVxBupol7vsdD3NUH95x +tFVKqCAWEYF/vpM00BrzQixEN3L8HFtxLxmrlIOyMT7h0fWMiG2CkL1sCg== +-----END PUBLIC KEY----- diff --git a/package.sh b/package.sh new file mode 100755 index 0000000..af273d2 --- /dev/null +++ b/package.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +current_dir=$(pwd) + +pushd ../eve-lite + +bun build src/eventPlugin.ts --compile +bun build --production --bytecode --compile index.ts +mv eventPlugin $current_dir/eve_executables/eventPlugin +mv index $current_dir/eve_executables/eve-lite +chmod +x $current_dir/eve_executables/eve-lite +chmod +x $current_dir/eve_executables/eventPlugin + +popd + +pushd ../eve-lite-ui +bun run build:linux +mv dist/eve-lite-1.1.0.AppImage $current_dir/eve_executables/eve-lite-ui.AppImage +chmod +x $current_dir/eve_executables/eve-lite-ui.AppImage + +popd + +just build +just push-remote diff --git a/system_files/usr/bin/apt b/system_files/usr/bin/apt new file mode 100755 index 0000000..809a783 --- /dev/null +++ b/system_files/usr/bin/apt @@ -0,0 +1,9 @@ +#!/usr/bin/bash + +# Redirect to dnf5 if we are running inside a container +if systemd-detect-virt -cq || { [[ -e /run/.containerenv || -e /.dockerenv ]]; }; then + exec dnf5 "$@" +fi + +echo -e "Looks like you are trying to use apt on EveOS, please read our documentation here\nhttps://arx-ccn.com/eveos/dnf" +exit 1 diff --git a/system_files/usr/bin/dnf b/system_files/usr/bin/dnf new file mode 100755 index 0000000..f15f7af --- /dev/null +++ b/system_files/usr/bin/dnf @@ -0,0 +1,9 @@ +#!/usr/bin/bash + +# Redirect to dnf5 if we are running inside a container +if systemd-detect-virt -cq || { [[ -e /run/.containerenv || -e /.dockerenv ]]; }; then + exec dnf5 "$@" +fi + +echo -e "Looks like you are trying to use DNF on EveOS, please read our documentation here\nhttps://arx-ccn.com/eveos/dnf" +exit 1 diff --git a/system_files/usr/bin/eveos-bluetooth b/system_files/usr/bin/eveos-bluetooth new file mode 100755 index 0000000..3e580da --- /dev/null +++ b/system_files/usr/bin/eveos-bluetooth @@ -0,0 +1,3 @@ +#!/bin/bash +/usr/bin/blueman-manager +hyprctl dispatch workspace 1 diff --git a/system_files/usr/bin/eveos-diagnose-startup b/system_files/usr/bin/eveos-diagnose-startup new file mode 100644 index 0000000..51e2d54 --- /dev/null +++ b/system_files/usr/bin/eveos-diagnose-startup @@ -0,0 +1,3 @@ +#!/bin/bash +systemd-analyze critical-chain +read -p "Press Enter to continue..." diff --git a/system_files/usr/bin/eveos-update b/system_files/usr/bin/eveos-update new file mode 100755 index 0000000..593dbb3 --- /dev/null +++ b/system_files/usr/bin/eveos-update @@ -0,0 +1,5 @@ +#!/bin/bash +kitten icat --align=center /usr/share/pixmaps/eveos-logo-small.png +sudo bootc upgrade --apply --soft-reboot=auto +read -p "Press Enter to continue..." +hyprctl dispatch workspace 1 diff --git a/system_files/usr/bin/eveos-wifi b/system_files/usr/bin/eveos-wifi new file mode 100755 index 0000000..87ba4c2 --- /dev/null +++ b/system_files/usr/bin/eveos-wifi @@ -0,0 +1,3 @@ +#!/bin/bash +nmtui-connect +hyprctl dispatch workspace 1 diff --git a/system_files/usr/bin/start-eve b/system_files/usr/bin/start-eve new file mode 100755 index 0000000..d857861 --- /dev/null +++ b/system_files/usr/bin/start-eve @@ -0,0 +1,3 @@ +#!/bin/bash + +pgrep -f "eve-lite.AppImage" > /dev/null || /Applications/eve-lite.AppImage & diff --git a/system_files/usr/bin/yum b/system_files/usr/bin/yum new file mode 100755 index 0000000..be215db --- /dev/null +++ b/system_files/usr/bin/yum @@ -0,0 +1,9 @@ +#!/usr/bin/bash + +# Redirect to dnf5 if we are running inside a container +if systemd-detect-virt -cq || { [[ -e /run/.containerenv || -e /.dockerenv ]]; }; then + exec dnf5 "$@" +fi + +echo -e "Looks like you are trying to use yum on EveOS, please read our documentation here\nhttps://arx-ccn.com/eveos/dnf" +exit 1 diff --git a/system_files/usr/etc/containers/policy.json b/system_files/usr/etc/containers/policy.json new file mode 100644 index 0000000..15f77a9 --- /dev/null +++ b/system_files/usr/etc/containers/policy.json @@ -0,0 +1,33 @@ +{ + "default": [ + { + "type": "reject" + } + ], + "transports": { + "docker": { + "registry.arx-ccn.com": [ + { + "type": "insecureAcceptAnything" + } + ], + "docker.io": [ + { + "type": "insecureAcceptAnything" + } + ], + "quay.io": [ + { + "type": "insecureAcceptAnything" + } + ] + }, + "docker-daemon": { + "": [ + { + "type": "insecureAcceptAnything" + } + ] + } + } +} diff --git a/system_files/usr/etc/containers/registries,d/registry.arx-ccn.com.yaml b/system_files/usr/etc/containers/registries,d/registry.arx-ccn.com.yaml new file mode 100644 index 0000000..3bab145 --- /dev/null +++ b/system_files/usr/etc/containers/registries,d/registry.arx-ccn.com.yaml @@ -0,0 +1,3 @@ +docker: + registry.arx-ccn.com: + use-signature-attachments: true diff --git a/system_files/usr/etc/issue b/system_files/usr/etc/issue new file mode 100644 index 0000000..0fc2322 --- /dev/null +++ b/system_files/usr/etc/issue @@ -0,0 +1,19 @@ +╔══════════════════════════════════════════════════════════════╗ +║ ║ +║ ███████╗██╗ ██╗███████╗ ██████╗ ███████╗ ║ +║ ██╔════╝██║ ██║██╔════╝██╔═══██╗██╔════╝ ║ +║ █████╗ ██║ ██║█████╗ ██║ ██║███████╗ ║ +║ ██╔══╝ ╚██╗ ██╔╝██╔══╝ ██║ ██║╚════██║ ║ +║ ███████╗ ╚████╔╝ ███████╗╚██████╔╝███████║ ║ +║ ╚══════╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚══════╝ ║ +║ ║ +║ 🌱 Garden Edition 0.1 🌱 ║ +║ ║ +║ "Cultivating Connected Communities" ║ +║ ║ +╠══════════════════════════════════════════════════════════════╣ +║ ║ +║ System: \n (\l) ║ +║ Kernel: \r ║ +║ ║ +╚══════════════════════════════════════════════════════════════╝ diff --git a/system_files/usr/etc/locale.conf b/system_files/usr/etc/locale.conf new file mode 100644 index 0000000..b2f0339 --- /dev/null +++ b/system_files/usr/etc/locale.conf @@ -0,0 +1,2 @@ +LANG=C.UTF-8 +LC_ALL=C.UTF-8 diff --git a/system_files/usr/etc/nftables/main.nft b/system_files/usr/etc/nftables/main.nft new file mode 100644 index 0000000..94e52c4 --- /dev/null +++ b/system_files/usr/etc/nftables/main.nft @@ -0,0 +1,32 @@ +#!/usr/sbin/nft -f + +flush ruleset + +table inet filter { + chain input { + type filter hook input priority filter; policy drop; + + # Allow established/related + ct state established,related accept + + # Allow loopback + iface lo accept + + # Allow SSH + tcp dport 22 accept + + # Allow ping + icmp type echo-request accept + icmpv6 type echo-request accept + + # Drop everything else + } + + chain forward { + type filter hook forward priority filter; policy drop; + } + + chain output { + type filter hook output priority filter; policy accept; + } +} diff --git a/system_files/usr/etc/resolv.conf b/system_files/usr/etc/resolv.conf new file mode 100644 index 0000000..31b039a --- /dev/null +++ b/system_files/usr/etc/resolv.conf @@ -0,0 +1,4 @@ +nameserver 1.1.1.1 +nameserver 1.0.0.1 +nameserver 2606:4700:4700::1111 +options edns0 trust-ad diff --git a/system_files/usr/etc/sddm.conf b/system_files/usr/etc/sddm.conf new file mode 100644 index 0000000..db625af --- /dev/null +++ b/system_files/usr/etc/sddm.conf @@ -0,0 +1,7 @@ +[General] +EnableHiDPI=true +InputMethod=qtvirtualkeyboard + +[Users] +RememberLastUser=true +RememberLastSession=true diff --git a/system_files/usr/etc/sddm.conf.d/theme.conf b/system_files/usr/etc/sddm.conf.d/theme.conf new file mode 100644 index 0000000..13a71dc --- /dev/null +++ b/system_files/usr/etc/sddm.conf.d/theme.conf @@ -0,0 +1,2 @@ +[Theme] +Current=eveos diff --git a/system_files/usr/etc/skel/.face b/system_files/usr/etc/skel/.face new file mode 100644 index 0000000..58ebbb7 Binary files /dev/null and b/system_files/usr/etc/skel/.face differ diff --git a/system_files/usr/etc/skel/Desktop/Eve.desktop b/system_files/usr/etc/skel/Desktop/Eve.desktop new file mode 100644 index 0000000..bdcf43e --- /dev/null +++ b/system_files/usr/etc/skel/Desktop/Eve.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Eve +Comment=Eve Lite +GenericName=Eve Lite +Icon=start-here +Type=Application +Exec=/Applications/eve-lite.AppImage +Terminal=false +StartupNotify=true +Categories=Utility; +MimeType=application/x-eve-lite; +StartupWMClass=EveLite diff --git a/system_files/usr/etc/sysctl.d/99-performance.conf b/system_files/usr/etc/sysctl.d/99-performance.conf new file mode 100644 index 0000000..d45cfb8 --- /dev/null +++ b/system_files/usr/etc/sysctl.d/99-performance.conf @@ -0,0 +1,32 @@ +# CPU Scheduling +kernel.sched_migration_cost_ns = 5000000 +kernel.sched_autogroup_enabled = 0 +kernel.sched_min_granularity_ns = 10000000 +kernel.sched_wakeup_granularity_ns = 15000000 + +# VM/Memory - Aggressive performance +vm.swappiness = 1 +vm.dirty_ratio = 80 +vm.dirty_background_ratio = 5 +vm.dirty_expire_centisecs = 12000 +vm.vfs_cache_pressure = 50 +vm.zone_reclaim_mode = 0 + +# Network Stack +net.core.netdev_max_backlog = 16384 +net.core.rmem_max = 134217728 +net.core.wmem_max = 134217728 +net.core.rmem_default = 16777216 +net.core.wmem_default = 16777216 +net.core.optmem_max = 40960 +net.ipv4.tcp_rmem = 4096 87380 134217728 +net.ipv4.tcp_wmem = 4096 65536 134217728 +net.ipv4.tcp_fastopen = 3 +net.ipv4.tcp_tw_reuse = 1 +net.ipv4.tcp_fin_timeout = 10 +net.ipv4.tcp_slow_start_after_idle = 0 +net.ipv4.tcp_mtu_probing = 1 + +# Filesystem +fs.file-max = 2097152 +fs.inotify.max_user_watches = 524288 diff --git a/system_files/usr/etc/systemd/system/cpu-performance.service b/system_files/usr/etc/systemd/system/cpu-performance.service new file mode 100644 index 0000000..e542d07 --- /dev/null +++ b/system_files/usr/etc/systemd/system/cpu-performance.service @@ -0,0 +1,14 @@ +[Unit] +Description=Apply Performance Settings +After=sysinit.target + +[Service] +Type=oneshot +ExecStart=/bin/sh -c 'echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor' +ExecStart=/bin/sh -c 'echo always > /sys/kernel/mm/transparent_hugepage/enabled' +ExecStart=/bin/sh -c 'echo always > /sys/kernel/mm/transparent_hugepage/defrag' +ExecStart=/bin/sh -c 'echo performance > /sys/module/pcie_aspm/parameters/policy || true' +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/system_files/usr/etc/systemd/system/disable-power-features.service b/system_files/usr/etc/systemd/system/disable-power-features.service new file mode 100644 index 0000000..a81e8ef --- /dev/null +++ b/system_files/usr/etc/systemd/system/disable-power-features.service @@ -0,0 +1,16 @@ +[Unit] +Description=Disable Power Management Features +After=sysinit.target + +[Service] +Type=oneshot +# Disable PCIe ASPM +ExecStart=/bin/sh -c 'echo performance > /sys/module/pcie_aspm/parameters/policy || true' +# Disable USB autosuspend +ExecStart=/bin/sh -c 'for i in /sys/bus/usb/devices/*/power/autosuspend; do echo -1 > $i 2>/dev/null || true; done' +# Disable SATA link power management +ExecStart=/bin/sh -c 'for i in /sys/class/scsi_host/host*/link_power_management_policy; do echo max_performance > $i 2>/dev/null || true; done' +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/system_files/usr/etc/systemd/user/eve-lite-relay.service b/system_files/usr/etc/systemd/user/eve-lite-relay.service new file mode 100644 index 0000000..d4b2335 --- /dev/null +++ b/system_files/usr/etc/systemd/user/eve-lite-relay.service @@ -0,0 +1,19 @@ +[Unit] +Description=Eve Lite Relay Service +After=graphical-session.target network-online.target +BindsTo=graphical-session.target +Wants=network-online.target + +[Service] +Type=simple +ExecStart=/usr/bin/eve-lite +Restart=on-failure +RestartSec=5 +Slice=--user +StandardOutput=journal +StandardError=journal +SyslogIdentifier=eve-lite-relay +PrivateTmp=true + +[Install] +WantedBy=graphical-session.target diff --git a/system_files/usr/etc/ublue-os/fastfetch.json b/system_files/usr/etc/ublue-os/fastfetch.json new file mode 100644 index 0000000..b0e538f --- /dev/null +++ b/system_files/usr/etc/ublue-os/fastfetch.json @@ -0,0 +1,4 @@ +{ + "logo-directory": "/usr/share/ublue-os/eve-logos/symbols", + "shuffle-logo": true +} diff --git a/system_files/usr/etc/udev/rules.d/60-scheduler.rules b/system_files/usr/etc/udev/rules.d/60-scheduler.rules new file mode 100644 index 0000000..fda8ebf --- /dev/null +++ b/system_files/usr/etc/udev/rules.d/60-scheduler.rules @@ -0,0 +1,16 @@ +# Set none scheduler for NVMe +ACTION=="add|change", KERNEL=="nvme[0-9]n[0-9]", ATTR{queue/scheduler}="none" + +# Set none for SSDs +ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none" + +# Set mq-deadline for HDDs +ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="mq-deadline" + +# I/O queue depth +ACTION=="add|change", KERNEL=="nvme[0-9]n[0-9]", ATTR{queue/nr_requests}="1024" +ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/nr_requests}="1024" + +# Read-ahead +ACTION=="add|change", KERNEL=="nvme[0-9]n[0-9]", ATTR{queue/read_ahead_kb}="512" +ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/read_ahead_kb}="512" diff --git a/system_files/usr/etc/xdg/autostart/eve.desktop b/system_files/usr/etc/xdg/autostart/eve.desktop new file mode 100644 index 0000000..9269335 --- /dev/null +++ b/system_files/usr/etc/xdg/autostart/eve.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=Eve +Exec=/Applications/eve-lite.AppImage +Hidden=false +NoDisplay=false +X-GNOME-Autostart-enabled=true diff --git a/system_files/usr/lib/os-release b/system_files/usr/lib/os-release new file mode 100644 index 0000000..f497712 --- /dev/null +++ b/system_files/usr/lib/os-release @@ -0,0 +1,24 @@ +NAME="EveOS Lite Garden" +VERSION="0.1.0" +RELEASE_TYPE="stable" +ID="fedora" +ID_LIKE="fedora" +VERSION_ID=42 +VERSION_CODENAME="garden" +PLATFORM_ID="platform:f42" +PRETTY_NAME="EveOS Lite Garden (Version: 0.1.0)" +ANSI_COLOR="0;38;2;120;180;100" +LOGO="eveos-logo" +CPE_NAME="cpe:/o:arx-ccn:eveos_lite:0.1.0" +DEFAULT_HOSTNAME="eveos-lite-garden" +HOME_URL="https://arx-ccn.com/eveos" +DOCUMENTATION_URL="https://arx-ccn.com/eveos/docs" +SUPPORT_URL="https://arx-ccn.com/eveos/support" +BUG_REPORT_URL="https://arx-ccn.com/eveos/bugs" +SUPPORT_END=2026-01-01 +VARIANT="garden" +VARIANT_ID="garden" +OSTREE_VERSION="0.1.0" +BUILD_ID="{ID}" +IMAGE_ID="EveOS Lite Garden" +IMAGE_VERSION="0.1.0" diff --git a/system_files/usr/lib/systemd/system-preset/90-custom.preset b/system_files/usr/lib/systemd/system-preset/90-custom.preset new file mode 100644 index 0000000..9463b46 --- /dev/null +++ b/system_files/usr/lib/systemd/system-preset/90-custom.preset @@ -0,0 +1,2 @@ +enable enable-mkhomedir.service +enable systemd-growfs@-.service diff --git a/system_files/usr/lib/systemd/system/bootc-fetch-apply-updates.timer b/system_files/usr/lib/systemd/system/bootc-fetch-apply-updates.timer new file mode 100644 index 0000000..70db80c --- /dev/null +++ b/system_files/usr/lib/systemd/system/bootc-fetch-apply-updates.timer @@ -0,0 +1,12 @@ +[Unit] +Description=Apply bootc updates +Documentation=man:bootc(8) +ConditionPathExists=/run/ostree-booted + +[Timer] +OnBootSec=1h +OnUnitInactiveSec=4h +RandomizedDelaySec=10min + +[Install] +WantedBy=timers.target diff --git a/system_files/usr/lib/systemd/system/enable-mkhomedir.service b/system_files/usr/lib/systemd/system/enable-mkhomedir.service new file mode 100644 index 0000000..5e142d6 --- /dev/null +++ b/system_files/usr/lib/systemd/system/enable-mkhomedir.service @@ -0,0 +1,24 @@ +[Unit] +Description=Enable pam_mkhomedir so any user gets a home seeded from /etc/skel +ConditionFirstBoot=yes +After=network.target + +[Service] +Type=oneshot +# Prefer authselect (Fedora default). Fallback if it's missing. +ExecStart=/usr/bin/bash -ceu ' + if command -v authselect >/dev/null 2>&1; then + authselect current >/dev/null 2>&1 || authselect select sssd --force + authselect enable-feature with-mkhomedir + authselect apply-changes -b + else + # Fallback: ensure mkhomedir in postlogin stack + mkdir -p /etc/pam.d + if ! grep -q "pam_mkhomedir.so" /etc/pam.d/postlogin 2>/dev/null; then + printf "session required pam_mkhomedir.so skel=/etc/skel umask=0077\n" >> /etc/pam.d/postlogin + fi + fi +' + +[Install] +WantedBy=multi-user.target diff --git a/system_files/usr/share/applications/documentation.desktop b/system_files/usr/share/applications/documentation.desktop new file mode 100644 index 0000000..5343936 --- /dev/null +++ b/system_files/usr/share/applications/documentation.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +NoDisplay=false +Terminal=false +Exec=xdg-open https://arx-ccn.com/eveos/docs +Icon=ublue-docs +Name=Documentation +Comment=EveOS documentation +Categories=Utility; diff --git a/system_files/usr/share/applications/eve-lite.desktop b/system_files/usr/share/applications/eve-lite.desktop new file mode 100644 index 0000000..4d96289 --- /dev/null +++ b/system_files/usr/share/applications/eve-lite.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=Eve Lite +Comment=Your tool to access your Closed Community Network +Exec=/Applications/eve-lite.AppImage +Icon=/usr/share/icons/hicolor/scalable/distributor-logo.png +Terminal=false +Categories=Network;Utility; +StartupNotify=true diff --git a/system_files/usr/share/boot.mp3 b/system_files/usr/share/boot.mp3 new file mode 100644 index 0000000..03604ea Binary files /dev/null and b/system_files/usr/share/boot.mp3 differ diff --git a/system_files/usr/share/hypr/hyprland.conf b/system_files/usr/share/hypr/hyprland.conf new file mode 100644 index 0000000..458d9d7 --- /dev/null +++ b/system_files/usr/share/hypr/hyprland.conf @@ -0,0 +1,79 @@ +monitor=,preferred,auto,auto + +animations { + enabled = yes, please :) + + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 5, winIn, slide + animation = windowsOut, 1, 3, smoothOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 180, liner, loop + animation = fade, 1, 3, smoothOut + animation = workspaces, 1 , 5, overshot + animation = workspacesIn, 1, 5, winIn, slide + animation = workspacesOut, 1, 5, winOut, slide +} + +master { + new_status = master +} + +misc { + force_default_wallpaper = 0 + disable_hyprland_logo = true + vrr = 1 +} + +gestures { + workspace_swipe = true +} + +$mainMod = SUPER + +$terminal = kitty + +bind = $mainMod, Return, exec, $terminal +bind = $mainMod SHIFT, Q, killactive, +bind = $mainMod SHIFT, R, exec, /usr/bin/start-eve +bind = $mainMod SHIFT, H, exec, kitty "/usr/bin/eveos-diagnose-startup" +bind = $mainMod, U, workspace, 99 +bind = $mainMod, U, exec, kitty "/usr/bin/eveos-update" +bind = $mainMod, W, workspace, 98 +bind = $mainMod, W, exec, kitty "/usr/bin/eveos-wifi" +bind = $mainMod, F, fullscreen +bind = $mainMod, B, workspace, 97 +bind = $mainMod, B, exec, /usr/bin/eveos-bluetooth + +exec-once = mpv --no-video /usr/share/boot.mp3 +exec-once = dbus-update-activation-environment --all +exec-once = gnome-keyring-daemon --start --components=secrets,ssh +exec-once = systemctl --user restart eve-lite-relay +exec-once = /Applications/eve-lite.AppImage + +general { + gaps_in = 3 + gaps_out = 0 + + border_size = 3 + + col.active_border = rgba(33ff66ee) rgba(00e639ee) 45deg + col.inactive_border = rgba(002208aa) + resize_on_border = true + allow_tearing = false + layout = master +} + +decoration { + rounding = 10 + active_opacity = 1.0 + inactive_opacity = 0.95 +} diff --git a/system_files/usr/share/icons/hicolor/scalable/distributor-logo-darkwhite-circle.svg b/system_files/usr/share/icons/hicolor/scalable/distributor-logo-darkwhite-circle.svg new file mode 100644 index 0000000..a2bb44d --- /dev/null +++ b/system_files/usr/share/icons/hicolor/scalable/distributor-logo-darkwhite-circle.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + + + + + diff --git a/system_files/usr/share/icons/hicolor/scalable/distributor-logo-white-circle.svg b/system_files/usr/share/icons/hicolor/scalable/distributor-logo-white-circle.svg new file mode 100644 index 0000000..2465a80 --- /dev/null +++ b/system_files/usr/share/icons/hicolor/scalable/distributor-logo-white-circle.svg @@ -0,0 +1,44 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + + + + + diff --git a/system_files/usr/share/icons/hicolor/scalable/distributor-logo-white.svg b/system_files/usr/share/icons/hicolor/scalable/distributor-logo-white.svg new file mode 100644 index 0000000..ce7fe15 --- /dev/null +++ b/system_files/usr/share/icons/hicolor/scalable/distributor-logo-white.svg @@ -0,0 +1,76 @@ + + + + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + + + + + diff --git a/system_files/usr/share/icons/hicolor/scalable/distributor-logo.png b/system_files/usr/share/icons/hicolor/scalable/distributor-logo.png new file mode 100644 index 0000000..2e3b818 Binary files /dev/null and b/system_files/usr/share/icons/hicolor/scalable/distributor-logo.png differ diff --git a/system_files/usr/share/icons/hicolor/scalable/distributor-logo.svg b/system_files/usr/share/icons/hicolor/scalable/distributor-logo.svg new file mode 100644 index 0000000..a2bb44d --- /dev/null +++ b/system_files/usr/share/icons/hicolor/scalable/distributor-logo.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + + + + + diff --git a/system_files/usr/share/pixmaps/distributor-logo.png b/system_files/usr/share/pixmaps/distributor-logo.png new file mode 100644 index 0000000..2e3b818 Binary files /dev/null and b/system_files/usr/share/pixmaps/distributor-logo.png differ diff --git a/system_files/usr/share/pixmaps/eveos-logo-small.png b/system_files/usr/share/pixmaps/eveos-logo-small.png new file mode 100644 index 0000000..c262c9f Binary files /dev/null and b/system_files/usr/share/pixmaps/eveos-logo-small.png differ diff --git a/system_files/usr/share/pixmaps/eveos-logo-sprite.png b/system_files/usr/share/pixmaps/eveos-logo-sprite.png new file mode 100644 index 0000000..2e3b818 Binary files /dev/null and b/system_files/usr/share/pixmaps/eveos-logo-sprite.png differ diff --git a/system_files/usr/share/pixmaps/eveos-logo-sprite.svg b/system_files/usr/share/pixmaps/eveos-logo-sprite.svg new file mode 100644 index 0000000..a2bb44d --- /dev/null +++ b/system_files/usr/share/pixmaps/eveos-logo-sprite.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + + + + + diff --git a/system_files/usr/share/pixmaps/eveos-logo.png b/system_files/usr/share/pixmaps/eveos-logo.png new file mode 100644 index 0000000..2e3b818 Binary files /dev/null and b/system_files/usr/share/pixmaps/eveos-logo.png differ diff --git a/system_files/usr/share/pixmaps/eveos-logo.svg b/system_files/usr/share/pixmaps/eveos-logo.svg new file mode 100644 index 0000000..a2bb44d --- /dev/null +++ b/system_files/usr/share/pixmaps/eveos-logo.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + + + + + diff --git a/system_files/usr/share/pixmaps/eveos-logo_med.png b/system_files/usr/share/pixmaps/eveos-logo_med.png new file mode 100644 index 0000000..2e3b818 Binary files /dev/null and b/system_files/usr/share/pixmaps/eveos-logo_med.png differ diff --git a/system_files/usr/share/pixmaps/fedora_whitelogo.svg b/system_files/usr/share/pixmaps/fedora_whitelogo.svg new file mode 100644 index 0000000..a2bb44d --- /dev/null +++ b/system_files/usr/share/pixmaps/fedora_whitelogo.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + + + + + diff --git a/system_files/usr/share/pixmaps/system-logo-white.png b/system_files/usr/share/pixmaps/system-logo-white.png new file mode 100644 index 0000000..2e3b818 Binary files /dev/null and b/system_files/usr/share/pixmaps/system-logo-white.png differ diff --git a/system_files/usr/share/pixmaps/system-logo.png b/system_files/usr/share/pixmaps/system-logo.png new file mode 100644 index 0000000..2e3b818 Binary files /dev/null and b/system_files/usr/share/pixmaps/system-logo.png differ diff --git a/system_files/usr/share/sddm/themes/eveos b/system_files/usr/share/sddm/themes/eveos new file mode 160000 index 0000000..fa1ffbd --- /dev/null +++ b/system_files/usr/share/sddm/themes/eveos @@ -0,0 +1 @@ +Subproject commit fa1ffbda06bc363a5a4103a155a4b65d4f910514 diff --git a/system_files/usr/share/ublue-os/eve-logos/symbols/eve-logo.txt b/system_files/usr/share/ublue-os/eve-logos/symbols/eve-logo.txt new file mode 100644 index 0000000..1b911f4 --- /dev/null +++ b/system_files/usr/share/ublue-os/eve-logos/symbols/eve-logo.txt @@ -0,0 +1,56 @@ + + üüüü33 + üü6666ü33333 + üüü666666ü333333333 + ü66666666666ü333333333333 + 33ü666666666666ü333333333333333 + 3333336666üü6666666ü333333333ü3333333‡ + ‡3333333ü6666ü66666666ü33333333333333333333‡ + 33333333333ü666ü66ü666666ü33333333333333333333‡33‡ + 33333333333333ü666üüü6666666ü333333333333333333333‡333333 + 33333333333333333ü66ü6666666üü 33333333333333‡33333333‡‡333333 + 333333333333333333333366ü66666ü 333333333333‡3‡‡3‡3333‡‡3333‡‡‡ + 33333333333333333333333ü666üüü 3333333333333‡3‡33333‡3333‡‡333 + 333333333333333333333ü333üüüü 333333333333‡3‡‡3‡333333‡‡‡3‡ + 333333333333333333ü333üü33 333333333‡33‡‡3‡‡333333‡‡ + 3333333333333333ü333üü 3333333‡3‡3‡‡3‡‡3333‡‡ + 3333333333333333üü3 3333333‡33‡33‡‡‡33‡ + 3333333333333ü33 333‡3‡‡‡3‡33‡‡3‡ + 3333333333333333 33‡‡3‡3‡‡3‡3‡‡3 + 333333333ü33ü333 333‡‡3‡‡3‡‡33‡3 + 3333333333ü33ü3ü 33‡3‡3‡3‡33‡‡3‡ + 33333ü33ü3üüü666 3333‡‡3‡‡3‡3333 + 3333ü33üüü66666ü 333‡33‡33‡‡3‡‡3 + 333üüüüü6üüü6666 33‡3‡‡3‡‡33‡33‡ + 33ü6666ü6666666ü 3‡333‡3‡3‡3‡‡3‡ + ü666ü666666ü6 333333‡33‡33‡3‡ + 6666666666 ü 33‡‡333‡3‡3‡3‡‡3‡3‡3‡3‡3‡33‡‡3333‡‡‡‡‡ 3333333‡33‡33‡‡ + 6666666 üü66üü 3333333333333333333333333‡333333333333 33333333‡33‡ + 6666 ü6666666ü 33‡33‡33‡3‡3‡33‡3‡‡3‡‡3‡33‡‡3‡3333333‡ 33333‡‡‡ + ü66666666666 33‡33333333333‡333333333‡333333333333‡‡ 33333‡ + ü66666666666666 333333333333333333333333333333333333333‡‡ 3‡ + üü66666666666666 ‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡3‡3‡3‡ 33 + üüüüüü6666666666 ‡33‡3 + 33üüüüüüü6666666 33‡‡‡‡‡‡ + 33333üüüüüü6666ü ‡‡3‡33‡3‡‡‡ + 33333333üüüüüüü6 ‡333‡‡3‡‡3‡3‡‡ + 333333333ü3üüüüü 33‡33333‡3‡‡3‡‡ + 333333333333ü3ü3 33‡3‡‡3‡3‡‡3‡‡‡ + 3333333333333333 ‡ ‡ 333‡33‡33‡3‡‡‡‡ + 3333333333333ü33 3 ‡‡ 33‡‡3‡3‡‡3‡‡3‡‡ + 3ü33333333333333333 33 ‡‡ ‡‡3‡‡33‡‡33‡33‡‡‡‡ + 33ü333333333333333333 33333‡ 33‡‡‡3‡3‡33‡‡3‡33‡3‡ + 333333333333333ü33333333ü ‡‡33‡3333‡33‡‡3‡33‡‡3‡‡‡ + 3ü33ü333333333333ü33333üü666 ‡‡3‡3‡33‡3‡3‡3‡33‡33333333‡ + 33ü33ü33ü33333333333333ü666666 ‡333‡3‡33‡33‡33‡3‡33‡33‡33333 + üüüü33ü33ü33ü33ü333üü666666666 ‡‡3‡‡3‡33‡33‡‡3‡3‡333333333333 + üüüü3ü3ü33333ü336666666666666 ‡‡33‡33‡333‡3‡33‡33‡33‡333333 + üüüüü3ü33ü33üü66666666666666 33‡‡33‡33‡3‡33‡333333333333 + ü3ü3ü333ü3ü66666666666666 3‡3‡‡3‡‡3‡33‡‡3‡‡3333333 + üüüüüüüü66666ü66666666 3‡‡33‡3‡33‡3333333333 + üüüü66666666666666 33‡3‡3‡3‡33‡33333 + ü666666ü6666666 3‡333333333333‡ + 666666666666ü 3‡‡33‡333333 + 66666666ü 33‡33333 + 66666ü 33333 + 666 33 diff --git a/system_files/usr/share/ublue-os/image-info.json b/system_files/usr/share/ublue-os/image-info.json new file mode 100644 index 0000000..dbe6c85 --- /dev/null +++ b/system_files/usr/share/ublue-os/image-info.json @@ -0,0 +1,10 @@ +{ + "image-name": "eveos-lite", + "image-flavor": "garden", + "image-version": "0.1.0", + "image-ref": "ostree-image-signed:docker://registry.arx-ccn.com/eveos/base", + "image-tag": "garden", + "base-image-name": "bluefin", + "fedora-version": "42", + "image-build-id": "{ID}" +} diff --git a/system_files/usr/share/ublue-os/motd/template.md b/system_files/usr/share/ublue-os/motd/template.md new file mode 100644 index 0000000..d813990 --- /dev/null +++ b/system_files/usr/share/ublue-os/motd/template.md @@ -0,0 +1,20 @@ +# EveOS Lite Garden + +``` + ███████╗██╗ ██╗███████╗ ██████╗ ███████╗ + ██╔════╝██║ ██║██╔════╝██╔═══██╗██╔════╝ + █████╗ ██║ ██║█████╗ ██║ ██║███████╗ + ██╔══╝ ╚██╗ ██╔╝██╔══╝ ██║ ██║╚════██║ + ███████╗ ╚████╔╝ ███████╗╚██████╔╝███████║ + ╚══════╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚══════╝ + +┌─────────────────────────────────────────────────────────────┐ +│ Privacy-First Community OS - Your Digital Sanctuary │ +└─────────────────────────────────────────────────────────────┘ +``` + +🔐 `%IMAGE_NAME%:%IMAGE_TAG%` + +- %TIP% + +%KEY_WARN% diff --git a/system_files/usr/share/ublue-os/motd/tips/10-tips.md b/system_files/usr/share/ublue-os/motd/tips/10-tips.md new file mode 100644 index 0000000..ea1e818 --- /dev/null +++ b/system_files/usr/share/ublue-os/motd/tips/10-tips.md @@ -0,0 +1,18 @@ +Your data stays on your device, always under your control +Built by the community, for the community +Zero telemetry, zero tracking, zero compromise on your privacy +Open-source code means thousands of eyes ensuring your security +Decentralized by design; no single point of failure or control +Nostr: Protocol for the free internet +Bitcoin: Peer-to-peer money for a peer-to-peer world +No ads, no algorithms, no manipulation +Your keys, your data, your rules +Privacy isn't about hiding, it's about choosing what to share +Interoperable protocols prevent vendor lock-in forever +Offline-first design works without constant cloud dependency +No dark patterns designed to extract your attention +Your digital footprint shouldn't be a product +Freedom tech: Tools that respect human dignity +Sovereign computing for sovereign individuals +Privacy by default, transparency by design +Fork it, modify it, make it yours