1
0
Fork 0
mirror of https://github.com/LnL7/nix-darwin.git synced 2024-12-15 17:51:01 +00:00
Commit graph

34 commits

Author SHA1 Message Date
Emily
58b905ea87
Merge pull request #716 from tmillr/fix-launchd-calendar-interval
fix(launchd): improve `StartCalendarInterval`
2024-06-15 09:40:58 +01:00
Tyler Miller
861af0fc94
fix(launchd): improve StartCalendarInterval
Stricter launchd -> StartCalendarInterval type:

- Verify that the integers passed to `Minute`, `Hour`, etc. are within
  range.

- When provided, the value for StartCalendarInterval must be a non-empty
  list of calendar intervals and must not contain duplicates entries
  (throw an error otherwise).

- For increased flexibility and backwards-compatibility, allow an
  attrset to be passed as well (which will be type-checked and is
  functionally equivalent to passing a singleton list). Allowing an
  attrset or list is precisely in-line with what `launchd.plist(5)`
  accepts for StartCalendarInterval.

Migrate `nix.gc.interval` and `nix.optimise.interval` over to use this
new type, and update their defaults to run weekly instead of daily.

Create `modules/launchd/types.nix` file for easier/modular use of
launchd types needed in multiple files.

Documentation:

- Update and improve wording/documentation of launchd's
  `StartCalendarInterval`.

- Improve wording/documentation of `nix.gc.interval` and
  `nix.optimise.interval` ("time interval" can be misleading as it's
  actually a "calendar interval"; e.g. `{ Hour = 3; Minute = 15;}`
  runs daily, not every 3.25 hours).
2024-06-09 11:20:15 -07:00
Enno Richter
9ed6009b21 launchd: add LowPriorityBackgroundIO config 2024-06-05 06:40:05 +02:00
Weijia Wang
def1e23be8 treewide: remove lib.mdDoc 2024-04-19 04:05:50 +02:00
Thane Gill
3a9755f98d Use nixpkgs generators.toPlist for launchd service generation.
Fixes #93
2024-01-27 17:09:41 -08:00
Thane Gill
6b27542e86 Allow launchd serivceConfig.LimitLoadToSessionType to be a list
Per: https://developer.apple.com/library/archive/technotes/tn2083/_index.html#:~:text=If%20you%20want%20to%20run%20in%20more%20than%20one%20session%20type%2C%20you%20can%20set%20LimitLoadToSessionType%20to%20an%20array%2C%20where%20each%20element%20is%20a%20session%20type%20string.

LimitLoadToSessionType can also be an array if more than one session type is desired.
2024-01-19 15:45:52 -08:00
Carl Thomé
59bef44059
Fix type error
```
error: A definition for option `launchd.user.agents.[...].serviceConfig.StartCalendarInterval' is not of type `null or (list of (submodule))'. Definition values:
       - In `<unknown-file>':
           {
             Hour = 0;
             Minute = 0;
           }
```
2023-12-30 23:47:20 +01:00
Emily
e65131e69c treewide: convert all option docs to Markdown
This process was automated by [my fork of `nix-doc-munge`]; thanks
to @pennae for writing this tool! It automatically checks that the
resulting documentation doesn't change, although my fork loosens
this a little to ignore some irrelevant whitespace and typographical
differences.

As of this commit there is no DocBook remaining in the options
documentation.

You can play along at home if you want to reproduce this commit:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/c1bca7fe84c646cfd4ebf3482c0e6317a0b13f22 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run github:emilazy/nix-doc-munge/0a7190f600027bf7baf6cb7139e4d69ac2f51062 \
      {} +

[my fork of `nix-doc-munge`]: https://github.com/emilazy/nix-doc-munge
2023-06-24 10:48:55 +01:00
Emily
efe314cdba treewide: manually convert some docs to Markdown
These all use DocBook markup too complex for `nix-doc-munge` to handle,
have syntax that clashes with Markdown, or already contain Markdown
syntax that currently isn't rendering correctly.

Converting DocBook list syntax makes me think that maybe Markdown
isn't so bad after all.
2023-06-24 10:48:55 +01:00
Quentin Smith
73ab8e0d70 Add/fix some launchd.plist options 2023-04-19 16:09:53 -04:00
Domen Kožar
14a12e9ee7
Merge pull request #499 from Enzime/karabiner-elements
Karabiner-Elements
2022-09-19 13:32:50 +01:00
Malo Bourgon
241d88ed20 Fix launchd options description oddities 2022-08-29 16:09:38 -07:00
Michael Hoang
176c446b97 launchd: add extra KeepAlive options 2022-08-25 00:39:14 +10:00
Ruben Maher
11c98bfad4
feat: add serviceConfig.LaunchEvents configuration option
This is required if you want to register an "xpc event stream handler". Check
out the README for https://github.com/snosrap/xpc_set_event_stream_handler for
more info.
2022-04-17 10:45:22 +09:00
Mario Rodas
a34dea283c Remove deprecated types.loaOf
types.loaOf has been deprecated for a long time and is now in the
process of removal. See: https://github.com/NixOS/nixpkgs/pull/96042
2020-09-02 04:20:00 +00:00
Wael M. Nasreddine
cee84f4ea0 launchd: allow customization of the default launchd prefix 2020-04-14 15:01:37 -07:00
Daiderd Jordan
403e432746
launchd: fix type of inetdCompatibility 2018-01-01 23:03:11 +01:00
Daiderd Jordan
061232c6db
launchd: improve descriptions 2017-10-19 21:55:37 +02:00
Daiderd Jordan
91a6785102
nixpkgs: change loeOf to listOf 2017-10-06 19:57:47 +02:00
Daiderd Jordan
7ca9f3d5bb
launchd: add script option for services 2017-05-15 08:34:53 +02:00
Daiderd Jordan
264a9237dd
launchd: add options for setting launchd environment variables
Fixes #12
2017-05-14 00:34:34 +02:00
Daiderd Jordan
a4eb645d0d
launchd: allow string entries for serviceOptions.path
Fixes evaluation of khd.
2017-05-14 00:12:20 +02:00
Daiderd Jordan
a12b9def6c launchd: fix types for StartCalendarInterval 2017-03-05 20:39:48 +01:00
Daiderd Jordan
0eb8384f0a
fix khd service 2017-01-25 22:50:12 +01:00
Daiderd Jordan
0cbdc2f8f9
launchd: add user agents 2017-01-25 22:35:06 +01:00
Daiderd Jordan
d014ed2445
launchd: add command, path and environment options 2017-01-25 21:16:53 +01:00
Daiderd Jordan
e91ffd0ff3
add KeepAlive submodule for launchd.<name>.serviceConfig 2016-12-14 21:03:27 +01:00
Daiderd Jordan
9a5af2ee4a
fix system activation service 2016-12-03 22:44:36 +01:00
Daiderd Jordan
fecd4bc368
improve launchd activation scripts 2016-12-01 23:56:20 +01:00
Daiderd Jordan
c095042732
launchd: add nested options 2016-11-30 23:48:56 +01:00
Daiderd Jordan
7ac68a8629
launchd: properly generate plist files 2016-11-30 23:12:06 +01:00
Daiderd Jordan
81b8a44e40
add /Library/LaunchDaemons to system 2016-11-07 21:00:23 +01:00
Daiderd Jordan
43495a4961
added activation script for launchd.daemon.nix-daemon 2016-11-06 23:53:08 +01:00
Daiderd Jordan
5063a360ea
add launchd module 2016-11-01 22:54:20 +01:00