{"id":51726484,"url":"https://github.com/nuxdie/clock_v3_cpp","last_synced_at":"2026-07-17T19:37:44.671Z","repository":{"id":325732180,"uuid":"1102154235","full_name":"nuxdie/clock_v3_cpp","owner":"nuxdie","description":"Digital clock app for a 1024x600 Raspberry Pi display.","archived":false,"fork":false,"pushed_at":"2026-06-18T22:47:39.000Z","size":3926,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-19T00:21:57.409Z","etag":null,"topics":["cpp","llm","raspberry-pi","sdl3"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuxdie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-22T23:11:39.000Z","updated_at":"2026-06-18T22:47:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nuxdie/clock_v3_cpp","commit_stats":null,"previous_names":["wiegerwolf/clock_v3_cpp","nuxdie/clock_v3_cpp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nuxdie/clock_v3_cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxdie%2Fclock_v3_cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxdie%2Fclock_v3_cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxdie%2Fclock_v3_cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxdie%2Fclock_v3_cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuxdie","download_url":"https://codeload.github.com/nuxdie/clock_v3_cpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxdie%2Fclock_v3_cpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35594052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-17T02:00:06.162Z","response_time":116,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","llm","raspberry-pi","sdl3"],"created_at":"2026-07-17T19:37:44.021Z","updated_at":"2026-07-17T19:37:44.663Z","avatar_url":"https://github.com/nuxdie.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![clock_v3_cpp](screenshot.png)\n\n# Prerequisites\n\n```sh\nsudo apt-get install build-essential git make \\\npkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev \\\nlibaudio-dev libfribidi-dev libjack-dev libsndio-dev libx11-dev libxext-dev \\\nlibxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libxtst-dev \\\nlibxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev \\\nlibegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev libthai-dev \\\nlibpipewire-0.3-dev libwayland-dev libdecor-0-dev liburing-dev libharfbuzz-dev \\\nlibcurl4-openssl-dev\n```\n\n# Environment Variables\n\nSet the `GROQ_API_KEY` environment variable to your Groq API key if you want to get clothing advice from the Groq API.\n\n# Building\n\nRun `cmake --preset release` to generate the build system and `cmake --build --preset release` to build the project.\n\nTo build debug version, run `cmake --preset debug` and then `cmake --build --preset debug`.\n\n# Building for Raspberry Pi\n\n## Preparing cross-compilation environment\n\n```sh\nsudo apt install rsync symlinks gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf\n```\n\nSet up `libcurl` with openSSL support on your Raspberry Pi (cpr is gonna link against it).\n\nYou need to setup `./pi_sysroot` folder. Connect your RPi SD card to your computer and mount it.\nAnd no, you can't just copy the files from the SD card img file you downloaded from the Raspberry Pi website.\nYou need the actual files from the SD card you're running on. _Alternatively, you can run `./pi_sysroot.sh \u003cusername\u003e \u003chostname\u003e` to\ndo the below over the network (make sure you have `rsync` installed),_ but plugging in the SD card and mounting it is sometimes faster.\n\nThen run while being inside `/` on the `rootfs` partition (replace `~/clock_v3_cpp/pi_sysroot` with the actual path):\n\n```sh\nrsync -avz --rsync-path=\"sudo rsync\" ./lib ~/clock_v3_cpp/pi_sysroot/\nrsync -avz --rsync-path=\"sudo rsync\" ./usr/lib ~/clock_v3_cpp/pi_sysroot/usr/\nrsync -avz --rsync-path=\"sudo rsync\" ./usr/include ~/clock_v3_cpp/pi_sysroot/usr/\n```\n\nthen use `sudo symlinks -rc ~/clock_v3_cpp/pi_sysroot` to fix symlinks.\n\n## Cross-compiling\n\n```sh\ncmake --preset release-arm\ncmake --build --preset release-arm\n```\n\nThen copy the binary to the Raspberry Pi:\n\n```sh\nscp build/release-arm/digital_clock_v3 \u003cusername\u003e@\u003chostname\u003e:~\n```\n\nAlternatively, you can run `./deploy.sh \u003cusername\u003e \u003chostname\u003e` to copy the binary and restart the service on the Raspberry Pi.\n\n## Autostart\n\n```bash\nsudo vim /etc/systemd/system/digital-clock.service\n```\n\n`digital-clock.service`:\n\n```\n[Unit]\nDescription=Digital Clock Service\nAfter=network.target\n\n[Service]\nType=simple\nUser=n\nWorkingDirectory=/home/n\nExecStart=/home/n/digital_clock_v3\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n```\n\n```bash\nsudo systemctl enable digital-clock.service\nsudo systemctl start digital-clock.service\n```\n\n# Attribution\n\n- BellotaText Bold font used in this project is licensed under the [Open Font License](https://openfontlicense.org).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuxdie%2Fclock_v3_cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuxdie%2Fclock_v3_cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuxdie%2Fclock_v3_cpp/lists"}