summaryrefslogtreecommitdiff
path: root/modules/launchd/launchd.nix
AgeCommit message (Collapse)Author
2024-06-15Merge pull request #716 from tmillr/fix-launchd-calendar-intervalEmily
fix(launchd): improve `StartCalendarInterval`
2024-06-09fix(launchd): improve `StartCalendarInterval`Tyler Miller
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-05launchd: add LowPriorityBackgroundIO configEnno Richter
2024-04-19treewide: remove lib.mdDocWeijia Wang
2024-01-19Allow launchd serivceConfig.LimitLoadToSessionType to be a listThane Gill
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.
2023-12-30Fix type errorCarl Thomé
``` 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-06-24treewide: convert all option docs to MarkdownEmily
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-24treewide: manually convert some docs to MarkdownEmily
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-04-19Add/fix some launchd.plist optionsQuentin Smith
2022-09-19Merge pull request #499 from Enzime/karabiner-elementsDomen Kožar
Karabiner-Elements
2022-08-29Fix launchd options description odditiesMalo Bourgon
2022-08-25launchd: add extra KeepAlive optionsMichael Hoang
2022-04-17feat: add serviceConfig.LaunchEvents configuration optionRuben Maher
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.
2020-09-02Remove deprecated types.loaOfMario Rodas
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
2018-01-01launchd: fix type of inetdCompatibilityDaiderd Jordan
2017-10-19launchd: improve descriptionsDaiderd Jordan
2017-03-05launchd: fix types for StartCalendarIntervalDaiderd Jordan
2016-12-14add KeepAlive submodule for launchd.<name>.serviceConfigDaiderd Jordan
2016-11-30launchd: add nested optionsDaiderd Jordan
2016-11-01add launchd moduleDaiderd Jordan