Installation

WIP. Writing and testing installation instructions is an absolute nightmare.

Our project is developed on UNIX-based operating systems.

Please complete instructions in the 'Windows' tab before proceeding if you're a Windows user.

MacOS is a UNIX-based operating system, so you can skip ahead.

Install Nix

Terminal
# Answer 'y' for all questions
sh <(curl -L https://nixos.org/nix/install) --daemon --yes
Terminal
exit
logout

[process exited with code 127 (0x0000007f)]
You can now close this terminal with Ctrl+D, or press Enter to restart.

Hit Enter, and re-open the terminal.

Configure GitHub CLI

Create a GitHub account if you don't already have one.

Terminal
 # Login with your GitHub account.
 nix-env -iA nixpkgs.gh; gh auth login -p=https -w

Image

Provide the following answers if prompted.

? Authenticate Git with your GitHub credentials? [Use arrows] to move, type to filter]
> Yes

# Your one-time code will be different.
! First copy your one-time code: 95i2-DAE6
Press Enter to open github.com in your browser...

Navigate to the github link shown if you see this and paste in the code as usual.

Return to the terminal when you see the Congratulations, you're all set! screen. Image

You should see the following:

✔ Authentication complete.
- gh config set -h github.com git_protocol https
✔ Configured git protocol
✔ Logged in as yourgithubusername

Fork and Clone Repository.

Open VSCode (Or your preferred editor):

Nix Shell
# Allow all hosts and trust the authors when you see a popup
# And install all recommended extensions
code .

From the VSCode integrated terminal, navigate to directory and install dependencies.

Terminal
gh repo fork cuhacking/2025 --clone # Fork and clone repo
cd 2025; # Navigate into directory
nix-shell; # Enter Nix Shell
pnpm i; # Install packages
pnpm exec playwright install --with-deps # Install Playwright Browsers for E2E Testing

Run projects

Run all development servers.

Nix Shell
pnpm nx run-many -t dev --verbose

..or add -p to filter specific projects

Nix Shell
pnpm nx run-many -t dev -p website --verbose

--verbose provides detailed error logs.

Nix Shell
pnpm nx graph --groupByFolder --verbose

You'll see the url(s) in your terminal for the project(s) you're running, simply paste those in to your browser address bar.

For example you may see:

Nix Shell
╰─ pnpm nx dev docs --verbose                                                                                                                   ─╯
 
> nx run docs:dev
 
> next dev
 
[MDX] initialized map file
 Next.js 15.0.3
   - Local:        http://localhost:3000
   - Experiments (use with caution):
     · turbo
 
 Starting...
   automatically enabled Fast Refresh for 1 custom loader
 Ready in 1790ms

URLs may change as the project matures.

If multiple apps are running or another server using that network port, your URLs may be different from someone else's and that's okay.

Always look at your terminal for the correct URL.

What's next?

Explore the Tech Stack to learn what powers our meta-framework.

Get Involved

Looking to contribute? If you've already read the Overview then head on over to the Contribution Guidelines.

Connect With Us

Connect on our channels and with the cuHacking team to ask questions, get help and keep up to date with the latest events.

On this page

Made with 💚 for Hackers by Hackers