forked from hacc/haccfiles
Nixfiles, for hacc.
stuebinm
13b8ae5c13
This overrides the python38Packages.twisted derivation to a more recent version that /hopefully/ doesn't force old tls versions. This includes using and override on the actual twisted package, and another on the matrix-synapse packages, which now has parts of its definition repeated in the overlay since overlays apparently don't propagate into dependencies of packages (since packages are essentiall functions which have already been called). On the one hand, this may break things in case the definition of matrix-synapse changes too much upstream. On the other hand, it doesn't seem like anyone update the python packages too often, so probably that won't happen for a long while. Additionally, prohibitively long to build, since synapse insists on running a complete test suite while building itself, and there doesn't appear to be an obvious version to turn this off. If this situation continues (also with some of the other packages) I guess at some point we should just set up hainich as a substitution server for Nix ... |
||
---|---|---|
common | ||
desktop | ||
hosts | ||
modules | ||
nix | ||
pkgs | ||
services | ||
.gitignore | ||
.gitlab-ci.yml | ||
default.nix | ||
README.md |
hacc nixfiles
welcome to hacc nixfiles (haccfiles). this is the code describing our nix-based infrastructure.
structure
default.nix
: Entrypoint to the configcommon/
: configuration common to all hostsdesktop/
: desktop-relevant communicationmodules/
: home-grown modules for hacc-specific servicesnix/
: sources files, managed with nivpkgs/
: packages we built and don't want to upstream
working with the haccfiles
deploy:
nix build -f . deploy.$hostname && ./result switch
$hostname
can be replaced with any hostname or group
committing to haccfiles
- Golden Rule: DO NOT COMMIT TO MAIN
- exceptions apply, if you are not sure where to commit, don't commit to main
- split up commits, every commit is one atomic change
- e.g. no big "did some changes" but instead "updated service x", "updated service y", "update service z"
- follow the commit format: "$prefix$place: $change"
- prefix: one of fixup, nothing
- place: one of "modules/$module", "$hostname/service", "common/($place)", "pkgs/$pkgs" or "sources"
- change: describe your change, don't go over the character limit where git starts hiding/wrapping
- Exception: autogenerated messages (merge commits, reverts, etc)