Commit Graph

1218 Commits

Author SHA1 Message Date
Herwig Hochleitner
13364f124a cdemu: fix service setup
closes https://github.com/NixOS/nixpkgs/issues/154613
2023-10-10 00:23:27 +02:00
Thiago Kenji Okada
e7a621f8e9
Merge pull request #259066 from thiagokokada/add-renice-sway
nixos/sway: add enableRealtime option
2023-10-09 19:53:51 +01:00
Michele Guerini Rocco
2e54187399
Merge pull request #258347 from Benjamin-L/gnupg-agent-extraconfig
nixos/gnupg: add agent.settings option
2023-10-09 11:12:55 +02:00
Benjamin Lee
f0a8e05a5d
nixos/gnupg: add agent.settings option 2023-10-05 18:43:23 -07:00
Thiago Kenji Okada
63fce4ce48 nixos/sway: add enableRealtime option
This option wraps the `sway` binary to allow it to request realtime
scheduling (SCHED_RR). This allow for possible lower latency, specially
when the system is under high load.

Available since Sway 1.8. See:
- https://github.com/swaywm/sway/pull/6994
- https://github.com/swaywm/sway/releases/tag/1.8
2023-10-05 15:26:47 +01:00
Maximilian Bosch
4305d167a2
Merge pull request #256407 from Ma27/motd-ordering
nixos/rust-motd: allow ordering sections
2023-10-04 19:25:18 +02:00
edef
77225e33c0
Merge pull request #248627 from edef1c/gpg-agent-sockets 2023-10-04 12:32:29 -04:00
Alyssa Ross
dc439e41db nixos/environment: move XDG_CONFIG_DIRS to sessionVariables
Otherwise, in non-interactive contexts (e.g. systemd units), this
entry (the default) won't be in the list.  Only the profile relative
ones would be, since they were already using session variables.  This
is clearly not the correct behavior.
2023-10-02 18:47:48 +00:00
Ryan Lahfa
6f4a420057
Merge pull request #257719 from CardboardTurkey/regreet-fix-group 2023-10-02 13:28:37 +02:00
K900
e53c99eb17 treewide: use pkgs.config instead of config.nixpkgs.config
`pkgs` may be passed in externally, in which case `config.nixpkgs.config` will not be set.

Follow-up to #257458.
2023-10-01 20:48:40 +03:00
K900
eb8ce7930d
Merge pull request #257458 from K900/die-nixpkgs-config-die
treewide: fail when `nixpkgs.config` is set with explicit `pkgs`, remove all `nixpkgs.config` usages in in-tree modules
2023-10-01 10:11:15 +03:00
Maximilian Bosch
57de6a8550
nixos/rust-motd: refactor assertion and TOML generation
* `sort (<)` also works for strings (TIL!), so no need for comparing
  length and whether all keys from `cfg.settings` exist in `cfg.order`
  (slightly less overhead).

* Don't build another piece of JSON (`orderedSections`), simply use
  `cfg.settings`/`cfg.order` with `__structuredAttrs` to ensure a
  properly ordered TOML.

  This also has the upside of not having to do quote hackery.

* Also, a freeform submodule isn't strictly needed because we don't have
  any special options defined, so replacing that with
  `attrsOf format.type`.

Co-authored-by: Silvan Mosberger <github@infinisil.com>
2023-09-29 11:13:27 +02:00
Sandro Jäckel
5b9cdda1c2
nixos/nano: add enable, package option, do not create /etc/nanorc by default
and remove nano from environment.defaultPackages. In addition also cleanup the file in general.

This is a follow up to #220481

Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
2023-09-29 00:24:34 +02:00
Kiran Ostrolenk
eb2c136196
regreet: fix user group in tmpfiles rules
Prior to this commit the derivation assumed a user's primary group has
the same name as the user themselves. This is standard on linux but not
necessary (and indeed I believe not the default on NixOS).

Closes #232184
2023-09-27 22:00:42 +01:00
Maximilian Bosch
d77b59b41d
nixos/rust-motd: use a second attribute (order) for the of sections in TOML
Rather than using `priority` with `sortProperties`, a new option called
`order` defines the ordering of the sections. I.e.

    order = [ "global" "uptime" "banner" ]

means that `uptime` comes before `banner`. Please note that `global` is
for global settings and not a section. I figured that it'd be too much
magic to hide this in the implementation and ask the user to specify the
order of _each_ section in `settings` instead.

