···77 steps:
88 - name: Wait for ofborg CI
99 run: |
1010+ # Wait for ofborg ...
1011 # eval sometimes takes a bit longer on staging.
1111- if [[ "$BASE_BRANCH" == "refs/heads/staging" ]]; then
1212+ if [[ "$BASE_BRANCH" == "staging" ]]; then
1213 COUNTDOWN=$((COUNTDOWN*2))
1314 fi
1415 # ..in future a better fix would be to make ofborg mark CI as pending right away.
···3031 if: github.repository_owner == 'NixOS'
3132 env:
3233 BASE_BRANCH: ${{ github.base_ref }}
3333- COUNTDOWN: 360 # wait for ~30min...
3434+ COUNTDOWN: 540 # wait for ~45min...
3435 GITHUB_TOKEN: ${{ github.token }}
3536 COMMIT: ${{ github.event.pull_request.head.sha }}
3637 OFBORG_APP_ID: 20500
···618618</programlisting>
619619 </para>
620620 </listitem>
621621+ <listitem>
622622+ <para>
623623+ The <xref linkend="opt-services.postgresql.dataDir"/> option is now set to <literal>"/var/lib/postgresql/${cfg.package.psqlSchema}"</literal> regardless of your
624624+ <xref linkend="opt-system.stateVersion"/>. Users with an existing postgresql install that have a <xref linkend="opt-system.stateVersion"/> of <literal>17.09</literal> or below
625625+ should double check what the value of their <xref linkend="opt-services.postgresql.dataDir"/> option is (<literal>/var/db/postgresql</literal>) and then explicitly
626626+ set this value to maintain compatibility:
627627+<programlisting>
628628+services.postgresql.dataDir = "/var/db/postgresql";
629629+</programlisting>
630630+ </para>
631631+ </listitem>
621632 </itemizedlist>
622633 </section>
623634···708719 <para>
709720 The <literal>hardware.u2f</literal> module, which was installing udev rules
710721 was removed, as udev gained native support to handle FIDO security tokens.
722722+ </para>
723723+ </listitem>
724724+ <listitem>
725725+ <para>
726726+ The <literal>services.transmission</literal> module
727727+ was enhanced with the new options:
728728+ <xref linkend="opt-services.transmission.credentialsFile"/>,
729729+ <xref linkend="opt-services.transmission.openFirewall"/>,
730730+ and <xref linkend="opt-services.transmission.performanceNetParameters"/>.
731731+ </para>
732732+ <para>
733733+ <literal>transmission-daemon</literal> is now started with additional systemd sandbox/hardening options for better security.
734734+ Please <link xlink:href="https://github.com/NixOS/nixpkgs/issues">report</link>
735735+ any use case where this is not working well.
736736+ In particular, the <literal>RootDirectory</literal> option newly set
737737+ forbids uploading or downloading a torrent outside of the default directory
738738+ configured at <link linkend="opt-services.transmission.settings">settings.download-dir</link>.
739739+ If you really need Transmission to access other directories,
740740+ you must include those directories into the <literal>BindPaths</literal> of the service:
741741+<programlisting>
742742+systemd.services.transmission.serviceConfig.BindPaths = [ "/path/to/alternative/download-dir" ];
743743+</programlisting>
744744+ </para>
745745+ <para>
746746+ Also, connection to the RPC (Remote Procedure Call) of <literal>transmission-daemon</literal>
747747+ is now only available on the local network interface by default.
748748+ Use:
749749+<programlisting>
750750+services.transmission.settings.rpc-bind-address = "0.0.0.0";
751751+</programlisting>
752752+ to get the previous behavior of listening on all network interfaces.
711753 </para>
712754 </listitem>
713755 <listitem>
+4-4
nixos/modules/config/appstream.nix
···77 type = types.bool;
88 default = true;
99 description = ''
1010- Whether to install files to support the
1010+ Whether to install files to support the
1111 <link xlink:href="https://www.freedesktop.org/software/appstream/docs/index.html">AppStream metadata specification</link>.
1212 '';
1313 };
1414 };
15151616 config = mkIf config.appstream.enable {
1717- environment.pathsToLink = [
1717+ environment.pathsToLink = [
1818 # per component metadata
1919- "/share/metainfo"
1919+ "/share/metainfo"
2020 # legacy path for above
2121- "/share/appdata"
2121+ "/share/appdata"
2222 ];
2323 };
2424
···1818 Pid Directory = "/run";
1919 ${fd_cfg.extraClientConfig}
2020 }
2121-2121+2222 ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
2323 Director {
2424 Name = "${name}";
···2626 Monitor = "${value.monitor}";
2727 }
2828 '') fd_cfg.director)}
2929-2929+3030 Messages {
3131 Name = Standard;
3232 syslog = all, !skipped, !restored
···3535 '';
36363737 sd_cfg = config.services.bacula-sd;
3838- sd_conf = pkgs.writeText "bacula-sd.conf"
3838+ sd_conf = pkgs.writeText "bacula-sd.conf"
3939 ''
4040 Storage {
4141 Name = "${sd_cfg.name}";
···8080 '';
81818282 dir_cfg = config.services.bacula-dir;
8383- dir_conf = pkgs.writeText "bacula-dir.conf"
8383+ dir_conf = pkgs.writeText "bacula-dir.conf"
8484 ''
8585 Director {
8686 Name = "${dir_cfg.name}";
···125125126126 The password is plain text. It is not generated through any special
127127 process but as noted above, it is better to use random text for
128128- security reasons.
128128+ security reasons.
129129 '';
130130 };
131131-131131+132132 monitor = mkOption {
133133 default = "no";
134134 example = "yes";
···140140141141 Please note that if this director is being used by a Monitor, we
142142 highly recommend to set this directive to yes to avoid serious
143143- security problems.
143143+ security problems.
144144 '';
145145 };
146146 };
···163163 type of autochanger, what you specify here can vary. This directive
164164 is optional. See the Using AutochangersAutochangersChapter chapter of
165165 this manual for more details of using this and the following
166166- autochanger directives.
166166+ autochanger directives.
167167 '';
168168 };
169169···200200 Extra configuration to be passed in Autochanger directive.
201201 '';
202202 example = ''
203203-203203+204204 '';
205205 };
206206 };
···222222 if you are archiving to disk storage. In this case, you must supply
223223 the full absolute path to the directory. When specifying a tape
224224 device, it is preferable that the "non-rewind" variant of the device
225225- file name be given.
225225+ file name be given.
226226 '';
227227 };
228228···290290 Whether to enable the Bacula File Daemon.
291291 '';
292292 };
293293-293293+294294 name = mkOption {
295295 default = "${config.networking.hostName}-fd";
296296 description = ''
···300300 Clients. This directive is required.
301301 '';
302302 };
303303-303303+304304 port = mkOption {
305305 default = 9102;
306306 type = types.int;
···310310 the Client resource of the Director's configuration file.
311311 '';
312312 };
313313-313313+314314 director = mkOption {
315315 default = {};
316316 description = ''
···349349 Whether to enable Bacula Storage Daemon.
350350 '';
351351 };
352352-352352+353353 name = mkOption {
354354 default = "${config.networking.hostName}-sd";
355355 description = ''
356356 Specifies the Name of the Storage daemon.
357357 '';
358358 };
359359-359359+360360 port = mkOption {
361361 default = 9103;
362362 type = types.int;
···410410 console = all
411411 '';
412412 };
413413-413413+414414 };
415415416416 services.bacula-dir = {
···429429 required.
430430 '';
431431 };
432432-432432+433433 port = mkOption {
434434 default = 9101;
435435 type = types.int;
···442442 specify DirAddresses (N.B plural) directive.
443443 '';
444444 };
445445-445445+446446 password = mkOption {
447447 # TODO: required?
448448 description = ''
+1-1
nixos/modules/services/backup/restic.nix
···5555 Configuration for the rclone remote being used for backup.
5656 See the remote's specific options under rclone's docs at
5757 <link xlink:href="https://rclone.org/docs/"/>. When specifying
5858- option names, use the "config" name specified in the docs.
5858+ option names, use the "config" name specified in the docs.
5959 For example, to set <literal>--b2-hard-delete</literal> for a B2
6060 remote, use <literal>hard_delete = true</literal> in the
6161 attribute set.
···2121 listen_addresses = '${if cfg.enableTCPIP then "*" else "localhost"}'
2222 port = ${toString cfg.port}
2323 ${cfg.extraConfig}
2424- '';
2424+ '';
25252626 groupAccessAvailable = versionAtLeast postgresql.version "11.0";
2727···55555656 dataDir = mkOption {
5757 type = types.path;
5858+ defaultText = "/var/lib/postgresql/\${config.services.postgresql.package.psqlSchema}";
5859 example = "/var/lib/postgresql/11";
5960 description = ''
6060- Data directory for PostgreSQL.
6161+ The data directory for PostgreSQL. If left as the default value
6262+ this directory will automatically be created before the PostgreSQL server starts, otherwise
6363+ the sysadmin is responsible for ensuring the directory exists with appropriate ownership
6464+ and permissions.
6165 '';
6266 };
6367···249253 else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql_9_5
250254 else throw "postgresql_9_4 was removed, please upgrade your postgresql version.");
251255252252- services.postgresql.dataDir =
253253- mkDefault (if versionAtLeast config.system.stateVersion "17.09"
254254- then "/var/lib/postgresql/${cfg.package.psqlSchema}"
255255- else "/var/db/postgresql");
256256+ services.postgresql.dataDir = mkDefault "/var/lib/postgresql/${cfg.package.psqlSchema}";
256257257258 services.postgresql.authentication = mkAfter
258259 ''
···291292292293 preStart =
293294 ''
294294- # Create data directory.
295295 if ! test -e ${cfg.dataDir}/PG_VERSION; then
296296- mkdir -m 0700 -p ${cfg.dataDir}
296296+ # Cleanup the data directory.
297297 rm -f ${cfg.dataDir}/*.conf
298298- chown -R postgres:postgres ${cfg.dataDir}
299299- fi
300300- ''; # */
301298302302- script =
303303- ''
304304- # Initialise the database.
305305- if ! test -e ${cfg.dataDir}/PG_VERSION; then
299299+ # Initialise the database.
306300 initdb -U ${cfg.superUser} ${concatStringsSep " " cfg.initdbArgs}
301301+307302 # See postStart!
308303 touch "${cfg.dataDir}/.first_startup"
309304 fi
305305+310306 ln -sfn "${configFile}" "${cfg.dataDir}/postgresql.conf"
311307 ${optionalString (cfg.recoveryConfig != null) ''
312308 ln -sfn "${pkgs.writeText "recovery.conf" cfg.recoveryConfig}" \
313309 "${cfg.dataDir}/recovery.conf"
314310 ''}
315315- ${optionalString (!groupAccessAvailable) ''
316316- # postgresql pre 11.0 doesn't start if state directory mode is group accessible
317317- chmod 0700 "${cfg.dataDir}"
318318- ''}
319319-320320- exec postgres
321311 '';
322312323323- serviceConfig =
313313+ serviceConfig = mkMerge [
324314 { ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
325315 User = "postgres";
326316 Group = "postgres";
327327- PermissionsStartOnly = true;
328317 RuntimeDirectory = "postgresql";
329318 Type = if versionAtLeast cfg.package.version "9.6"
330319 then "notify"
···338327 # Give Postgres a decent amount of time to clean up after
339328 # receiving systemd's SIGINT.
340329 TimeoutSec = 120;
341341- };
330330+331331+ ExecStart = "${postgresql}/bin/postgres";
332332+333333+ # Wait for PostgreSQL to be ready to accept connections.
334334+ ExecStartPost =
335335+ let
336336+ setupScript = pkgs.writeScript "postgresql-setup" (''
337337+ #!${pkgs.runtimeShell} -e
342338343343- # Wait for PostgreSQL to be ready to accept connections.
344344- postStart =
345345- ''
346346- PSQL="${pkgs.utillinux}/bin/runuser -u ${cfg.superUser} -- psql --port=${toString cfg.port}"
339339+ PSQL="${pkgs.utillinux}/bin/runuser -u ${cfg.superUser} -- psql --port=${toString cfg.port}"
347340348348- while ! $PSQL -d postgres -c "" 2> /dev/null; do
349349- if ! kill -0 "$MAINPID"; then exit 1; fi
350350- sleep 0.1
351351- done
341341+ while ! $PSQL -d postgres -c "" 2> /dev/null; do
342342+ if ! kill -0 "$MAINPID"; then exit 1; fi
343343+ sleep 0.1
344344+ done
352345353353- if test -e "${cfg.dataDir}/.first_startup"; then
354354- ${optionalString (cfg.initialScript != null) ''
355355- $PSQL -f "${cfg.initialScript}" -d postgres
356356- ''}
357357- rm -f "${cfg.dataDir}/.first_startup"
358358- fi
359359- '' + optionalString (cfg.ensureDatabases != []) ''
360360- ${concatMapStrings (database: ''
361361- $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${database}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${database}"'
362362- '') cfg.ensureDatabases}
363363- '' + ''
364364- ${concatMapStrings (user: ''
365365- $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"'
366366- ${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
367367- $PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"'
368368- '') user.ensurePermissions)}
369369- '') cfg.ensureUsers}
370370- '';
346346+ if test -e "${cfg.dataDir}/.first_startup"; then
347347+ ${optionalString (cfg.initialScript != null) ''
348348+ $PSQL -f "${cfg.initialScript}" -d postgres
349349+ ''}
350350+ rm -f "${cfg.dataDir}/.first_startup"
351351+ fi
352352+ '' + optionalString (cfg.ensureDatabases != []) ''
353353+ ${concatMapStrings (database: ''
354354+ $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${database}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${database}"'
355355+ '') cfg.ensureDatabases}
356356+ '' + ''
357357+ ${concatMapStrings (user: ''
358358+ $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"'
359359+ ${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
360360+ $PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"'
361361+ '') user.ensurePermissions)}
362362+ '') cfg.ensureUsers}
363363+ '');
364364+ in
365365+ "+${setupScript}";
366366+ }
367367+ (mkIf (cfg.dataDir == "/var/lib/postgresql/${cfg.package.psqlSchema}") {
368368+ StateDirectory = "postgresql postgresql/${cfg.package.psqlSchema}";
369369+ StateDirectoryMode = if groupAccessAvailable then "0750" else "0700";
370370+ })
371371+ ];
371372372373 unitConfig.RequiresMountsFor = "${cfg.dataDir}";
373374 };
+1-1
nixos/modules/services/databases/riak-cs.nix
···3535 Name of the Erlang node.
3636 '';
3737 };
3838-3838+3939 anonymousUserCreation = mkOption {
4040 type = types.bool;
4141 default = false;
+8-8
nixos/modules/services/games/minetest-server.nix
···55let
66 cfg = config.services.minetest-server;
77 flag = val: name: if val != null then "--${name} ${val} " else "";
88- flags = [
99- (flag cfg.gameId "gameid")
1010- (flag cfg.world "world")
1111- (flag cfg.configPath "config")
1212- (flag cfg.logPath "logfile")
1313- (flag cfg.port "port")
88+ flags = [
99+ (flag cfg.gameId "gameid")
1010+ (flag cfg.world "world")
1111+ (flag cfg.configPath "config")
1212+ (flag cfg.logPath "logfile")
1313+ (flag cfg.port "port")
1414 ];
1515in
1616{
···2626 type = types.nullOr types.str;
2727 default = null;
2828 description = ''
2929- Id of the game to use. To list available games run
2929+ Id of the game to use. To list available games run
3030 `minetestserver --gameid list`.
31313232 If only one game exists, this option can be null.
···5959 type = types.nullOr types.path;
6060 default = null;
6161 description = ''
6262- Path to logfile for logging.
6262+ Path to logfile for logging.
63636464 If set to null, logging will be output to stdout which means
6565 all output will be catched by systemd.
···6767 type = types.bool;
6868 default = false;
6969 description = ''
7070- Whether to build thinkfan with SMART support to read temperatures
7070+ Whether to build thinkfan with SMART support to read temperatures
7171 directly from hard disks.
7272 '';
7373 };
···3838 type = types.bool;
3939 default = false;
4040 description = ''
4141- Whether to enable the Siproxd SIP
4141+ Whether to enable the Siproxd SIP
4242 proxy/masquerading daemon.
4343 '';
4444 };
···111111 type = types.int;
112112 default = 300;
113113 description = ''
114114- Timeout for an RTP stream. If for the specified
114114+ Timeout for an RTP stream. If for the specified
115115 number of seconds no data is relayed on an active
116116 stream, it is considered dead and will be killed.
117117 '';
···122122 default = 46;
123123 description = ''
124124 DSCP (differentiated services) value to be assigned
125125- to RTP packets. Allows QOS aware routers to handle
125125+ to RTP packets. Allows QOS aware routers to handle
126126 different types traffic with different priorities.
127127 '';
128128 };
···132132 default = 0;
133133 description = ''
134134 DSCP (differentiated services) value to be assigned
135135- to SIP packets. Allows QOS aware routers to handle
135135+ to SIP packets. Allows QOS aware routers to handle
136136 different types traffic with different priorities.
137137 '';
138138 };
+2-2
nixos/modules/services/misc/tzupdate.nix
···1111 default = false;
1212 description = ''
1313 Enable the tzupdate timezone updating service. This provides
1414- a one-shot service which can be activated with systemctl to
1414+ a one-shot service which can be activated with systemctl to
1515 update the timezone.
1616 '';
1717 };
···2121 # We need to have imperative time zone management for this to work.
2222 # This will give users an error if they have set an explicit time
2323 # zone, which is better than silently overriding it.
2424- time.timeZone = null;
2424+ time.timeZone = null;
25252626 # We provide a one-shot service which can be manually run. We could
2727 # provide a service that runs on startup, but it's tricky to get
+1-1
nixos/modules/services/monitoring/cadvisor.nix
···9090 default = [];
9191 description = ''
9292 Additional cadvisor options.
9393-9393+9494 See <link xlink:href='https://github.com/google/cadvisor/blob/master/docs/runtime_options.md'/> for available options.
9595 '';
9696 };
···2929 services.nextcloud = {
3030 <link linkend="opt-services.nextcloud.enable">enable</link> = true;
3131 <link linkend="opt-services.nextcloud.hostName">hostName</link> = "nextcloud.tld";
3232- <link linkend="opt-services.nextcloud.nginx.enable">nginx.enable</link> = true;
3332 config = {
3433 <link linkend="opt-services.nextcloud.config.dbtype">dbtype</link> = "pgsql";
3534 <link linkend="opt-services.nextcloud.config.dbuser">dbuser</link> = "nextcloud";
···6160 </para>
62616362 <para>
6464- The options <literal>hostName</literal> and <literal>nginx.enable</literal>
6565- are used internally to configure an HTTP server using
6666- <literal><link xlink:href="https://php-fpm.org/">PHP-FPM</link></literal>
6363+ The <literal>hostName</literal> option is used internally to configure an HTTP
6464+ server using <literal><link xlink:href="https://php-fpm.org/">PHP-FPM</link></literal>
6765 and <literal>nginx</literal>. The <literal>config</literal> attribute set is
6866 used by the imperative installer and all values are written to an additional file
6967 to ensure that changes can be applied by changing the module's options.
···3333 description = "
3434 Which hostname to set the vHost to that is proxying to sks.
3535 ";
3636- };
3636+ };
37373838 hkpAddress = mkOption {
3939 default = builtins.head sksCfg.hkpAddress;
···55let
6677 cfg = config.boot.initrd.network.openvpn;
88-88+99in
10101111{
···1616 type = types.bool;
1717 default = false;
1818 description = ''
1919- Starts an OpenVPN client during initrd boot. It can be used to e.g.
2020- remotely accessing the SSH service controlled by
2121- <option>boot.initrd.network.ssh</option> or other network services
1919+ Starts an OpenVPN client during initrd boot. It can be used to e.g.
2020+ remotely accessing the SSH service controlled by
2121+ <option>boot.initrd.network.ssh</option> or other network services
2222 included. Service is killed when stage-1 boot is finished.
2323 '';
2424 };
2525-2525+2626 boot.initrd.network.openvpn.configuration = mkOption {
2727 type = types.path; # Same type as boot.initrd.secrets
2828 description = ''
2929- The configuration file for OpenVPN.
2929+ The configuration file for OpenVPN.
30303131 <warning>
3232 <para>
···4747 message = "You should specify a configuration for initrd OpenVPN";
4848 }
4949 ];
5050-5050+5151 # Add kernel modules needed for OpenVPN
5252 boot.initrd.kernelModules = [ "tun" "tap" ];
5353···6060 cp -pv ${pkgs.glibc}/lib/libresolv.so.2 $out/lib
6161 cp -pv ${pkgs.glibc}/lib/libnss_dns.so.2 $out/lib
6262 '';
6363-6363+6464 boot.initrd.secrets = {
6565 "/etc/initrd.ovpn" = cfg.configuration;
6666 };
6767-6767+6868 # openvpn --version would exit with 1 instead of 0
6969 boot.initrd.extraUtilsCommandsTest = ''
7070 $out/bin/openvpn --show-gateway
···6464 example = 120;
6565 type = types.nullOr types.int;
6666 description = ''
6767- Maximum number of latest generations in the boot menu.
6767+ Maximum number of latest generations in the boot menu.
6868 Useful to prevent boot partition running out of disk space.
69697070- <literal>null</literal> means no limit i.e. all generations
7070+ <literal>null</literal> means no limit i.e. all generations
7171 that were not garbage collected yet.
7272 '';
7373 };
···113113 config =
114114 let
115115 units = mapAttrs' (n: v: let nspawnFile = "${n}.nspawn"; in nameValuePair nspawnFile (instanceToUnit nspawnFile v)) cfg;
116116- in
116116+ in
117117 mkMerge [
118118- (mkIf (cfg != {}) {
118118+ (mkIf (cfg != {}) {
119119 environment.etc."systemd/nspawn".source = mkIf (cfg != {}) (generateUnits' false "nspawn" units [] []);
120120 })
121121 {
···123123124124 # Workaround for https://github.com/NixOS/nixpkgs/pull/67232#issuecomment-531315437 and https://github.com/systemd/systemd/issues/13622
125125 # Once systemd fixes this upstream, we can re-enable -U
126126- systemd.services."systemd-nspawn@".serviceConfig.ExecStart = [
126126+ systemd.services."systemd-nspawn@".serviceConfig.ExecStart = [
127127 "" # deliberately empty. signals systemd to override the ExecStart
128128 # Only difference between upstream is that we do not pass the -U flag
129129 "${config.systemd.package}/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth --settings=override --machine=%i"
···2929 default = "none";
3030 description = ''
3131 The type of the filesystem to be mounted.
3232- Linux: filesystem types supported by the kernel as listed in
3333- `/proc/filesystems` (e.g., "minix", "ext2", "ext3", "jfs", "xfs",
3434- "reiserfs", "msdos", "proc", "nfs", "iso9660"). For bind mounts
3232+ Linux: filesystem types supported by the kernel as listed in
3333+ `/proc/filesystems` (e.g., "minix", "ext2", "ext3", "jfs", "xfs",
3434+ "reiserfs", "msdos", "proc", "nfs", "iso9660"). For bind mounts
3535 (when options include either bind or rbind), the type is a dummy,
3636 often "none" (not listed in /proc/filesystems).
3737 '';
···4545 default = [ "bind" ];
4646 description = ''
4747 Mount options of the filesystem to be used.
4848-4949- Support optoions are listed in the mount(8) man page. Note that
5050- both filesystem-independent and filesystem-specific options
4848+4949+ Support options are listed in the mount(8) man page. Note that
5050+ both filesystem-independent and filesystem-specific options
5151 are listed.
5252 '';
5353 };
···7788 # Please keep the version x.y.0.z and do not update to x.y.76.z because the
99 # source of the latter disappears much faster.
1010- version = "8.62.0.85";
1010+ version = "8.63.0.76";
11111212 rpath = stdenv.lib.makeLibraryPath [
1313 alsaLib
···6565 "https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
6666 "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
6767 ];
6868- sha256 = "0qlm2hbshxgycczv227bbj2fbiw3b76rp24mh8amhq4xbscazl38";
6868+ sha256 = "0gmrk1giabr53imiwdflf6ykwpcj2q5zn3bynvrncnhivsbvaavy";
6969 }
7070 else
7171 throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
···22, fetchFromGitHub
33, meson
44, python3Packages
55-, pkgconfig
65, ninja
76, gtk3
87, wrapGAppsHook
···16151716python3Packages.buildPythonApplication rec {
1817 pname = "gtg";
1919- version = "0.4";
1818+ version = "unstable-2020-08-02";
20192120 src = fetchFromGitHub {
2222- owner = "getting-things-gnome";
2323- repo = "gtg";
2424- rev = "6623731f301c1b9c7b727e009f4a6462ad381c68";
2525- sha256 = "14gxgg4nl0ki3dn913041jpyfhxsj90fkd55z6mmpyklhr8mwss1";
2121+ owner = "getting-things-gnome";
2222+ repo = "gtg";
2323+ rev = "6623731f301c1b9c7b727e009f4a6462ad381c68";
2424+ sha256 = "14gxgg4nl0ki3dn913041jpyfhxsj90fkd55z6mmpyklhr8mwss1";
2625 };
272628272928 nativeBuildInputs = [
3029 meson
3130 ninja
3232- pkgconfig
3131+ itstool
3232+ gettext
3333 wrapGAppsHook
3434 gobject-introspection
3535 ];
···3737 buildInputs = [
3838 glib
3939 gtk3
4040- itstool
4141- gettext
4240 pango
4341 gdk-pixbuf
4442 ];
···5048 dbus-python
5149 gst-python
5250 liblarch
5353- pyxdg # can probably be removed after next release
5451 ];
55525653 format = "other";
5757- strictDeps = false;
5454+ strictDeps = false; # gobject-introspection does not run with strictDeps (https://github.com/NixOS/nixpkgs/issues/56943)
58555956 meta = with stdenv.lib; {
6060- description = "
6161- Getting Things GNOME! (GTG) is a personal tasks and TODO-list items organizer for the GNOME desktop environment and inspired by the ''Getting Things Done'' (GTD) methodology.
6262- ";
6363- longDescription = "
6464- GTG is designed with flexibility, adaptability, and ease of use in mind so it can be used as more than just GTD software.
5757+ description = " A personal tasks and TODO-list items organizer.";
5858+ longDescription = ''
5959+ "Getting Things GNOME" (GTG) is a personal tasks and ToDo list organizer inspired by the "Getting Things Done" (GTD) methodology.
6560 GTG is intended to help you track everything you need to do and need to know, from small tasks to large projects.
6666- ";
6161+ '';
6762 homepage = "https://wiki.gnome.org/Apps/GTG";
6863 downloadPage = "https://github.com/getting-things-gnome/gtg/releases";
6964 license = licenses.gpl3Only;
7065 maintainers = with maintainers; [ oyren ];
7171- platforms = [ "x86_64-linux" ];
6666+ platforms = platforms.linux;
7267 };
7368}
+21-10
pkgs/applications/office/ledger/default.nix
···11-{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr, libedit, python
11+{ stdenv, lib, fetchFromGitHub, cmake, boost, gmp, mpfr, libedit, python
22, texinfo, gnused, usePython ? true }:
3344stdenv.mkDerivation rec {
55 pname = "ledger";
66- version = "3.1.3";
66+ version = "3.2.1";
7788 src = fetchFromGitHub {
99 owner = "ledger";
1010 repo = "ledger";
1111 rev = "v${version}";
1212- sha256 = "0bfnrqrd6wqgsngfpqi30xh6yy86pwl25iwzrqy44q31r0zl4mm3";
1212+ sha256 = "0x6jxwss3wwzbzlwmnwb8yzjk8f9wfawif4f1b74z2qg6hc4r7f6";
1313 };
1414+1515+ outputs = [ "out" "dev" ];
14161517 buildInputs = [
1618 (boost.override { enablePython = usePython; })
1717- gmp mpfr libedit python texinfo gnused
1919+ gmp mpfr libedit python gnused
1820 ];
19212020- nativeBuildInputs = [ cmake ];
2222+ nativeBuildInputs = [ cmake texinfo ];
21232224 enableParallelBuilding = true;
23252426 cmakeFlags = [
2527 "-DCMAKE_INSTALL_LIBDIR=lib"
2628 "-DBUILD_DOCS:BOOL=ON"
2727- (stdenv.lib.optionalString usePython "-DUSE_PYTHON=true")
2828- ];
2929+ (lib.optionalString usePython "-DUSE_PYTHON=true")
3030+ ] ++ lib.optionals (usePython && stdenv.isDarwin) [
3131+ # Fix python lookup on Darwin. Not necessary after
3232+ # https://github.com/NixOS/nixpkgs/pull/94090 lands in master
3333+ "-DPython_ROOT_DIR=${python}"
3434+ ];
29353030- postBuild = ''
3131- make doc
3636+ # by default, it will query the python interpreter for it's sitepackages location
3737+ # however, that would write to a different nixstore path, pass our own sitePackages location
3838+ prePatch = lib.optionalString usePython ''
3939+ substituteInPlace src/CMakeLists.txt \
4040+ --replace 'DESTINATION ''${Python_SITEARCH}' 'DESTINATION "${python.sitePackages}"'
3241 '';
33423434- meta = with stdenv.lib; {
4343+ installTargets = [ "doc" "install" ];
4444+4545+ meta = with lib; {
3546 homepage = "https://ledger-cli.org/";
3647 description = "A double-entry accounting system with a command-line reporting interface";
3748 license = licenses.bsd3;
···13131414# Enable libfabric support (necessary for Omnipath networks) on x86_64 linux
1515, fabricSupport ? stdenv.isLinux && stdenv.isx86_64
1616-1716}:
18171918assert !cudaSupport || cudatoolkit != null;
···5958 "--with-libnl=${libnl.dev}"
6059 "--with-pmix=${pmix}"
6160 "--with-pmix-libdir=${pmix}/lib"
6161+ "--enable-mpi-cxx"
6262 ] ++ lib.optional enableSGE "--with-sge"
6363 ++ lib.optional enablePrefix "--enable-mpirun-prefix-by-default"
6464 # TODO: add UCX support, which is recommended to use with cuda for the most robust OpenMPI build
···365365 sha256 = "0fx8698k71vzr8pdc6q8bsbzg6r8a42s4hkzmiyv13ibmyb5q68k";
366366 })
367367 (fetchNuGet {
368368+ name = "Microsoft.Diagnostics.NETCore.Client";
369369+ version = "0.2.61701";
370370+ sha256 = "1ic1607jj4ln8dbibf1fz5v9svk9x2kqlgvhndc6ijaqnbc4wcr1";
371371+ })
372372+ (fetchNuGet {
368373 name = "Microsoft.Diagnostics.Runtime";
369369- version = "1.1.127808";
370370- sha256 = "14xhiw6h5ck444vrmj79r0ral4dvcrak02ib0v7z0qx2c69vkdmc";
374374+ version = "2.0.137201";
375375+ sha256 = "0cfsd8nn6y30bqzx1pf9xi29jnxap1fgk720zdpz93kqzqv8r0vc";
371376 })
372377 (fetchNuGet {
373378 name = "Microsoft.DotNet.PlatformAbstractions";
···581586 })
582587 (fetchNuGet {
583588 name = "ppy.osu.Framework";
584584- version = "2020.723.0";
585585- sha256 = "19cijwky9rq77ba1kpgihl46jclif30bkhnpfj4x17bhwc4f8cs6";
589589+ version = "2020.806.0";
590590+ sha256 = "1d4aprz81xbhk5addl1n7jwj8xxny51s6nvpn37alld0x6n7k8nv";
586591 })
587592 (fetchNuGet {
588593 name = "ppy.osu.Framework.NativeLibs";
···591596 })
592597 (fetchNuGet {
593598 name = "ppy.osu.Game.Resources";
594594- version = "2020.715.0";
595595- sha256 = "1d1zx6n6z1gjvmw12z29hsy9g0iqqipfgs125zmy4ydsx09xb6vc";
599599+ version = "2020.731.0";
600600+ sha256 = "1q58c627p0yz6b2y4c1hrrr4l9hii418y1vk6hv24x1csdsf3x8p";
596601 })
597602 (fetchNuGet {
598603 name = "ppy.osuTK.NS20";
···716721 })
717722 (fetchNuGet {
718723 name = "Sentry";
719719- version = "2.1.4";
720720- sha256 = "11pb6zpgjypfjy5g51anznngr8hcspkj1swgj9rhz8y1dcv5aba7";
724724+ version = "2.1.5";
725725+ sha256 = "094rhsn5rfk7f2ygk6jgv3cq01gv3a8lnqa85l593ys3957j0qhs";
721726 })
722727 (fetchNuGet {
723728 name = "Sentry.PlatformAbstractions";
724724- version = "1.1.0";
725725- sha256 = "19grscddh2ipp1q7hx3a3bckpxgpfxfffp2shc32jryqyxsba87y";
729729+ version = "1.1.1";
730730+ sha256 = "10mxyxmyjpr0y1ik2j55pp7ifn101sw319cbpf28i2xbfp0cvcaj";
726731 })
727732 (fetchNuGet {
728733 name = "Sentry.Protocol";
729729- version = "2.1.4";
730730- sha256 = "0mm1a7vxl4raka1917sqshbbxvrf5sxmcba7hjwrmz13cx86l6v0";
734734+ version = "2.1.5";
735735+ sha256 = "1yjgn6na14rr6crmm886x597h9gdjyasgxx3n9m3zn7ig8726mpg";
731736 })
732737 (fetchNuGet {
733738 name = "SharpCompress";
···736741 })
737742 (fetchNuGet {
738743 name = "SharpCompress";
739739- version = "0.25.1";
740740- sha256 = "0nkfflf1wnwgx1n52scnvq38q25khimjz67nwralipgrmwnynnr9";
744744+ version = "0.26.0";
745745+ sha256 = "03cygf8p44j1bfn6z9cn2xrw6zhvhq17xac1sph5rgq7vq2m5iq5";
741746 })
742747 (fetchNuGet {
743748 name = "SharpFNT";
···825830 sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c";
826831 })
827832 (fetchNuGet {
833833+ name = "System.Buffers";
834834+ version = "4.5.1";
835835+ sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3";
836836+ })
837837+ (fetchNuGet {
828838 name = "System.Collections";
829839 version = "4.0.11";
830840 sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
···850860 sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06";
851861 })
852862 (fetchNuGet {
863863+ name = "System.Collections.Immutable";
864864+ version = "1.7.1";
865865+ sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
866866+ })
867867+ (fetchNuGet {
853868 name = "System.ComponentModel.Annotations";
854869 version = "4.5.0";
855870 sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p";
···10751090 sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
10761091 })
10771092 (fetchNuGet {
10931093+ name = "System.Memory";
10941094+ version = "4.5.4";
10951095+ sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
10961096+ })
10971097+ (fetchNuGet {
10781098 name = "System.Net.Http";
10791099 version = "4.1.0";
10801100 sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
···11831203 name = "System.Reflection.Metadata";
11841204 version = "1.6.0";
11851205 sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
12061206+ })
12071207+ (fetchNuGet {
12081208+ name = "System.Reflection.Metadata";
12091209+ version = "1.8.1";
12101210+ sha256 = "17xxl3m99wa4hcpqy42vl8qb1jk2jfq32rj3sfjc1a46hi2si5jj";
11861211 })
11871212 (fetchNuGet {
11881213 name = "System.Reflection.Primitives";
+69
pkgs/games/sfrotz/default.nix
···11+{ fetchFromGitLab
22+, freetype
33+, libao
44+, libjpeg
55+, libmodplug
66+, libpng
77+, libsamplerate
88+, libsndfile
99+, libvorbis
1010+, pkg-config
1111+, SDL2
1212+, SDL2_mixer
1313+, stdenv
1414+, zlib }:
1515+1616+stdenv.mkDerivation rec {
1717+ pname = "sfrotz";
1818+ version = "2.52";
1919+2020+ src = fetchFromGitLab {
2121+ domain = "gitlab.com";
2222+ owner = "DavidGriffith";
2323+ repo = "frotz";
2424+ rev = version;
2525+ sha256 = "11ca1dz31b7s5vxjqncwjwmbbcr2m5v2rxjn49g4gnvwd6mqw48y";
2626+ };
2727+2828+ buildInputs = [
2929+ freetype
3030+ libao
3131+ libjpeg
3232+ libmodplug
3333+ libpng
3434+ libsamplerate
3535+ libsndfile
3636+ libvorbis
3737+ SDL2
3838+ SDL2_mixer
3939+ zlib
4040+ ];
4141+ nativeBuildInputs = [ pkg-config ];
4242+ makeFlags = [ "PREFIX=${placeholder "out"}" ];
4343+ buildPhase = "make sdl";
4444+ installTargets = [ "install_sfrotz" ];
4545+4646+ meta = with stdenv.lib; {
4747+ description =
4848+ "Interpreter for Infocom and other Z-Machine games (SDL interface)";
4949+ longDescription = ''
5050+ Frotz is a Z-Machine interpreter. The Z-machine is a virtual machine
5151+ designed by Infocom to run all of their text adventures. It went through
5252+ multiple revisions during the lifetime of the company, and two further
5353+ revisions (V7 and V8) were created by Graham Nelson after the company's
5454+ demise. The specification is now quite well documented; this version of
5555+ Frotz supports version 1.0.
5656+5757+ This version of Frotz fully supports all these versions of the Z-Machine
5858+ including the graphical version 6. Graphics and sound are created through
5959+ the use of the SDL libraries. AIFF sound effects and music in MOD and OGG
6060+ formats are supported when packaged in Blorb container files or optionally
6161+ from individual files.
6262+ '';
6363+ homepage = "https://davidgriffith.gitlab.io/frotz/";
6464+ changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${version}/NEWS";
6565+ license = licenses.gpl2;
6666+ maintainers = with maintainers; [ ddelabru ];
6767+ platforms = platforms.linux;
6868+ };
6969+}