q3k
2efb698d22
This makes all Nix files addressable from root by file path. For instance, if a file is located in //foo/bar:baz.nix containing: { pkgs, ... }: pkgs.stdenv.mkDerivation { pname = "foo"; # ... } You can then do: nix-build -A foo.bar.baz All nix files loaded this way must be a function taking a 'config' attrset - see nix/readTree.nix for more information. Currently the config attrset contains the following fields: - hscloud: the root of the hscloud repository itself, which allows for traversal via readTree (eg. hscloud.foo.bar.baz) - pkgs: nixpkgs - pkgsSrc: nixpkgs souce/channel, useful to load NixOS modules. - lib, stdenv: lib and stdenv from pkgs. Change-Id: Ieaacdcabceec18dd6c670d346928bff08b66cf79 |
||
---|---|---|
app | ||
bgpwtf | ||
bzl | ||
cluster | ||
dc | ||
devtools | ||
doc | ||
games/factorio/modproxy | ||
gcp | ||
go | ||
hswaw | ||
kube | ||
nix | ||
ops/monitoring | ||
personal | ||
third_party | ||
tools | ||
.bazelrc | ||
.gitignore | ||
BUILD | ||
COPYING | ||
OWNERS | ||
README.md | ||
WORKSPACE | ||
ci_presubmit.sh | ||
default.nix | ||
env.fish | ||
env.sh | ||
hackdoc.toml |
README.md
hscloud
is the main monorepo of the Warsaw Hackerspace infrastructure code.
Any time you see a //path/like/this
, it refers to the root of hscloud, ie. the path path/like/this
in this repository. Perforce and/or Bazel users should feel right at home.
Viewing this documentation
For a pleaseant web viewing experience, see this documentation in hackdoc. This will allow you to read this markdown file (and others) in a pretty, linkable view.
Getting started
See //doc/codelabs for tutorials on how to use hscloud.
If you want to browse the source of hscloud
in a web browser, use cs.hackerspace.pl.
If you want some other help, talk to q3k, informatic or your therapist.
Directory Structure
Directories you should care about:
- app: external services that we host that are somewhat universal: matrix, covid-formity, etc.
- bgpwtf: code related to our little ISP
- cluster: code related to our Kubernetes cluster (
k0.hswaw.net
) - dc: code related to datacenter automation
- devtools: code related to developer tooling, like gerrit or hackdoc
- doc: high-level documentation that doesn't fit anywhere else, ie. codelabs
- hswaw: Warsaw Hackerspace specific/internal services. The line between this and app is unfortunately blurry.
- personal: user's personal (experimental) directories
- kube, go: code specific to languages but general to the whole of hscloud
Licensing
Unless noted otherwise, code in hscloud is licensed under the BSD 0-clause license - see COPYING.