Skip to content

NixOS/nixos-homepage

Repository files navigation

Source for nixos.org

CI Number of open GitHub issues Number of open GitHub pull requests Month of last commit Number of all contributors

Code and content for the nixos.org website.

Contributing

Thank you for your interest in contributing to the NixOS homepage! We value your time and effort in helping us improve this vital resource for the community.

We want to make contributing as simple and welcoming as possible while ensuring the sustainability of the project. Our small team of volunteers prioritizes the health and maintainability of the site over rushing features or catering to individual interests.

Here’s how you can help us achieve that:

  • Don’t hesitate to reach out! We’re here to guide you and get you started.
  • If you feel lost on where or how to contribute, ask the Marketing Team on the #marketing room on Matrix.
  • Focus on contributions that align with the project's long-term goals and maintainable growth.
  • Be mindful of the maintainers’ capacity. We, like you, are here because we are passionate about the project.

All Work is Tracked in Issues

All work, whether proposed or in progress, should be documented in Issues. This ensures transparency and makes it easier for anyone to pick up tasks or for maintainers to manage the workload. There are many ways how you can help:

Propose Changes in the Right Place

It takes a lot of time and effort to keep the website running smoothly. If you want to submit a change that is not tracked by an issue, propose it first so the details and scope can be refined before you start working.

  • For well-scoped ideas that you can implement, check if their is an existing issue. If not, create one.
  • For loosely defined ideas or if you lack the technical means to implement them, start a discussion in the Discussions section to refine the idea collaboratively.

Separate Pull Requests by Type

When submitting pull requests, ensure they are categorized as one of the following:

  • Design changes
  • Content changes
  • Technical changes

Avoid combining these types in a single pull request to make the review process smoother and more efficient.

Development

To run local development instance follow this steps to start a local server

$ git clone [email protected]:NixOS/nixos-homepage.git
$ cd nixos-homepage
$ nix-shell
[nix-shell]$ npm install
[nix-shell]$ npm run dev

If you have Docker and Docker Compose installed, you can alternatively run

$ docker-compose up

Once everything's ready, you'll be able to access

Open your browser at: http://localhost:4321/

Before creating a pull request make sure that nix-build runs successfully.

Binary cache (Optional)

It can take some time to enter the development environment. To speed up and avoid building from source, you can use a binary cache. The same cache is used to speed up our GitHub Actions.

On NixOS

Add the following to your configuration.nix:

nix.settings.substituters = [ "https://nixos-homepage.cachix.org" ];
nix.settings.trusted-public-keys = [ "nixos-homepage.cachix.org-1:NHKBt7NjLcWfgkX4OR72q7LVldKJe/JOsfIWFDAn/tE=" ];

On non-NixOS

Add the following to the /etc/nix/nix.conf or ~/.config/nix/nix.conf:

substituters = ... https://nixos-homepage.cachix.org
trusted-public-keys = ... nixos-homepage.cachix.org-1:NHKBt7NjLcWfgkX4OR72q7LVldKJe/JOsfIWFDAn/tE=

License

The content of the website is licensed under the Creative Commons Attribution Share Alike 4.0 International license.

The software (including sample code) is licensed under the MIT license.

Some files might have a different license. See the files content for details.