Commit graph

209 commits

Author SHA1 Message Date
Gerg-L
6e22a417e6
nixos/xserver: remove duplicate display-manager.script declaration 2024-05-11 16:34:08 -04:00
stuebinm
6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Sandro Jäckel
476b8c276e
treewide: rename renamed sddm/displayManager settings 2024-04-08 21:56:38 +02:00
Sandro Jäckel
5598d81e94
nixos/graphical-desktop: extract generic graphical things from xserver
This is required to fix the keymap in SDDM without X.
2024-04-08 21:56:37 +02:00
Sandro Jäckel
6be2bfcc32
nixos/display-managers: extract generic display-manager bits
Some settings which where before inside the xserver module, are generic
and also required for SDDM under wayland. To make them easily re-usable
lets extract them.
2024-04-08 21:56:36 +02:00
Naïm Favier
0e347b1a77
nixos/xserver: respect module order
Reimplement the `ModulePath` generation logic by only adding the
`/lib/xorg/modules` subpath for each module, in the specified order.

In particular, hardware-specific drivers are listed *before*
`xorgserver`, which fixes https://github.com/NixOS/nixpkgs/issues/299684.

This also keeps the list reproducible, as wanted by https://github.com/NixOS/nixpkgs/pull/230186.

I have confirmed that X is able to find `.so` files recursively within
the `ModulePath`, so that there is no need to include subdirectories of
`/lib/xorg/modules`. Furthermore, I don't expect there to be a need to
include directories *outside* of `/lib/xorg/modules`, as the default
`ModulePath` on standard distributions is `/usr/lib/xorg/modules`.
(see https://www.x.org/releases/current/doc/man/man5/xorg.conf.5.xhtml#heading4)
2024-03-28 23:17:52 +01:00
Naïm Favier
fb613a3a41
nixos/nvidia: update manual
Remove the `nvidiaLegacy*` video drivers from the manual: not only are
they deprecated, their deprecation notice was removed in
https://github.com/NixOS/nixpkgs/pull/244060.
2024-03-25 16:56:11 +01:00
Sandro
124ec2d9d6
nixos/xserver: don't conflict pinentry package with DEs 2024-03-18 11:22:48 +01:00
Franz Pletz
764d15f59f
pinentry: remove multiple outputs package
fixes #133156 #124753
2024-03-02 17:16:53 +01:00
nikstur
dff64f549e nixos/x11: remove leading slash from environment.etc path
Even if the tools that assemble /etc can handle leading slashes, this
still is not correct. For example, you could have both /X11 and X11 in
environment.etc which makes overriding hard.
2024-01-28 13:38:09 +01:00
Niklas Hambüchen
f757546d0f xserver service: xkbvalidate: Respect xkb.dir. Fixes #31138.
Until now, if you set `services.xserver.xkb.dir` to a dir containing
a custom keyboard layout, and making this layout the default via
`services.xserver.xkb.layout`, `xkbvalidate` would complain:

    The value `gb-CapsLockIsHyperL' for keyboard layout is invalid.

    Please check the definition in `services.xserver.xkb.layout'.

    Detailed XKB compiler errors:

        Couldn't find file "symbols/gb-CapsLockIsHyperL" in include paths
        1 include paths searched:
            /nix/store/x1ahkafwzv66s3yxffvrjc0ixkcjiig6-xkeyboard-config-2.31/etc/X11/xkb
        3 include paths could not be added:
            /homeless-shelter/.config/xkb
            /homeless-shelter/.xkb
            /etc/xkb
        Abandoning symbols file "(unnamed)"
        Failed to compile xkb_symbols
        Failed to compile keymap

This is because the `xkb_*()` functions in `xkbvalidate` were not
told to use our `xkbDir`.

This commit fixes it by passing the dir as an environment variable
as described on:

* https://xkbcommon.org/doc/current/group__include-path.html
* https://xkbcommon.org/doc/current/group__context.html
2023-12-10 02:18:54 +01:00
Artturin
d891f369ee nixos/x11: don't use a submodule for xkb options
A submodule is unnecessary

Improved a few descriptions
2023-10-14 04:15:53 +03:00
Artturin
d470944859 nixos/x11: create xkb option by default
without this
```
nix-repl> nixosTests.xfce.nodes.machine.services.xserver.xkb
error: The option 'nodes.machine.services.xserver.xkb' is used but not defined.
```

with this
```
nix-repl> nixosTests.xfce.nodes.machine.services.xserver.xkb
{ dir = "/nix/store/096yg7fc67py86w0bm6g7a32npgyh5ic-xkeyboard-config-2.39/etc/X11/xkb"; layout = "us"; model = "pc104"; options = "terminate:ctrl_alt_bksp"; variant = ""; }
```
2023-10-13 01:16:14 +03:00
Victor Engmark
3a6c79cff6 nixos/x11: refactor XKB options into a single attrset
[Motivation](https://github.com/NixOS/nixpkgs/issues/257817#issuecomment-1741705042):

- Having all the XKB options in the same attribute set clarifies their
  relation better than using a common option name prefix ("xkb").
- `services.xserver.layout` is an XKB option, but this is not obvious
  from its name. Putting it with the other XKB options clarifies this.

Co-authored-by: Michele Guerini Rocco <rnhmjoj@users.noreply.github.com>
2023-10-11 09:46:37 +03:00
Sandro Jäckel
83793ca898
nixos/fonts: rename fonts.enableDefaultFonts to fonts.enableDefaultPackages
to better fit the renamed fonts.packages
2023-07-25 00:55:25 +02:00
Sandro Jäckel
b0c67b4b6e
treewide: rename fonts.fonts to fonts.packages 2023-07-24 17:34:39 +02:00
r-vdp
9ef5b7d793 nixos/x11: change the description of the display manager service
Currently systemd prints `Starting X11 Server` in the journal, which completely
misled me into searching why my wayland system was starting an X server.
Turns out that what is started is actually the display manager,
so I think it's better to call it like that in the description.
2023-07-04 21:08:13 +02:00
Robert Hensing
2e2f0d28ea nixos: Use checks instead of extraDependencies
... as appropriate.

This drops a few unnecessary store paths from the system closure.
2023-05-11 21:18:38 +02:00
Pierre Bourdon
2ddbabec4d
nixos/xserver: fix xserver.conf reproducibility (sort ModulePath entries) 2023-05-05 22:33:09 +02:00
K900
4787ebf7ae nixos/hidpi: remove
The single option tries to do too much work, which just ends up confusing people.

So:
- don't force the console font, the kernel can figure this out as of #210205
- don't force the systemd-boot mode, it's an awkward mode that's not supported
  on most things and will break flicker-free boot
- add a separate option for the xorg cursor scaling trick and move it under the xorg namespace
- add a general `fonts.optimizeForVeryHighDPI` option that explicitly says what it does
- alias the old option to that
- don't set any of those automatically in nixos-generate-config
2023-03-21 13:29:57 +01:00
Charles Hall
65c6ffaae9 don't enable lightdm if greetd is enabled 2023-03-15 13:26:41 +01:00
K900
82964d1694 nixos/x11: default to the modesetting driver
The upstream drivers are very dead:
- nouveau:
   - https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/-/commits/master
   - last meaningful change in August 2020
- ati (aka radeon):
   - https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/commits/master
   - last meaningful change in April 2020
- amdgpu:
   - https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/commits/master
   - barely alive, mostly thanks to Valve people

Modesetting isn't even the future, it's the now, especially with Wayland.
We should embrace it.
2023-02-26 16:11:13 +03:00
pennae
722b99bc0e nixos/*: convert options with admonitions to MD
rendering changes only slightly, most changes are in spacing.
2022-08-31 16:36:16 +02:00
pennae
9547123258 nixos/*: convert internal option descriptions to MD
we'll have to do it eventually, may as well be now.
2022-08-31 16:32:54 +02:00
Thiago Kenji Okada
ae0cfe80c4 nixos/xserver: remove useGlamor option
This option is based on a recommendation from a page last updated in
2014 (see https://www.freedesktop.org/wiki/Software/Glamor/), and it
is not necessary anymore.

Also, it did the wrong thing: it forced DRI2, but Glamor should also
work with DRI3, that is a better option most of the time. So let's
remove this option, folks that still want to force this manually can do
so in other ways.
2022-08-23 18:14:00 +01:00
pennae
087472b1e5 nixos/*: automatically convert option docs 2022-08-06 20:39:12 +02:00
pennae
423545fe48 nixos/*: normalize manpage references to single-line form
now nix-doc-munge will not introduce whitespace changes when it replaces
manpage references with the MD equivalent.

no change to the manpage, changes to the HTML manual are whitespace only.
2022-08-05 18:34:50 +02:00
Sandro Jäckel
28539842d8
nixos/utils: move removePackagesByName to here from gnome 2022-04-11 15:42:49 +02:00
Sandro Jäckel
28e936ba64
nixos/xserver: add excludePackages option
to remove packages environment.systemPackages
2022-04-11 01:12:04 +02:00
Martin Weinelt
77e345142b
nixos/xserver: don't require polkit
X11 itself does not require it and it a desktop environment or any other
service requires it, then it should enable it itself.
2022-01-27 01:45:45 +01:00
Vladimír Čunát
d856f24d3c
Merge #151019: amdgpu-pro: 17.40 -> 21.30 2022-01-09 11:27:18 +01:00
pennae
fc614c37c6 nixos/documentation: split options doc build
most modules can be evaluated for their documentation in a very
restricted environment that doesn't include all of nixpkgs. this
evaluation can then be cached and reused for subsequent builds, merging
only documentation that has changed into the cached set. since nixos
ships with a large number of modules of which only a few are used in any
given config this can save evaluation a huge percentage of nixos
options available in any given config.

in tests of this caching, despite having to copy most of nixos/, saves
about 80% of the time needed to build the system manual, or about two
second on the machine used for testing. build time for a full system
config shrank from 9.4s to 7.4s, while turning documentation off
entirely shortened the build to 7.1s.
2022-01-02 19:46:13 +01:00
David McFarland
2f846e69c4 nixos/xserver: set correct LD_LIBRARY_PATH for opengl driver
This got broken by 370d3af0c4.  Previously
it was setting /run/opengl-driver/lib.  `driverLink` is missing the
/lib.
2021-12-21 10:56:12 -04:00
Artturin
670f5474b9 nixos/{startx,xserver,sx}: make it possible to use both a gui dm
and startx at the same time without using lib.mkForce
2021-11-16 23:30:27 +02:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
rnhmjoj
e4da1edf8b
nixos/extra-layouts: avoid all rebuilds
Just setting the XKB_CONFIG_ROOT should be enough, so we don't need to
rebuild the xserver, xkbcomp and other packages anymore.
However, the variable has to be passed explicitely to scripts running at
build time: in particular to xkbvalidate and xkb-console-keymap.
2021-09-17 01:48:46 +02:00
Nikolay Amiantov
bd18e491a9 fontconfig service: drop dpi option
Recommend to use services.xserver.dpi option instead. Mention in the
documentation that it's a sledgehammer approach and monitor settings should be
used instead.

Also don't set DPI in fontconfig settings; fontconfig should use Xft settings
by default so let's not override one value in multiple places. For example,
user now can set DPI via ~/.Xresources properly.
2021-08-20 16:55:07 +00:00
Johannes Arnold
358ab44a45 nixos/xserver: fix a display-manager race condition 2021-08-12 03:17:38 +03:00
davidak
872111e9d2
Merge pull request #131305 from davidak/nixos-icons-fix
nixos-icons: fix icons not installed when documentation disabled
2021-08-04 21:35:45 +02:00
davidak
aa8373ab1b nixos-icons: fix icons not installed when documentation disabled 2021-07-24 06:50:01 +02:00
Niklas Hambüchen
4bd5f1115f
Merge pull request #127166 from nh2/xserver-config-mkAfter-docs
services.xorg.config: Extend docs
2021-06-23 01:55:58 +02:00
Niklas Hambüchen
65d3180336 services.xorg.config: Extend docs 2021-06-17 04:08:21 +02:00
Niklas Hambüchen
685e8ff7dd xserver: Generate readable config indentation 2021-06-17 03:34:40 +02:00
Florian Klink
7ff18cdf3c nixos/xserver: set fs.inotify.max_user_instances too
A too low number of inotify user instances causes similar problems as
max_user_watches. Without this, my workstation keeps running into things
like this:

$ sudo systemctl restart display-manager.service
Failed to allocate directory watch: Too many open files
2021-04-21 13:49:40 +02:00
TredwellGit
e3d705e601 nixos/xserver: use modern video drivers
cirrus is obsolete: https://www.vintage3d.org/cirrus.php
nv is obsolete: https://www.phoronix.com/scan.php?page=article&item=nvidia_kills_nv&num=1
vesa is obsolete: https://www.phoronix.com/scan.php?page=news_item&px=Nzc3Nw
ati and ati_unfree are superseded by amdgpu and amdgpu-pro: https://wiki.gentoo.org/wiki/ATI_FAQ#Is_my_AMD.2FATI_board_supported.3F
nouveau and fbdev added for better fallback support.
2021-03-06 08:47:18 +01:00
Ben Siraphob
a6ac3eedbd treewide: xdg_utils -> xdg-utils 2021-02-01 15:05:09 +07:00
Fritz Otlinghaus
8f261f1552
nixos/xserver: add serverFlagsSection type 2021-01-31 12:53:41 +01:00
Atemu
693a31ab7b nixos/xserver: make logFile configurable
It makes sense for it to be /dev/null for all the displayManagers but startx,
it needs a different logFile configuration.
2020-12-13 06:15:33 +01:00
lf-
b37bbca521 nixos/modules: fix systemd start rate-limits
These were broken since 2016:
f0367da7d1
since StartLimitIntervalSec got moved into [Unit] from [Service].
StartLimitBurst has also been moved accordingly, so let's fix that one
too.

NixOS systems have been producing logs such as:
/nix/store/wf98r55aszi1bkmln1lvdbp7znsfr70i-unit-caddy.service/caddy.service:31:
Unknown key name 'StartLimitIntervalSec' in section 'Service', ignoring.

I have also removed some unnecessary duplication in units disabling
rate limiting since setting either interval or burst to zero disables it
(ad16158c10/src/basic/ratelimit.c (L16))
2020-10-31 01:35:56 -07:00
Frederik Rietdijk
9e1943edc0 Merge master into staging-next 2020-10-13 19:34:34 +02:00