Commit graph

159 commits

Author SHA1 Message Date
quasigod 81cd71995a
hyprland: fix systemd variables example 2024-04-02 23:39:11 +02:00
Mathis H 49a266d2ca
hyprland: add option for per-input device configs 2024-03-12 23:16:18 +01:00
Sebastian Sellmeier 8d9fde0fba
i3/sway: remove sebtm maintainer 2024-03-06 14:26:46 +01:00
John Axel Eriksson ecfffe3631
river: fix systemd activation (#5055)
The `exec` command does not do any shell parsing and does not
understand the `&&` which is how the extraCommands are added after
dbus activation. There doesn't seem to be a reason for `exec` here
anyway so just remove it and allow shell parsing.
2024-02-29 11:10:25 +01:00
Mihai Fufezan ae7a3b5137
hyprland: fix reloading
Fix hyprctl erroring out due to HIS.
2024-02-24 21:04:47 +01:00
Gaetan Lepage 3dda8e795f
river: add module 2024-02-22 00:10:51 +01:00
Emily 4c0357ff87
sway: fix workspace 10 missing from default config (#4636)
workspace 10 is part of upstream's default config, but was missing in home-manager.

The initial "sway: add module" PR (02d6040003) went through multiple iterations and had workspace 10 included for a brief moment.
Until the author removed it in a force-push commenting

> Have removed the last change which added bound ${modifer}+0 to workspace number 10 as this messed up workspace numbering in sway.

The reason might have been, that sway used to sort the workspaces in the order they appeared in the config.

Attribute sets in nix are sorted, but not "naturally sorted", meaning `bindsym Mod1+0 workspace number 10` comes before `bindsym Mod1+0 workspace number 1`.

It's unclear if that's what really happened. A workaround would have been to use `lib.lists.naturalSort` in `keybindingsStr`.

But I cannot reproduce this anymore in any way.
I assume this has been fixed many years ago by now.

upstream config: 020a572ed6/config.in (L113-L134)
2024-02-10 19:59:52 +01:00
Juraj Hlista 230836bb7c
hyprland: fix hyprctl crash
`/tmp/hypr` must be present so `hyprctl` doesn't crash.
2024-02-04 07:59:05 +01:00
Samuele Facenda 9b378afae7
hyprland: change plugins settings generation
The previous syntax (`plugin:name { ...settings}`) is not working with
more than one plugin. There is no documentation for this, just the
source code [1].

With this update the plugins paths aren't generated together with the
full config (so the "plugin" field is not "important" anymore) and the
plugins settings are generated like the other fields.

[1] 4d403dac32/src/config/ConfigManager.cpp (L1574)
2024-01-21 00:40:55 +01:00
Samuele Facenda 2064348e55
hyprland: do not override existing plugins settings in config
The plugin setting in the Hyprland config is used both for defining
plugin paths and configuring the plugins. This fix removes the
silent override of the plugins settings converting them to the
`plugin:<name> { ...settings }` syntax.
2024-01-19 11:27:00 +01:00
Jared Baur d9c869681d
sway: include cursor environment variables
DBus activated services such as mako use the XCURSOR_THEME and
XCURSOR_SIZE environment variables to decide how to show the cursor,
so without these, the cursor may not match the rest of the desktop
when hovering over (in this example) mako notification surfaces.
2024-01-18 00:30:06 +01:00
Robin Gloster 0e2e443ff2
hyprland: mark plugin setting as important
The plugins are often necessary for other configurations.
2023-12-14 08:14:24 +01:00
Ujp8LfXBJ6wCPR 7a88cdedbd
hyprland: improve config reload
When using the previous approach I've always gotten errors that I can't
reload config on the .lock file that exists in /tmp when you run a
standard configured hyprland.

This commit improves this by using hyprctl to find instances to reload
instead.

We can remove the HYPRLAND_INSTANCE_SIGNATURE bogus assignment once
https://github.com/hyprwm/Hyprland/issues/4088 is resolved.

Co-authored-by: Carl Hjerpe <git@hjerpe.xyz>
2023-12-14 08:04:57 +01:00
Nara Díaz Viñolas defbb9c585
hyprland: add option sourceFirst
Add the option sourceFirst to the hyprland module. When this option is
enabled source entries will be put near the top of the file, so that
the variables declared in other files can be used by the other
configuration entries.

Add "source" to the list of important prefixes when the former option
is enabled.

Resolves #4729
2023-12-10 11:12:06 +01:00
André Silva 09587fbbc6
hyprland: add tray.target 2023-10-25 18:13:51 +02:00
Mihai Fufezan ed0770e962
hyprland: allow customizing systemd
Allows users to customize which environment variables to import in DBus
and SystemD user environments, and to specify which commands will be run
after the environment activation.
2023-10-06 23:34:47 +02:00
Sefa Eyeoglu e0c70942c0
programs.sway: separate trayOutput values for sway (#4489)
Fixes nix-community/home-manager#4488

The default config for sway generates a bar block with tray_output primary. But wayland (or sway, take your pick?) has no concept of a primary display so this just results in no tray anywhere.

A better default is "*" which puts the tray on every monitor, since sway can do so without issue.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-09-23 20:53:45 +02:00
ykis-0-0 f5b920f4d2
fluxbox: fix xsession command
Fixes #4457
2023-09-19 20:52:50 +02:00
Mihai Fufezan 88067b9b14
hyprland: remove xwayland.hidpi (#4302)
Remove xwayland.hidpi option, since we're dropping HiDPI XWayland
patches support, opting to use the builtin xwayland:force_zero_scaling
option instead. It is described in more detail in
https://wiki.hyprland.org/ Configuring/XWayland.
2023-08-14 09:40:09 +02:00
Naïm Favier 5c23226768
hyprland: use toKeyValue's indent argument (#4274)
Freshly added in https://github.com/NixOS/nixpkgs/pull/244819
2023-07-29 13:12:37 +02:00
Mihai Fufezan 76dd6c6619
hyprland: prioritize variables and beziers (#4263)
* hyprland: prioritize variables and beziers

The `settings` key now handles `$variables` and `bezier`s differently,
putting them at the top of the file.
Also, proper indentation has been implemented.

* Update modules/services/window-managers/hyprland.nix

Co-authored-by: Naïm Favier <n@monade.li>

* hyprland: add animations & beziers test

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-07-22 13:58:46 +02:00
Mihai Fufezan ee5673246d
hyprland: add module
Ported from

  https://github.com/hyprwm/Hyprland/blob/main/nix/hm-module.nix

which was adapted from the sway module.

Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-07-21 00:14:22 +02:00
Emily 9f9e277b60 treewide: remove now-redundant lib.mdDoc calls
These (and the `*MD` functions apart from `literalMD`) are now no-ops
in nixpkgs and serve no purpose other than to add additional noise and
potentially mislead people into thinking unmarked DocBook documentation
will still be accepted.

Note that if backporting changes including documentation to 23.05,
the `mdDoc` calls will need to be re-added.

To reproduce this commit, run:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
      --strip {} +
    $ ./format
2023-07-17 18:49:09 +01:00
Emily 36a53d9f26 treewide: convert all option docs to Markdown
This process was automated by [my fork of `nix-doc-munge`]. All
conversions were automatically checked to produce the same DocBook
result when converted back, modulo minor typographical/formatting
differences on the acceptable-to-desirable spectrum.

To reproduce this commit, run:

  $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
    nix shell nixpkgs#coreutils \
    -c find . -name '*.nix' \
    -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
    {} +
  $ ./format

[my fork of `nix-doc-munge`]: https://github.com/emilazy/nix-doc-munge/tree/home-manager
2023-07-17 18:40:56 +01:00
Emily c1d8d2a3d1 treewide: adjust some DocBook for conversion
The NixOS variant of Markdown doesn't make a distinction between
`<code>` and `<literal>` or `<quote>` and... quotes, and doesn't
support `<parameter>` or `<replaceable>`. These are infrequently used
(apart from `<code>`) and don't add much, so just convert them to
simpler forms to allow the options containing them to be converted
to Markdown automatically.

A few minor syntactic adjustments were also made to make
`nix-doc-munge`'s job easier.
2023-07-17 16:49:35 +01:00
Emily e04de5b308 treewide: mkPackageOption -> mkPackageOptionMD 2023-07-17 16:49:35 +01:00
Emily 21c700d14b treewide: convert options with lists to Markdown
`nix-doc-munge` can't handle these, which is understandable as I can
barely handle them either. There are a few infelicities here: the
current processor can't handle multiple terms to one description in
a description list so they get comma-separated in one case, and one
case that should ideally render as a `<figure>` with a `<figcaption>`
in HTML is reduced to a paragraph with some `<strong>` text. (Which, in
fairness, is how it rendered in practice with the DocBook anyway.) The
docs generator has since been updated to handle figures, but we can't
use it until moving off DocBook output.
2023-07-17 16:49:35 +01:00
Naïm Favier c1cdce3d89
i3-sway: allow arbitrary floating modifier (#4229)
The floating modifier can consist of a combination of modifier keys.
Trying to model this with a regex doesn't seem worth it, so just use
`str`.
2023-07-14 21:26:09 +02:00
Sven Friedrich f63b39a67d
i3-sway: multiple outputs (#4223)
multiple outputs can be assigned to a workspace
2023-07-14 21:25:55 +02:00
Anton Mosich b23c7501f7
i3: remove deprecated example in i3.config.startup (#4201)
Deprecated in cacb8d4, see #265
2023-07-05 12:23:31 +02:00
Sefa Eyeoglu 0144ac418e
sway: add support for XDG autostart using systemd (#3747)
* sway: add support for XDG autostart using systemd

Using the option wayland.windowManager.sway.systemd.xdgAutostart, users
can now choose to start applications present in
$XDG_CONFIG_HOME/autostart when starting their sway session.

This change also renames wayland.windowManager.sway.systemdIntegration
to wayland.windowManager.sway.systemd.enable;

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

* sway: add Scrumplex to maintainers

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

---------

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-06-10 12:10:40 +02:00
Naïm Favier 607d8fad96
i3-sway: quote output names (#4059)
They can contain spaces.
2023-06-04 15:23:23 +02:00
Naïm Favier 2f6a917ade
i3-sway: fix indentation of bar blocks (#3978)
The `indent` function unindents the first and last line by default, so
the `"bar {"` `"}"` wrapper should go inside the list.
2023-05-11 14:04:29 +02:00
Bernardo Meurer a5a294a622
sway: import NIXOS_OZONE_WL into systemd
Without this, even if you configure a preference for Electron apps to
use Ozone by setting `NIXOS_OZONE_WL=1`, GUI apps launched through
systemd user services use XWayland, since the variable is not set in
their environment.

This fixes that issue by importing it, like we do other variables.
2023-04-23 20:10:16 +02:00
Olmo Kramer 64d1f75a1e
herbstluftwm: fix default tag renaming
The previous implementation tried to rename the tag named "default" to
the first tag in `cfg.tags`. This was a wrong approach because if a
tag with the same name already existed, the renaming failed and the
default tag would continue to exist.

The looking up of the default tag also contained a bug because it
should have used `by-name` in the path.
2023-04-22 16:38:31 +02:00
Basti 68eaf4b577
i3-sway: add option trayPadding (tray_padding) for bars (#3829) 2023-04-16 17:34:29 -06:00
arcnmx d633afe0d9
i3-sway: config.focus.wrapping deprecates forceWrapping (#3467)
Stop using the legacy syntax described in the i3 documentation:
https://i3wm.org/docs/userguide.html#_focus_wrapping
2023-01-15 19:20:13 +01:00
stephaneyfx 950aace44e
i3: Do not set i3 package (#3585)
Resolves https://github.com/nix-community/home-manager/issues/3584
2023-01-10 09:57:38 +01:00
Gaétan Lepage 684bdb386c
i3: remove i3/i3-gaps distinction (#3563) 2023-01-08 22:05:36 +01:00
corbinallison 498c46ea5d
fluxbox: fix a typo, windowMenu -> windowmenu (#3544) 2023-01-03 13:09:52 -07:00
Martin Weinelt d01e7280ad
i3-sway: Use foot as default terminal on sway (#3490) 2023-01-03 19:26:08 +01:00
leifhelm 079a33a015
i3: Fix escaping in documentation
In nix `${` is escaped like this `''${` and not like this `\${`
2022-12-29 17:41:04 +01:00
Olmo Kramer 47bb9e7569
herbstluftwm: Reset mousebinds on (re)load
Keybinds and rules were already reset, but now also the mousebinds are.
2022-12-19 22:40:24 +01:00
Olmo Kramer 1a0a5f5037
herbstluftwm: Fix error when no tags set
The default value for `xsession.windowManager.herbstluftwm.tags` is an
empty list, but the config file uses `builtins.head` on it, which causes
an error upon evaluation. With this change the tags configuration is
skipped if the list is empty.
2022-12-19 22:40:24 +01:00
Mario Rodas b5c083300b
treewide: fix typos 2022-12-05 12:58:02 +01:00
Guillaume Girol c5adf29545
i3: fix reloading when there are several sockets
This can happen after logout/login.

Fixes #527
2022-11-06 00:41:10 +01:00
Anton Bulakh 8957d53199
awesome: fix luaModules using pkgs.lua instead of awesome.lua (#3258)
Mirroring my change to awesome module in nixos:
b79f9e9b8a
2022-11-01 19:43:20 +01:00
polykernel 2464c21ab2
sway: import XDG_SESSION_TYPE in systemd user environment (#3328)
- The `XDG_SESSION_TYPE` environment variable is used by some applications and frameworks to
  detect wayland sessions (i.e qt5/6, electron/chromium). It is set by wlroots since version 0.13.0 [1].

- Propagating `XDG_SESSION_TYPE` to the systemd user environment is necessary when processes launched by
  services (e.g emacs) need to inherit the environment variable.

[1] - 90c8452959
2022-10-31 13:09:06 +01:00
Anderson Torres a053da0f22
fluxbox: use mkPackageOption instead of mkOption (#3286) 2022-09-30 12:54:55 -04:00
AndersonTorres f17819f4f1
fluxbox: add module 2022-09-22 00:43:09 +02:00