javalsai 0a740e12e3
Check / Nix flake (push) Has been cancelled
Lint / Nix expressions (push) Has been cancelled
nixos/services: add gitea server
2026-05-02 23:48:15 +02:00
2026-05-02 17:27:59 -04:00
2026-05-02 23:48:15 +02:00
2026-05-02 17:27:59 -04:00
2026-05-02 23:48:15 +02:00
2026-04-19 13:33:11 -04:00
2026-05-02 03:08:17 -04:00
2026-05-02 03:10:07 -04:00
2026-04-18 17:41:09 -04:00

tuxcord.nix

Declarative NixOS system configurations for tuxcord server infrastructure.

Nix knowledge will be assumed arbitrarily; you should have basic understanding before diving into any details of this configuration.

You are required to read the entirety of this file before interacting further with this repository.

Documentation

This README serves as the documentation entry point of this repository. Any other subcategories (e.g., users, structure, filesystem, security, services) should be documented using Markdown under this same directory. We try to expose important naming and working conventions for anyone starting with this repository.

Do keep in mind that documentation requires effort. This file can be outdated, incomplete, or inaccurate. Nothing will always be as accurate as the configuration itself.

Version Control Conventions

Important considerations when working with the version history/repository of this repository.

Commit Naming

This repository uses the scoped commits convention to describe commits.

This means that every commit title must start with the part of the tree it affets (e.g. nixos: [...], nixos/programs: [...]) or treewide for changes that affect the entirety of the repository. The rest of the title must be short, imperative, concise, and not contain any other scopes. Try to make it as simple as possible.

There are no requirements for commit descriptions, though I suggest making them helpful (unless if the changes are already descriptive enough). No footers are required either (e.g., Fixes #XXX, Signed-off-by, Assisted-by).

Branches

Active work is done in the staging branch, which will be periodically merged into the main branch. main is guaranteed to not break commit history unless absolutely required, whereas staging is relaxed in this regard and commit history may be rewritten if deemed appropriate.

Infrastructure

Hosts

There's currently a single shared tuxcord server, but we've already adopted a host naming convention in case this ever scales.

Hostnames follow the format tuxcord-<region>, where <region> is the lowercase two-letter country code representing the server's geographical location. We doubt there will ever be more than one server per country, so further disambiguation is not defined.

Host specific configuration can be found at nixos/hosts/tuxcord-XX. This is useful for host-specific hardware, firmware, storage layouts, etc.

Development

To learn how to get started, refer to the Getting Started guide.

The guide contains basic instructions as to how to use Nix for this repository, as well as tools to help in certain tasks.

Contributions

For any contribution you would like to make, whether it is a discussion, a change, or another issue, there is no official channel, and the git server does not allow arbitrary user registration. We recommend contacting us via email (javalsai@proton.me/javalsai@tuxcord.net, error@tuxcord.net, or both).

Warning

No AI-generated code is allowed, especially "vibecoding". AI assistance is allowed but it must always end with good quality human-written code.

License

All contents in this repository are licensed exclusively under the GNU Lesser General Public License (LGPL-3.0-only).

You are permitted to use derivatives of this configuration for your own systems and to redistribute modified versions, provided that you comply with the terms of the license.

S
Description
tuxcord.net NixOS configuration
Readme 449 KiB
Languages
Nix 100%