Code and content for the nixos.org website.
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, 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:
- If you are familiar with CSS look at the issues tagged with
design
tag. - If you are an native English speaker or just a person that is very good with words, please look at the issues tagged with
content
tag - If you are developer and just eager to fix stuff please look at the issues tagged with
bug
tag
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.
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.
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.
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.
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=" ];
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=
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.