Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nixos/ydotool: module init #191911

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions nixos/doc/manual/release-notes/rl-2305.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ In addition to numerous new and upgraded packages, this release has the followin

- [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion).

- [ydotool](https://github.com/ReimuNotMoe/ydotool), Generic command-line automation tool. Available as [programs.ydotool](#opt-programs.ydotool.enable).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does Generic command-line automation tool mean?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've taken the description from upstream. I think what they're trying to convey is that it works under wayland, xorg, fbdev, ..

I can of course change it if it's not adequate

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [ydotool](https://github.com/ReimuNotMoe/ydotool), Generic command-line automation tool. Available as [programs.ydotool](#opt-programs.ydotool.enable).
- [ydotool](https://github.com/ReimuNotMoe/ydotool), Generic command-line automation tool. Available as [services.ydotool](#opt-services.ydotool.enable).


- [gmediarender](https://github.com/hzeller/gmrender-resurrect), a simple, headless UPnP/DLNA renderer. Available as [services.gmediarender](options.html#opt-services.gmediarender.enable).

- [stevenblack-blocklist](https://github.com/StevenBlack/hosts), A unified hosts file with base extensions for blocking unwanted websites. Available as [networking.stevenblack](options.html#opt-networking.stevenblack.enable).
Expand Down
1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,7 @@
./programs/xss-lock.nix
./programs/xwayland.nix
./programs/yabar.nix
./programs/ydotool.nix
./programs/zmap.nix
./programs/zsh/oh-my-zsh.nix
./programs/zsh/zsh-autoenv.nix
Expand Down
32 changes: 32 additions & 0 deletions nixos/modules/programs/ydotool.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{ config, lib, pkgs, ... }:

let
cfg = config.programs.ydotool;
in

{

options = {
programs.ydotool = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
programs.ydotool = {
services.ydotool = {

enable = lib.mkEnableOption (lib.mdDoc ''
ydotool, a generic Linux command-line automation tool. Make sure to add your user to the input group:
`users.users.alice.extraGroups = [ "input" ];`
'');
};
};

config = lib.mkIf cfg.enable {

environment.systemPackages = [ pkgs.ydotool ];

systemd.user.services.ydotoold = {
description = "Starts ydotoold service";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description = "Starts ydotoold service";
description = "Daemon for ydotool";

wantedBy = [ "default.target" ];
serviceConfig = {
ExecStart = "${pkgs.ydotool}/bin/ydotoold";
Restart = "always";
};
};
};
}