# NeelaOS: everything NeelaOS adds on top of Fedora, as one package, so that # changes reach installed PCs as ordinary updates (sudo apt upgrade, Neela Store). # Published to Fedora COPR by the GitHub Action (.github/workflows/publish-update.yml) # and built by scripts/build.sh for the ISO. To publish an update: scripts/new-version.sh. Name: neelaos Version: 1.2.2 Release: 1%{?dist} Summary: NeelaOS look, settings, apps and tools for Fedora KDE License: LicenseRef-NeelaOS URL: https://github.com/ettisafxrup/NeelaOS Source0: neelaos-%{version}.tar.gz BuildArch: noarch BuildRequires: bash BuildRequires: findutils BuildRequires: sed BuildRequires: python3 BuildRequires: gettext BuildRequires: librsvg2-tools BuildRequires: ImageMagick BuildRequires: ffmpeg-free BuildRequires: systemd-rpm-macros # Tools the NeelaOS scripts and apps use. Requires: rgit Requires: python3 Requires: python3-pyqt6 Requires: kdialog Requires: nemo Requires: ffmpegthumbnailer Requires: kf6-kconfig Requires: xdg-user-dirs Requires: snapper Requires: btrfs-assistant Requires: libdnf5-plugin-actions Requires: plymouth-theme-spinner Requires: breeze-cursor-theme Requires: sddm Requires(post): systemd Requires(preun): systemd %description NeelaOS turns Fedora KDE Plasma into a Windows-familiar desktop for Computer Science students: NeelaOS branding and wallpapers, Windows-style Files and taskbar, the Welcome app, Ubuntu-style apt, first-boot setup (VS Code, Brave, codecs, drivers), restore points and the update channel for NeelaOS itself. %prep %autosetup -n neelaos-%{version} %build # Everything is generated in %%install by scripts/stage-rootfs.sh. %install bash scripts/stage-rootfs.sh "$PWD" %{buildroot} "$PWD/.stage" # File list: /etc files are config (a user's own edits survive updates), except # /etc/skel, the template for new accounts, which always follows NeelaOS, and # the kernel install hook. cd %{buildroot} { find . -mindepth 1 \( -type f -o -type l \) | sed 's|^\.||' | sort | while IFS= read -r f; do case "$f" in # Desktop shortcuts must stay executable, or Plasma shows them as # untrusted ("!"); Fedora's brp-mangle-shebangs strips +x from # non-script files, so set the mode here. /etc/skel/Desktop/*.desktop) echo "%attr(0755,root,root) \"$f\"" ;; /etc/skel/*|/etc/kernel/*) echo "\"$f\"" ;; /etc/*) echo "%config(noreplace) \"$f\"" ;; *) echo "\"$f\"" ;; esac done # Directories that belong to NeelaOS. find . -mindepth 1 -type d | sed 's|^\.||' | sort | grep -E '/(neelaos|NeelaOS[^/]*|org\.neelaos\.[^/]*|en_US@neelaos|brave\.com)(/|$)|^/etc/skel/' | sed 's|.*|%dir "&"|' } > %{_builddir}/neelaos.files %post %systemd_post neelaos-branding.service neelaos-firstboot.service %preun %systemd_preun neelaos-branding.service neelaos-firstboot.service %posttrans # Branding, boot splash and one-time system migrations, after every install # and update of NeelaOS. /usr/libexec/neelaos/system-update || : # Fedora updates rewrite some branded files (the system name in # /usr/lib/os-release, app launchers, the boot splash it's built from, software # sources): re-apply NeelaOS's changes right after any package touches them. # File triggers match directories, so the system name is watched through # /usr/lib; the re-apply is quick and only changes what Fedora reset. %transfiletriggerin -- /usr/lib /usr/share/applications /usr/share/plymouth/themes/spinner /etc/yum.repos.d /usr/share/wallpapers /usr/libexec/neelaos/system-update --quick >/dev/null 2>&1 || : %files -f %{_builddir}/neelaos.files %changelog * Fri Oct 23 2026 ettisafxrup - 1.2.2-1 - fixing warnings for nemo * Fri Oct 23 2026 ettisafxrup - 1.2.1-1 - Update: Fixable for new users from default iso * Fri Oct 23 2026 ettisafxrup - 1.2.0-1 - Update: made Nemo as the default explorer * Thu Oct 22 2026 ettisafxrup - 1.1.1-1 - Desktop shortcuts no longer show a warning sign * Thu Oct 22 2026 ettisafxrup - 1.1.0-1 - 24 one-click dev packs with search and categories: Office Kit, Hardware and Network Engineering Kits, Math, CAD, Databases, DevOps and more * Wed Oct 21 2026 NeelaOS - 1.0.0-1 - First release as an updatable package: everything NeelaOS adds to Fedora now updates with sudo apt upgrade and Neela Store