A terminal fetch application akin to neofetch but for UCI students.
  • C++ 68%
  • CMake 23.4%
  • Nix 7.4%
  • Shell 1.2%
Find a file
2026-05-20 18:34:12 -07:00
.github fix(actions): show logs when building with nix 2026-05-20 18:34:12 -07:00
3rd-party feat: add testing framework via GoogleTest and CTest 2026-04-30 22:41:30 -07:00
cmake cmake: switch to fully vendored dependency management 2026-04-28 20:20:09 -07:00
include test: DirectoryInfo and introduce http client abstraction 2026-05-02 12:23:31 -07:00
meta feat: add some utility scripts to simply development 2026-05-02 12:43:39 -07:00
nix test: DirectoryInfo and introduce http client abstraction 2026-05-02 12:23:31 -07:00
src test: DirectoryInfo and introduce http client abstraction 2026-05-02 12:23:31 -07:00
tests test: DirectoryInfo and introduce http client abstraction 2026-05-02 12:23:31 -07:00
.envrc Initial Commit 2026-04-25 11:39:55 -07:00
.gitignore feat: add testing framework via GoogleTest and CTest 2026-04-30 22:41:30 -07:00
.gitmodules feat: add testing framework via GoogleTest and CTest 2026-04-30 22:41:30 -07:00
.ignore feat: collect info from UCI Directory 2026-04-28 19:56:57 -07:00
CMakeLists.txt test: DirectoryInfo and introduce http client abstraction 2026-05-02 12:23:31 -07:00
CONTRIBUTING.md feat: add some utility scripts to simply development 2026-05-02 12:43:39 -07:00
flake.lock Initial Commit 2026-04-25 11:39:55 -07:00
flake.nix test: DirectoryInfo and introduce http client abstraction 2026-05-02 12:23:31 -07:00
LICENSE maintain: add MIT license 2026-04-30 20:23:21 -07:00
README.md feat: add some utility scripts to simply development 2026-05-02 12:43:39 -07:00

Peterfetch

A terminal fetch application akin to neofetch but for UCI students.

Contributing

Before contributing to the project, please take a look at CONTRIBUTING.md.

Obtaining the Source

This project uses Git Submodules. When cloning, make sure to either clone with --recursive or run git submodule update --init --recursive after cloning.

Building

System Dependencies

Ensure your system has the following dependencies:

  • A C++ compiler with support for C++20 (see this table)
  • CMake
  • Either make or ninja
  • libcurl

Note: For Debian based distributions, you may need to install the -dev version of some packages

Nix/NixOS Systems

If your system has Nix installed, you can use the provided flake.nix if you prefer.

Activate the development shell with nix develop or if you have nix-direnv installed, simply direnv allow. Then, follow the build instructions below.

Alternatively, you can directly build with nix build and run with nix run, skipping the steps below.

Note: To view the build logs easier, use nix build -L --log-format bar-with-logs.

Build Commands

You can configure the project with:

cmake -B build

And then compile with:

cmake --build build

# Or
./meta/build.sh

This will produce a binary called peterfetch in the build directory. You can run it with ./build/peterfetch.