OTOH this makes the intent way clearer than priorities. Also, this
remains opt-in, the option defaults to `attrNames cfg.settings`, i.e.
all sections ordered alphabetically.
2023-09-26 23:28:40 +02:00
K900
d3c27efa36 nixos/firefox: remove nixpkgs.config usage 2023-09-26 18:02:01 +03:00
Artturi
87ee3c4fdf
Merge pull request #176886 from hyperfekt/nonderivation_fish-completion 2023-09-23 06:28:23 +03:00
Maximilian Bosch
214cf0b934
nixos/rust-motd: .attrs.json -> "$NIX_ATTRS_JSON_FILE"
That way the derivation can also be built in a `nix-shell` where
`.attrs.json` isn't under "$NIX_BUILD_TOP".
2023-09-21 13:17:13 +02:00
Maximilian Bosch
11376df6d4
nixos/rust-motd: allow ordering sections by priority
Closes #234802

The problem here is that with e.g.

    {
      uptime.prefix = "Up";
      banner.command = "hostname | figlet -f slant";
    }

`banner` still appears before `uptime` in the final motd text because
Nix sorts attribute names alphabetically internally.

To work around this without breaking compatibility or losing the
property to override individual sections in other modules - e.g.

    {
      banner.color = mkForce "blue";
    }

I decided to introduce an option `priority` here, similar to the
priority field for `nginx`[1] and with the same semantics (i.e. higher
value means lower priority).

Internally a bunch of env vars are generated, i.e. `env0` to `envN` for
`N` sections with each of them containing a declaration for the TOML,
i.e. `env0` contains `{ uptime.prefix = "Up"; }` and `env1` contains
`{ banner.command = "hostname | figlet -f slant"; }` if `uptime.priority`
is set to a value below 1000.

In this order, the declarations are concatenated together by `jq(1)`
which doesn't sort keys alphabetically which results in a JSON
representation with `uptime` before `banner`. This is finally piped to
`json2toml` which converts this into TOML for rust-motd.

[1] https://nixos.org/manual/nixos/unstable/options#opt-services.nginx.virtualHosts._name_.locations._name_.priority
2023-09-21 13:17:13 +02:00
Maximilian Bosch
0a71cf07a8
nixos/rust-motd: run once on bootup
That way e.g. the last login and uptime isn't completely bogus when
accessing a machine for the first time after a reboot.
2023-09-20 22:16:03 +02:00
Nick Cao
e8e461df5d
Merge pull request #254833 from NickCao/qt4-leftover
nixos/environment: drop QT_PLUGIN_PATH for qt4 and kde4 as they has b…
2023-09-19 10:08:27 -04:00
Nick Cao
315168eba4
nixos/environment: drop MOZ_PLUGIN_PATH
There are currently no references to MOZ_PLUGIN_PATH treewide in gecko[1].
And the support for this environment variable was dropped in 2019[2].

See also: https://bugzilla.mozilla.org/show_bug.cgi?id=1602308

