1
1
mirror of https://github.com/LnL7/nix-darwin.git synced 2024-09-11 20:57:21 +03:00
Commit Graph

1525 Commits

Author SHA1 Message Date
Vincent Haupert
06f5dab065 github-runners: adapt to NixOS module
While #859 added basic support for configuring GitHub runners through
nix-darwin, it did not yet support all of the options the NixOS module
offers.

I am aware that this is a rather big overhaul. I think, however, that
it's worth it:

- Copies the `options.nix` from the [NixOS module] with only minor
  adaptations. This should help to keep track of any changes to it.
- Respect the `workDir` config option. So far, the implementation didn't
  even read the value of the option.
- Allow configuring a custom user and group.
  If both are `null`, nix-darwin manages the `_github-runner` user
  shared among all instances. Take care of creating your own users if
  that's not what you want.
- Also creates the necessary directories for state, logs and the working
  directory (unless `workDir != null`). It uses the following locations:
    * state: `/var/lib/github-runners/${name}`
    * logs: `/var/log/github-runners/${name}`
    * work: The value of `workDir` or `/var/run/github-runners/${name}`
            if (`workDir == null`).
  We have to create the logs directory before starting the service since
  launchd expects that the `Standard{Error,Out}Path` exist. We do this
  by prepending to [`system.activationScripts.launchd.text`].
  All directories belong to the configured `user` and `group`.
- Warn if a `tokenFile` points to the Nix store.

[NixOS module]: https://github.com/NixOS/nixpkgs/blob/3c30c56/nixos/modules/services/continuous-integration/github-runner/options.nix
[`system.activationScripts.launchd.text`]: https://github.com/LnL7/nix-darwin/blob/bbde06b/modules/system/launchd.nix#L99-L123
2024-02-28 09:40:25 +01:00
Domen Kožar
0e6857fa1d
Merge pull request #859 from yaxitech/github-runner
github-runners: init module
2024-02-18 04:48:38 +00:00
Michael Hoang
44f50a5eca
Merge pull request #866 from Samasaur1/master
security.sudo.extraConfig: init
2024-02-12 13:08:09 +10:00
Sam
37eb625dd4
security.sudo.extraConfig: init 2024-02-11 14:16:23 -08:00
Michael Hoang
bdbae6ecff
Merge pull request #863 from nrabulinski/no-yabai-ifd
services/yabai: Remove IFD
2024-02-02 10:26:16 +10:00
Nikodem Rabuliński
4363d3b42f
services/yabai: Remove IFD
enableScriptingAddition no longer triggers IFD
by using runCommand to generate sudoers.d/yabai,
instead of builtins.hashFile and interpolating the string in nix.
2024-02-01 23:06:13 +01:00
Michael Hoang
91b9daf672
Merge pull request #780 from kalbasit/update_yabai_sa_script
services/yabai: Remove --check-sa and --install-sa flags
2024-01-30 12:32:45 +10:00
Michael Hoang
00538eecf2
Merge pull request #861 from thanegill/darwin-rebuild-completions
Add zsh completions to darwin-rebuld by default
2024-01-29 13:03:01 +10:00
Thane Gill
492944b0f2
Update darwin-rebuild.zsh-completions
Co-authored-by: Michael Hoang <Enzime@users.noreply.github.com>
2024-01-28 18:12:36 -08:00
Thane Gill
0f0478efa6 Add zsh completions to darwin-rebuld by default 2024-01-27 19:37:27 -08:00
Michael Hoang
0108864c15
Merge pull request #860 from thanegill/use-nixpkgs-lib.generators.toPlist
Use nixpkgs generators.toPlist for launchd service generation
2024-01-28 11:24:25 +10:00
Thane Gill
3a9755f98d Use nixpkgs generators.toPlist for launchd service generation.
Fixes #93
2024-01-27 17:09:41 -08:00
Michael Hoang
1e706ef323
Merge pull request #857 from thanegill/patch-2
Allow launchd serivceConfig.LimitLoadToSessionType to be a list
2024-01-22 19:29:28 +10:00
Vincent Haupert
21b92addaf github-runners: init module
Adds a new module which allows to configure multiple GitHub self-hosted
runners on Darwin. The module is heavily inspired by the nixpkgs NixOS
module. Its implementation differs in some ways:

- There's currently no way to configure the user/group which runs the
  runner. All configured runners share the same user and group.
