1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 19:46:05 +01:00

hyprshot: init module

Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
This commit is contained in:
Joker9944 2025-08-16 20:07:50 +02:00 committed by Austin Horstman
parent b960067013
commit 3dcae8af51
2 changed files with 50 additions and 0 deletions

View file

@ -0,0 +1,12 @@
{ pkgs, ... }:
{
time = "2025-08-16T01:35:44+00:00";
condition = pkgs.stdenv.hostPlatform.isLinux;
message = ''
A new module is available: 'programs.hyprshot'
Hyprshot is an utility to easily take screenshot in Hyprland using your mouse.
It allows taking screenshots of windows, regions and monitors which are saved
to a folder of your choosing and copied to your clipboard.
'';
}

View file

@ -0,0 +1,38 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.programs.hyprshot;
in
{
meta.maintainers = with lib.hm.maintainers; [
joker9944
];
options.programs.hyprshot = {
enable = lib.mkEnableOption "Hyprshot the Hyprland screenshot utility";
package = lib.mkPackageOption pkgs "hyprshot" { nullable = true; };
saveLocation = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
example = "$HOME/Pictures/Screenshots";
description = ''
Set the `$HYPRSHOT_DIR` environment variable to the given location.
Hypershot will save screenshots to the first expression that resolves:
- `$HYPRSHOT_DIR`
- `$XDG_PICTURES_DIR`
- `$(xdg-user-dir PICTURES)`
'';
};
};
config.home = lib.mkIf cfg.enable {
packages = lib.mkIf (cfg.package != null) [ cfg.package ];
sessionVariables = lib.mkIf (cfg.saveLocation != null) { HYPRSHOT_DIR = cfg.saveLocation; };
};
}