diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml
index d0e781e67865..7b847f1f798e 100644
--- a/nixos/modules/services/editors/emacs.xml
+++ b/nixos/modules/services/editors/emacs.xml
@@ -152,74 +152,46 @@ To run the newly compiled executable:
$ ./result/bin/emacs
*/
-{ pkgs ? import <nixpkgs> {} }:
+
+# The first non-comment line in this file indicates that
+# the whole file represents a function.
+{ pkgs ? import <nixpkgs> {} }:
let
- myEmacs = pkgs.emacs;
- emacsWithPackages = (pkgs.emacsPackagesFor myEmacs).emacsWithPackages;
+ # The let expression below defines a myEmacs binding pointing to the
+ # current stable version of Emacs. This binding is here to separate
+ # the choice of the Emacs binary from the specification of the
+ # required packages.
+ myEmacs = pkgs.emacs;
+ # This generates an emacsWithPackages function. It takes a single
+ # argument: a function from a package set to a list of packages
+ # (the packages that will be available in Emacs).
+ emacsWithPackages = (pkgs.emacsPackagesFor myEmacs).emacsWithPackages;
in
- emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
+ # The rest of the file specifies the list of packages to install. In the
+ # example, two packages (magit and zerodark-theme) are taken from
+ # MELPA stable.
+ emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
magit # ; Integrate git <C-x g>
zerodark-theme # ; Nicolas' theme
- ]) ++ (with epkgs.melpaPackages; [
+ ])
+ # Two packages (undo-tree and zoom-frm) are taken from MELPA.
+ ++ (with epkgs.melpaPackages; [
undo-tree # ; <C-x u> to show the undo tree
zoom-frm # ; increase/decrease font size for all buffers %lt;C-x C-+>
- ]) ++ (with epkgs.elpaPackages; [
+ ])
+ # Three packages are taken from GNU ELPA.
+ ++ (with epkgs.elpaPackages; [
auctex # ; LaTeX mode
beacon # ; highlight my cursor when scrolling
nameless # ; hide current package name everywhere in elisp code
- ]) ++ [
- pkgs.notmuch # From main packages set
+ ])
+ # notmuch is taken from a nixpkgs derivation which contains an Emacs mode.
+ ++ [
+ pkgs.notmuch # From main packages set
])
-
-
-
- The first non-comment line in this file ({ pkgs ? ...
- }) indicates that the whole file represents a function.
-
-
-
-
- The let expression below defines a
- myEmacs binding pointing to the current stable
- version of Emacs. This binding is here to separate the choice of the
- Emacs binary from the specification of the required packages.
-
-
-
-
- This generates an emacsWithPackages function. It
- takes a single argument: a function from a package set to a list of
- packages (the packages that will be available in Emacs).
-
-
-
-
- The rest of the file specifies the list of packages to install. In the
- example, two packages (magit and
- zerodark-theme) are taken from MELPA stable.
-
-
-
-
- Two packages (undo-tree and
- zoom-frm) are taken from MELPA.
-
-
-
-
- Three packages are taken from GNU ELPA.
-
-
-
-
- notmuch is taken from a nixpkgs derivation which
- contains an Emacs mode.
-
-
-
diff --git a/nixos/modules/services/matrix/synapse.xml b/nixos/modules/services/matrix/synapse.xml
index 4d0db9c5a5be..b4abe2901fef 100644
--- a/nixos/modules/services/matrix/synapse.xml
+++ b/nixos/modules/services/matrix/synapse.xml
@@ -67,20 +67,41 @@ in {
recommendedGzipSettings = true;
recommendedProxySettings = true;
virtualHosts = {
- "${config.networking.domain}" = {
+ # If the A and AAAA DNS records on example.org do not point on the same host as the
+ # records for myhostname.example.org, you can easily move the /.well-known
+ # virtualHost section of the code to the host that is serving example.org, while
+ # the rest stays on myhostname.example.org with no other changes required.
+ # This pattern also allows to seamlessly move the homeserver from
+ # myhostname.example.org to myotherhost.example.org by only changing the
+ # /.well-known redirection target.
+ "${config.networking.domain}" = {
enableACME = true;
forceSSL = true;
- locations."= /.well-known/matrix/server".extraConfig = mkWellKnown serverConfig;
- locations."= /.well-known/matrix/client".extraConfig = mkWellKnown clientConfig;
+ # This section is not needed if the server_name of matrix-synapse is equal to
+ # the domain (i.e. example.org from @foo:example.org) and the federation port
+ # is 8448.
+ # Further reference can be found in the docs about delegation under
+ # https://matrix-org.github.io/synapse/latest/delegate.html
+ locations."= /.well-known/matrix/server".extraConfig = mkWellKnown serverConfig;
+ # This is usually needed for homeserver discovery (from e.g. other Matrix clients).
+ # Further reference can be found in the upstream docs at
+ # https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient
+ locations."= /.well-known/matrix/client".extraConfig = mkWellKnown clientConfig;
};
"${fqdn}" = {
enableACME = true;
forceSSL = true;
- locations."/".extraConfig = ''
+ # It's also possible to do a redirect here or something else, this vhost is not
+ # needed for Matrix. It's recommended though to *not put* element
+ # here, see also the section about Element.
+ locations."/".extraConfig = ''
return 404;
'';
- locations."/_matrix".proxyPass = "http://[::1]:8008";
- locations."/_synapse/client".proxyPass = "http://[::1]:8008";
+ # Forward all Matrix API calls to the synapse Matrix homeserver. A trailing slash
+ # *must not* be used here.
+ locations."/_matrix".proxyPass = "http://[::1]:8008";
+ # Forward requests for e.g. SSO and password-resets.
+ locations."/_synapse/client".proxyPass = "http://[::1]:8008";
};
};
};
@@ -104,56 +125,6 @@ in {
}
-
-
-
- If the A and AAAA DNS records on
- example.org do not point on the same host as the records
- for myhostname.example.org, you can easily move the
- /.well-known virtualHost section of the code to the host that
- is serving example.org, while the rest stays on
- myhostname.example.org with no other changes required.
- This pattern also allows to seamlessly move the homeserver from
- myhostname.example.org to
- myotherhost.example.org by only changing the
- /.well-known redirection target.
-
-
-
-
- This section is not needed if the server_name
- of matrix-synapse is equal to the domain (i.e.
- example.org from @foo:example.org)
- and the federation port is 8448.
- Further reference can be found in the docs
- about delegation.
-
-
-
-
- This is usually needed for homeserver discovery (from e.g. other Matrix clients).
- Further reference can be found in the upstream docs
-
-
-
-
- It's also possible to do a redirect here or something else, this vhost is not
- needed for Matrix. It's recommended though to not put element
- here, see also the section about Element.
-
-
-
-
- Forward all Matrix API calls to the synapse Matrix homeserver. A trailing slash
- must not be used here.
-
-
-
-
- Forward requests for e.g. SSO and password-resets.
-
-
- Registering Matrix users
diff --git a/nixos/modules/services/web-apps/plausible.xml b/nixos/modules/services/web-apps/plausible.xml
index 929d4db22913..9546ae4e558c 100644
--- a/nixos/modules/services/web-apps/plausible.xml
+++ b/nixos/modules/services/web-apps/plausible.xml
@@ -21,33 +21,23 @@
services.plausible = {
enable = true;
adminUser = {
- activate = true;
+ # activate is used to skip the email verification of the admin-user that's
+ # automatically created by plausible. This is only supported if
+ # postgresql is configured by the module. This is done by default, but
+ # can be turned off with services.plausible.database.postgres.setup.
+ activate = true;
email = "admin@localhost";
passwordFile = "/run/secrets/plausible-admin-pwd";
};
server = {
baseUrl = "http://analytics.example.org";
- secretKeybaseFile = "/run/secrets/plausible-secret-key-base";
+ # secretKeybaseFile is a path to the file which contains the secret generated
+ # with openssl as described above.
+ secretKeybaseFile = "/run/secrets/plausible-secret-key-base";
};
};
}
-
-
-
- activate is used to skip the email verification of the admin-user that's
- automatically created by plausible. This is only supported if
- postgresql is configured by the module. This is done by default, but
- can be turned off with .
-
-
-
-
- secretKeybaseFile is a path to the file which contains the secret generated
- with openssl as described above.
-
-
-