- No automatic cleanup.
- No advanced sandboxing apart from user/group isolation
2024-01-22 10:27:11 +01:00
Michael Hoang
91c19ab206
Merge pull request #858 from mrdomino/compinit
Add option to disable zsh global compinit
2024-01-21 20:39:10 +10:00
Jōshin
a3be68d105
Add option to disable zsh global compinit
Fixes #855.
2024-01-21 03:24:00 -05:00
Michael Hoang
3ac7acd32d
Merge pull request #854 from kallisti-dev/fix/network-names-shell-escapes
fix shell escaping in networking config
2024-01-21 10:14:09 +10:00
Michael Hoang
983bd5125d
Merge pull request #818 from hraban/chsh
fix: user shell path handling
2024-01-21 10:10:48 +10:00
Hraban Luyat
f1d47fc2dd fix: set shell for new users, and only known ones 2024-01-20 11:03:15 -05:00
Hraban Luyat
888533c35f fix: user shell path handling
Properly detect the binary name (not just /nix/store/...-bash, but include the
.../bin/bash), and use the symlinked name which also appears in /etc/shells.
2024-01-20 11:03:15 -05: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
Adam Curtis
5cec74dae1 fix shell escaping in networking config 2024-01-19 12:16:32 -05:00
Michael Hoang
74ab0227ee
Merge pull request #851 from XMLHexagram/patch-1
Add type definition on fonts.fontDir.enable
2024-01-17 10:44:49 +10:00
XMLHexagram
4051e3027d
Add type definition on fonts.fontDir.enable 2024-01-16 21:07:41 +08:00
Michael Hoang
44a6ec1fae
Merge pull request #850 from tfc/master
linux-builder: Add `ephemeral` option to delete VM's disk image on service restart
2024-01-16 08:06:44 +10:00
Jacek Galowicz
c4ea346d0f Dedupe the WorkingDirectory path of the linux-builder 2024-01-15 13:51:34 +01:00
Michael Hoang
0dd382b70c
Merge pull request #820 from mhumeSF/reduce-motion
Add `universalaccess.reduceMotion` option
2024-01-03 10:28:40 +00:00
Mike Hume
4a4542ba89 Adding test 2024-01-02 22:58:18 -10:00
Michael Hoang
1a41453cba
Merge pull request #841 from carlthome/patch-1
Fix type error
2023-12-31 12:41:07 +10: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
Michael Hoang
0a3afdc600
Merge pull request #839 from khaneliman/mouse-scaling
GlobalPreferences: fix mouse scaling example
2023-12-30 08:03:57 +10:00
Austin Horstman
f6cf46f7bc
GlobalPreferences: fix mouse scaling example 2023-12-29 14:09:38 -06:00
Michael Hoang
8a8321271f
Merge pull request #838 from moni-dz/deprecate-string-float
Use native floats for mouse scaling
2023-12-27 13:55:38 +10:00
fortuneteller2k
9acb5b1adc Use native floats for mouse scaling 2023-12-27 11:30:04 +08:00
Domen Kožar
f454cff5fe
Merge pull request #837 from Enzime/add/shells
etc: add known hash for `/etc/shells`
2023-12-24 10:54:00 +00:00
Michael Hoang
850eabce44 etc: add known hash for /etc/shells 2023-12-23 22:41:58 +11:00
Michael Hoang
010a625bd7
Merge pull request #831 from rkitover/high-sierra-fix
darwin-rebuild: fix sudo invocation on High Sierra
2023-12-23 04:53:21 +10:00
Rafael Kitover
f81fbc2bf7
darwin-rebuild: fix sudo invocation on High Sierra
The version of sudo on macOS 10.13 High Sierra does not support the
`--preserve-env=LIST` option syntax, which is used here to preserve
PATH.

Override sudo with a shell function that checks for the availability of
this option syntax, and do not pass PATH otherwise.

Also move the prefix env command in the sudo invocations into the new
sudo function.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-12-22 14:40:13 +00:00
Mike Hume
6c40798934 Adding reduce motion option 2023-12-01 15:10:10 -05:00
Michael Hoang
4b9b83d5a9
Merge pull request #806 from DeterminateSystems/easier-uninstall
Install darwin-uninstall by default, which includes the 'empty' config it switches to
2023-11-24 14:11:34 +11:00
Domen Kožar
7e8d292728
Merge pull request #819 from Enzime/update-nix
fix: tests failing to build on unstable Nix
2023-11-24 00:10:37 +01:00
Michael Hoang
49ae6b92ff fix: tests failing to build on unstable Nix
Use Nix 2.13.6 which is the default version for NixOS 23.05.
2023-11-24 09:53:59 +11:00
Domen Kožar
c465a67a54
Merge pull request #809 from Enzime/more-hashes
etc: add more known hashes
2023-11-23 10:46:16 +01:00
Michael Hoang
6e0f4e58a6
Merge pull request #814 from aeolyus/master
[yabai] Configure scripting addition
2023-11-23 14:31:04 +11:00
Michael Hoang
fb9ed3f053
Merge pull request #810 from vegabook/issue_802_readme_flakes
Add flakes section reference in Installation section
2023-11-23 10:46:55 +11:00
vegabook
319104a125 Improve flakes documentation in README
Co-Authored-By: Michael Hoang <enzime@users.noreply.github.com>
2023-11-23 10:31:55 +11:00
Richard Huang
892482250c
[yabai] Configure scripting addition
Allow admins to execute `yabai --load-sa` as the root user without
having to enter a password
2023-11-18 21:01:01 -08:00
Graham Christensen
09284ab00b Install darwin-uninstall by default, which includes the 'empty' config it switches to
Co-Authored-By: Michael Hoang <enzime@users.noreply.github.com>
2023-11-16 17:47:24 +11:00
Michael Hoang
d4efdb7f88 etc: add more known hashes
This should be less of an issue as of DetSys' nix-installer 0.15.0 which
no longer includes the version number in `nix.conf`.
2023-11-16 14:26:25 +11:00
Michael Hoang
e67f2bf515
Merge pull request #803 from felixscheinost/fix-unbound-variable-etcProblems
Fix unbound variable `etcProblems`
2023-11-13 20:32:58 +11:00