A terminal fetch application akin to neofetch but for UCI students.
  • C++ 88.1%
  • CMake 8.9%
  • Nix 2.6%
  • Shell 0.4%
Find a file
Ben Landon 9aef26776c
feat: display campus weather info by default
This adds the campus weather information to the default layout. Some
minor formatting work is also included along with small steps towards
removing `using namespace std;` across the codebase.
2026-09-28 00:17:48 -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 feat: display campus weather info by default 2026-09-28 00:17:48 -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 feat: display campus weather info by default 2026-09-28 00:17:48 -07:00
tests Implement UCI campus weather data 2026-09-27 23:11:52 -07:00
.envrc Initial Commit 2026-04-25 11:39:55 -07:00
.gitignore maintain: remove accidentally introduced files and invert .gitignore 2026-09-27 23:39:03 -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 Implement UCI campus weather data 2026-09-27 23:11:52 -07:00
CONTRIBUTING.md maintain: add nix run quick command and update GitHub references 2026-09-27 23:16:37 -07:00
Doxyfile feat: add doxygen configuration file 2026-06-18 00:44:33 -07:00
flake.lock Initial Commit 2026-04-25 11:39:55 -07:00
flake.nix feat: switch to using smart pointers 2026-06-18 00:44:33 -07:00
LICENSE maintain: add MIT license 2026-04-30 20:23:21 -07:00
README.md maintain: add nix run quick command and update GitHub references 2026-09-27 23:16:37 -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.

If you just want to run things without a local copy, try:

nix run 'git+https://git.alugatuci.org/b0x207/peterfetch.git' -L -- <your UCINetID>

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.