1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-24 10:49:48 +01:00
Commit graph

8 commits

Author SHA1 Message Date
Gaétan Lepage
013948ddf6
home-cursor: follow xdg spec for icons folder () 2023-04-11 22:41:48 +02:00
polykernel
5e94669f8e
home.pointerCursor: set common XCURSOR_* environment variables by default ()
The `XCURSOR_*` environment variables specified in libxcursor
are used by many applications and libraries to load and configure
cursor settings. Setting these variables is a no-op if ignored but
is useful as a fallback when other sources of configuration are
unreliable.

This commit sets some commonly used `XCURSOR_*` environment variables
(i.e XCURSOR_THEME, XCURSOR_SIZE) by default when `home.pointerCursor`
is enabled.
2023-03-16 10:05:07 +01:00
Mario Rodas
c59f0eac51
treewide: fix typos () 2023-01-24 11:30:04 +01:00
polykernel
54245e1820
home.pointerCursor: use mkDefault to set XCURSOR_PATH ()
fixes https://github.com/nix-community/home-manager/issues/3551
2023-01-03 22:21:40 +01:00
Robert Helgesson
76fbb1b15e
treewide: replace <link> by <xref> where appropriate 2022-08-26 00:07:08 +02:00
Nicolas Berbiche
4036f1a751
home-cursor: fix x11 cursor path using invalid option () 2022-05-05 21:15:51 -04:00
Robert Helgesson
267462dfb3
cursor: fix coercion error
Fixes 
2022-05-04 10:16:32 +02:00
polykernel
c13ffa3ed4
home.pointerCursor: init ()
* home.pointerCursor: init

The current architecture for cursor configurations is composed of individual
options for different backends. For example, X specific settings are managed under
`xsession.pointerCursor` and gtk specific settings are managed under `gtk.cursorTheme`.
While this architecture is modular, it causes duplication of similar structures for
each component. In theory, this provides flexibility because the components are independent
of each other which can be arranged in arbitrary ways to achieve the desired result.
However in practice, users wish to have one cursor theme applied to their entire system
The duplication of options correspond to duplication of settings on the user side and it
becomes a burden to keep track of all necessary settings.

This commit is an attempt to unify cursor configurations for different window systems and
GUI toolkits based on https://github.com/nix-community/home-manager/pull/2481#issuecomment-978917480.
`home.pointerCursor` is introduced as the interface for all cursor configurations.
It contain all options relevant to cursor themes with eneral options delcared under `home.pointerCursor.*`
and backend specific options declared under `home.pointerCursor.<backend>.*`. By default, a backend
independent configuration is generated. Backend specific configurations can be toggled via the
`home.pointerCursor.<backend>.enable` option for each backend. This was decided over using a
list of enums because it allows easy access to the state of the backend. Note generating different
cursor configurations for different backends is still possible by defining only `home.pointerCursor`
and managing the respective options manually.

* xcursor: migrate options to home.pointerCursor

- Removed `xession.pointerCursor` as x11 cursor configurations are now handled in `home.pointerCursor.x11`.
- Updated `meta.maintainer` field in `home.pointerCursor` and CODEOWNERS.
2022-05-03 18:29:17 -04:00