Nixfiles, for hacc.
Find a file
stuebinm 69f5448aa3
mattermost 5.34.3 → 5.37.0
Among other things, this contains the "collapsable reply threads" feature
which makes it behave similar to slack.

Also, after spending thirty minutes or so attempting to teach niv that
it should really only fetch the tag "5.37.0" from the mattermost-server
repository and not any other commit, branch, or similar (there is a
"release-5.37" branch, but that seems to be for active development), I
have temporarily given up on it and typed in the urls manually.

Unfortunately, this means that any kind of `niv update` will now break
things. If anyone knows how to use niv correctly for this please patch
this; otherwise I guess we can extract mattermost out from niv again.
2021-07-16 17:45:18 +02:00
common Revert "security: remove hexchen" 2021-03-26 22:04:27 +01:00
desktop remove hexchen from the project 2021-01-25 11:37:34 +00:00
hosts mattermost 5.34.3 → 5.37.0 2021-07-16 17:45:18 +02:00
modules hainich: init mattermost beta 2021-03-24 22:37:38 +01:00
nix mattermost 5.34.3 → 5.37.0 2021-07-16 17:45:18 +02:00
pkgs nixda:update desktopvideo to 12.0 2021-06-09 21:58:06 +00:00
.gitignore repo: add vim swapfiles to gitignore 2020-11-29 12:53:03 +00:00
.gitlab-ci.yml ci: split up pipelines by host 2021-05-10 14:41:42 +00:00
default.nix default: unclutter by using a recursive attrset 2021-01-22 19:26:05 +00:00
README.md readme: add golden commit rule 2021-01-20 18:47:57 +00:00

hacc nixfiles

welcome to hacc nixfiles (haccfiles). this is the code describing our nix-based infrastructure.

structure

  • default.nix: Entrypoint to the config
  • common/: configuration common to all hosts
  • desktop/: desktop-relevant communication
  • modules/: home-grown modules for hacc-specific services
  • nix/: sources files, managed with niv
  • pkgs/: 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)