diff options
73 files changed, 6840 insertions, 4577 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b6d16311a817..43e47a23dd3e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4942,6 +4942,12 @@ githubId = 45168934; name = "Louis Blin"; }; + lucc = { + email = "lucc+nix@posteo.de"; + github = "lucc"; + githubId = 1104419; + name = "Lucas Hoffmann"; + }; ldelelis = { email = "ldelelis@est.frba.utn.edu.ar"; github = "ldelelis"; @@ -5228,6 +5234,10 @@ githubId = 10626; name = "Andreas Wagner"; }; + lrworth = { + email = "luke@worth.id.au"; + name = "Luke Worth"; + }; lschuermann = { email = "leon.git@is.currently.online"; github = "lschuermann"; diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index 7c6356770a5f..38262b508994 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -287,6 +287,14 @@ This avoids that the password gets exposed in the nix store. </para> </listitem> + <listitem> + <para> + Starting with version 1.7.0, the project formerly named <literal>CodiMD</literal> + is now named <literal>HedgeDoc</literal>. + New installations will no longer use the old name for users, state directories and such, this needs to be considered when moving state to a more recent NixOS installation. + Based on <xref linkend="opt-system.stateVersion" />, existing installations will continue to work. + </para> + </listitem> </itemizedlist> </section> diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 405fbfa10dbf..43d20a556f8d 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -143,6 +143,13 @@ let LINUX /boot/${config.system.boot.loader.kernelFile} APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} loglevel=7 INITRD /boot/${config.system.boot.loader.initrdFile} + + # A variant to boot with a serial console enabled + LABEL boot-serial + MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (serial console=ttyS0,115200n8) + LINUX /boot/${config.system.boot.loader.kernelFile} + APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} console=ttyS0,115200n8 + INITRD /boot/${config.system.boot.loader.initrdFile} ''; isolinuxMemtest86Entry = '' diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 213048da500f..3b67a8574938 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -856,7 +856,6 @@ ./services/web-apps/atlassian/confluence.nix ./services/web-apps/atlassian/crowd.nix ./services/web-apps/atlassian/jira.nix - ./services/web-apps/codimd.nix ./services/web-apps/convos.nix ./services/web-apps/cryptpad.nix ./services/web-apps/documize.nix @@ -865,6 +864,7 @@ ./services/web-apps/gerrit.nix ./services/web-apps/gotify-server.nix ./services/web-apps/grocy.nix + ./services/web-apps/hedgedoc.nix ./services/web-apps/icingaweb2/icingaweb2.nix ./services/web-apps/icingaweb2/module-monitoring.nix ./services/web-apps/ihatemoney diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix index a212adb7342d..63027f7744dc 100644 --- a/nixos/modules/services/hardware/udev.nix +++ b/nixos/modules/services/hardware/udev.nix @@ -205,7 +205,7 @@ in extraRules = mkOption { default = ""; example = '' - KERNEL=="eth*", ATTR{address}=="00:1D:60:B9:6D:4F", NAME="my_fast_network_card" + SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1D:60:B9:6D:4F", KERNEL=="eth*", NAME="my_fast_network_card" ''; type = types.lines; description = '' diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix index 3cfcb535ef5b..395139879036 100644 --- a/nixos/modules/services/networking/wpa_supplicant.nix +++ b/nixos/modules/services/networking/wpa_supplicant.nix @@ -233,10 +233,9 @@ in { path = [ pkgs.wpa_supplicant ]; script = '' - if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then - echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead." + if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ] + then echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead." fi - iface_args="-s -u -D${cfg.driver} -c ${configFile}" ${if ifaces == [] then '' for i in $(cd /sys/class/net && echo *); do @@ -249,10 +248,6 @@ in { fi fi done - if [ -z "$args" ]; then - echo >&2 "<3>No wireless interfaces detected (yet)." - exit 1 - fi '' else '' args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}" ''} @@ -266,7 +261,7 @@ in { # Restart wpa_supplicant when a wlan device appears or disappears. services.udev.extraRules = '' - ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", RUN+="/run/current-system/systemd/bin/systemctl restart wpa_supplicant.service" + ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", RUN+="/run/current-system/systemd/bin/systemctl try-restart wpa_supplicant.service" ''; }; diff --git a/nixos/modules/services/web-apps/codimd.nix b/nixos/modules/services/web-apps/hedgedoc.nix index 0fbc9ee820e6..3f646d7db0cd 100644 --- a/nixos/modules/services/web-apps/codimd.nix +++ b/nixos/modules/services/web-apps/hedgedoc.nix @@ -3,10 +3,14 @@ with lib; let - cfg = config.services.codimd; + cfg = config.services.hedgedoc; + + name = if versionAtLeast config.system.stateVersion "21.03" + then "hedgedoc" + else "codimd"; prettyJSON = conf: - pkgs.runCommandLocal "codimd-config.json" { + pkgs.runCommandLocal "hedgedoc-config.json" { nativeBuildInputs = [ pkgs.jq ]; } '' echo '${builtins.toJSON conf}' | jq \ @@ -14,22 +18,26 @@ let ''; in { - options.services.codimd = { - enable = mkEnableOption "the CodiMD Markdown Editor"; + imports = [ + (mkRenamedOptionModule [ "services" "codimd" ] [ "services" "hedgedoc" ]) + ]; + + options.services.hedgedoc = { + enable = mkEnableOption "the HedgeDoc Markdown Editor"; groups = mkOption { type = types.listOf types.str; default = []; description = '' - Groups to which the codimd user should be added. + Groups to which the user ${name} should be added. ''; }; workDir = mkOption { type = types.path; - default = "/var/lib/codimd"; + default = "/var/lib/${name}"; description = '' - Working directory for the CodiMD service. + Working directory for the HedgeDoc service. ''; }; @@ -38,17 +46,17 @@ in domain = mkOption { type = types.nullOr types.str; default = null; - example = "codimd.org"; + example = "hedgedoc.org"; description = '' - Domain name for the CodiMD instance. + Domain name for the HedgeDoc instance. ''; }; urlPath = mkOption { type = types.nullOr types.str; default = null; - example = "/url/path/to/codimd"; + example = "/url/path/to/hedgedoc"; description = '' - Path under which CodiMD is accessible. + Path under which HedgeDoc is accessible. ''; }; host = mkOption { @@ -69,7 +77,7 @@ in path = mkOption { type = types.nullOr types.str; default = null; - example = "/run/codimd.sock"; + example = "/run/hedgedoc.sock"; description = '' Specify where a UNIX domain socket should be placed. ''; @@ -77,7 +85,7 @@ in allowOrigin = mkOption { type = types.listOf types.str; default = []; - example = [ "localhost" "codimd.org" ]; + example = [ "localhost" "hedgedoc.org" ]; description = '' List of domains to whitelist. ''; @@ -201,7 +209,7 @@ in ''; description = '' Specify which database to use. - CodiMD supports mysql, postgres, sqlite and mssql. + HedgeDoc supports mysql, postgres, sqlite and mssql. See <link xlink:href="https://sequelize.readthedocs.io/en/v3/"> https://sequelize.readthedocs.io/en/v3/</link> for more information. Note: This option overrides <option>db</option>. @@ -213,12 +221,12 @@ in example = literalExample '' { dialect = "sqlite"; - storage = "/var/lib/codimd/db.codimd.sqlite"; + storage = "/var/lib/${name}/db.${name}.sqlite"; } ''; description = '' Specify the configuration for sequelize. - CodiMD supports mysql, postgres, sqlite and mssql. + HedgeDoc supports mysql, postgres, sqlite and mssql. See <link xlink:href="https://sequelize.readthedocs.io/en/v3/"> https://sequelize.readthedocs.io/en/v3/</link> for more information. Note: This option overrides <option>db</option>. @@ -227,7 +235,7 @@ in sslKeyPath= mkOption { type = types.nullOr types.str; default = null; - example = "/var/lib/codimd/codimd.key"; + example = "/var/lib/hedgedoc/hedgedoc.key"; description = '' Path to the SSL key. Needed when <option>useSSL</option> is enabled. ''; @@ -235,7 +243,7 @@ in sslCertPath = mkOption { type = types.nullOr types.str; default = null; - example = "/var/lib/codimd/codimd.crt"; + example = "/var/lib/hedgedoc/hedgedoc.crt"; description = '' Path to the SSL cert. Needed when <option>useSSL</option> is enabled. ''; @@ -243,7 +251,7 @@ in sslCAPath = mkOption { type = types.listOf types.str; default = []; - example = [ "/var/lib/codimd/ca.crt" ]; + example = [ "/var/lib/hedgedoc/ca.crt" ]; description = '' SSL ca chain. Needed when <option>useSSL</option> is enabled. ''; @@ -251,7 +259,7 @@ in dhParamPath = mkOption { type = types.nullOr types.str; default = null; - example = "/var/lib/codimd/dhparam.pem"; + example = "/var/lib/hedgedoc/dhparam.pem"; description = '' Path to the SSL dh params. Needed when <option>useSSL</option> is enabled. ''; @@ -260,10 +268,10 @@ in type = types.str; default = "/tmp"; description = '' - Path to the temp directory CodiMD should use. + Path to the temp directory HedgeDoc should use. Note that <option>serviceConfig.PrivateTmp</option> is enabled for - the CodiMD systemd service by default. - (Non-canonical paths are relative to CodiMD's base directory) + the HedgeDoc systemd service by default. + (Non-canonical paths are relative to HedgeDoc's base directory) ''; |