[1] https://github.com/search?q=repo%3Amozilla%2Fgecko-dev+MOZ_PLUGIN_PATH&type=code
[2] https://hg.mozilla.org/mozilla-central/rev/9b4e603eb86a
2023-09-15 09:49:19 -04:00
tomf
e5d8baafcd
nixos/yubikey-touch-detector: init (#254947)
* nixos/yubikey-touch-detector: init

* nixos/yubikey-touch-detector: enable user socket
2023-09-14 20:15:32 +00:00
Mihai Fufezan
cef441709d nixos/hyprland: update portal override 2023-09-14 11:03:04 +02:00
Nick Cao
1ae69c5842
nixos/environment: drop KDEDIRS as a leftover from KDE4 2023-09-13 11:05:45 -04:00
Nick Cao
74c10dd002
Merge pull request #254941 from foo-dogsquared/update-clash-verge-docs
nixos/clash-verge: fix module descriptions
2023-09-13 09:01:24 -04:00
Gabriel Arazas
ffa538dfc4 nixos/clash-verge: fix module descriptions 2023-09-13 20:30:28 +08:00
linsui
840f02aa54 nixos/yazi: add to module-list.nix 2023-09-13 14:48:24 +08:00
Nick Cao
c463b4f200
nixos/environment: drop QT_PLUGIN_PATH for qt4 and kde4 as they has been removed 2023-09-12 18:43:09 -04:00
Fabián Heredia Montiel
8f711593fc
Merge pull request #254296 from Gerg-L/direnv
nixos/direnv: remove persistDerivations
2023-09-12 16:20:15 -05:00
nicoo
3222262ff1 nixos/bash: Drop workarounds for eterm 2023-09-12 13:10:41 +00:00
Gerg-L
59e48e33c4
nixos/direnv: remove persistDerivations 2023-09-09 17:24:43 -04:00
Weijia Wang
4fbea0f80b
Merge pull request #253071 from linsui/yazi
nixos/yazi: init
2023-09-07 22:57:22 +02:00
Weijia Wang
024c8c2bd4
Merge pull request #247618 from Majiir/streamdeck-ui-3.0.1
streamdeck-ui: 2.0.6 -> 3.0.1
2023-09-07 10:24:22 +02:00
Majiir Paktu
44813a8a61 streamdeck-ui: split desktop items 2023-09-06 21:38:23 -04:00
Niklas Hambüchen
5d778d1f03 Add programs.ecryptfs for mount wrappers.
The `ecryptfs` package refers to the setuid wrapper paths, but they do
not exist so far in NixOS.
2023-09-05 18:56:24 +00:00
linsui
6b2934d6e9 nixos/yazi: init 2023-09-03 17:28:12 +08:00
Jan Tojnar
434d160d7c
Merge pull request #234615 from linsui/dconf
nixos/dconf: support generating from attrs
2023-08-28 18:31:52 +02:00
Franz Pletz
da9db25ca4
Merge pull request #222515 from codedownio/tmux-run-plugins-last 2023-08-26 22:47:33 +02:00
Ilan Joselevich
0f95d1cfe1
Merge pull request #248748 from acid-bong/zshLsColors
nixos/zsh: add enableLsColors
2023-08-24 22:04:43 +03:00
Tobias Widmann
e4a62b0fd1 nixos/htop: fix boolean values in settings option
When generating htoprc, in order to be recognized by htop, a boolean value
of 'false' should be written as '0', not an empty string.
2023-08-20 00:10:24 +02:00
Lin Jian
1c704628dc
nixos/environment: stop setting ASPELL_CONF
We set[1] ASPELL_CONF to the last nix profile containing lib/aspell in
2013.  In 2017, aspell is patched[2] to search NIX_PROFILES, which
makes [1] not needed any more.

Deleting it is also agreed in this discussion[3].

[1]: 0192c02720
[2]: ba4cefe4ae
[3]: https://github.com/NixOS/nixpkgs/pull/30234
2023-08-16 09:18:45 +08:00
linsui
038d78d4ce nixos/dconf: add locks support 2023-08-15 19:20:39 +08:00
linsui
fb52d5df86 nixos/dconf: add settings support 2023-08-15 19:20:39 +08:00
linsui
cce75fa51e nixos/dconf: refractor
remove `with lib;`
profiles option now accepts packages in addition to paths.
profiles option is no longer internal.
cfgDir definition has been inlined.
pulled GIO_EXTRA_MODULES inside mkif.
removed pointless comments with section headings.
defined profiles are now turned into package, allowing to simplify the db update logic.
2023-08-15 19:20:39 +08:00
Acid Bong
c76bb0d58e
nixos/zsh: add enableLsColors
Borrowed from nixos/bash/ls-colors module
2023-08-12 20:53:05 +03:00
Maximilian Bosch
66ab687151
Merge pull request #248131 from Ma27/captive-browser-setcap
nixos/captive-browser: drop setcap wrapper for captive-browser
2023-08-12 14:52:38 +02:00
Ilan Joselevich
2393e099a6
Merge pull request #247008 from fufexan/hyprland
Update hyprwm packages and nixos/hyprland
2023-08-12 14:55:29 +03:00
edef
8131fc5ee6 nixos/gnupg: require sockets.target, not just gpg-agent.socket
If other sockets are enabled, such as gpg-agent-browser.socket,
those should be started before gpg-agent.service as well.

Change-Id: I29d3f4b19db9e687425b594dcef863a88ec296c9
2023-08-12 03:19:10 +00:00
Maximilian Bosch
183be440fd
nixos/captive-browser: drop setcap wrapper for captive-browser
Since Linux 5.7 it's possible to set `SO_BINDTODEVICE` via `setsockopt(2)`
as unprivileged user if this operation doesn't imply escaping a VRF
interface[1].

Dropping the wrapper is actually desirable because `captive-browser`
itself doesn't drop capabilities and as a result, the capabilities are
passed on to `chromium` itself[2].

For older kernels, this is still necessary, hence the wrapper will only
be added nowadays if the kernel is older than 5.7.

[1] c427bfec18
[2] 08450562e5/bind_device_linux.go (L11-L14)
    and because our setcap wrapper makes all capabilities
    inheritable.
2023-08-10 14:06:38 +02:00