Skip to content

JappeOS/jappeos_core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


jappeos_core

The core system daemon for JappeOS, manages sessions, power, and more.


Overview

This is the core system daemon for JappeOS, which manages sessions, accounts, power, and more. It exposes a backend-agnostic D-Bus interface intended to be consumed by higher-level system components such as the desktop environment, which uses it through jappeos_services.

Features

  • Session management
  • Account management
  • Power management
  • Network handling

Role in the OS

Manages user sessions and everything system-related that is managed via a GUI.

Building

Important

This daemon is a core system component of JappeOS. It is not intended to be run on a general-purpose Linux distribution or a personal system.

You should only run it inside a JappeOS environment, such as:

  • A JappeOS development VM
  • A chroot or container matching the JappeOS root filesystem
  • A JappeOS system image used for debugging or testing

Running this daemon on a host system outside JappeOS may interfere with system services, session management, networking, or power management. You can still build it on any system, given that the requirements below are met.

Requirements

Building requires a Linux system with the following dependencies available:

  • CMake ≥ 3.31
  • C++20-compatible compiler (e.g. GCC or Clang)
  • pkg-config
  • systemd (runtime requirement)
  • Development headers for:
    • dbus-1
    • pam
    • libnm (NetworkManager)

Build Steps

From the project root directory:

mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

This will produce the jappeos_core executable in the build/ directory.

For a debug build, use:

cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .

Notes

  • This project is Linux-only and relies on Linux-specific APIs and system services.
  • The daemon is designed to run exclusively as a systemd service and should not be launched manually.
  • CPU feature flags are intentionally restricted to ensure compatibility across supported hardware.

Installation & Runtime

For now, the JappeOS filesystem has this service and its required systemd, PAM, D-Bus files "hardcoded" inside the /jappeos/ directory. See JappeOS-Build for the latest filesystem structure.

Installation should be as easy as dropping the built jappeos_core binary inside the /jappeos/ directory in the filesystem, and building the *.iso.

Binaries will later be served from a proper package manager repository.

Contributing

Contributions of all kinds are welcome and appreciated. You can help the project by:

  • ⭐ Starring the repository to show your support
  • 💖 Sponsoring the project (if available)
  • 🐞 Reporting bugs via GitHub Issues
  • 💡 Requesting or discussing new features

For code contributions, please see CONTRIBUTING.md for guidelines.

License

This repository is part of the JappeOS project and is licensed under the terms described in the LICENSE file.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages