diff --git a/modules/misc/news.nix b/modules/misc/news.nix index 1ece1114a..99a7cb3e8 100644 --- a/modules/misc/news.nix +++ b/modules/misc/news.nix @@ -641,6 +641,12 @@ in A new module is available: 'services.mbsync'. ''; } + { + time = "2018-05-03T12:34:47+00:00"; + message = '' + A new module is available: 'services.flameshot'. + ''; + } ]; }; } diff --git a/modules/modules.nix b/modules/modules.nix index 897fd6a1e..b36ad4f4a 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -51,6 +51,7 @@ let ./services/blueman-applet.nix ./services/compton.nix ./services/dunst.nix + ./services/flameshot.nix ./services/gnome-keyring.nix ./services/gpg-agent.nix ./services/kbfs.nix diff --git a/modules/services/flameshot.nix b/modules/services/flameshot.nix new file mode 100644 index 000000000..d5e8309d9 --- /dev/null +++ b/modules/services/flameshot.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.flameshot; + package = pkgs.flameshot; + +in + +{ + meta.maintainers = [ maintainers.hamhut1066 ]; + + options = { + services.flameshot = { + enable = mkEnableOption "Flameshot"; + }; + }; + + config = mkIf cfg.enable { + home.packages = [ package ]; + + systemd.user.services.flameshot = { + Unit = { + Description = "Powerful yet simple to use screenshot software"; + After = [ "graphical-session-pre.target" ]; + PartOf = [ "graphical-session.target" ]; + }; + + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + + Service = { + ExecStart = "${package}/bin/flameshot"; + Restart = "on-abort"; + }; + }; + }; +}