summaryrefslogtreecommitdiff
path: root/hm/env/cursor.nix
blob: eda8f553da052220d522db43d8319af44cab904d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
  config,
  lib,
  pkgs,
  ...
}:
let
  cfg = config.hm.env.cursor;

  miyabi-src = pkgs.fetchgit {
    url = "https://codeberg.org/adikro/nixos-resources.git";
    rev = "refs/heads/main";
    sha256 = "sha256-5kIAyW/dQ2qrqrP6ekwFfpV7a1kBa+YvPGMWj2HWYhE=";
    fetchLFS = true;
  };

  miyabi-cursor-pkg = pkgs.runCommand "miyabi" { } ''
    mkdir -p $out/share/icons/miyabi
    cp -rvL ${miyabi-src}/cursors/miyabi/* $out/share/icons/miyabi/
  '';
in
{
  options.hm.env.cursor = {
    enableMiyabi = lib.mkEnableOption "Enables the Miyabi cursor";

    size = lib.mkOption {
      type = lib.types.int;
      default = 24;
      description = "The size of the mouse cursor";
    };
  };

  config = lib.mkIf cfg.enableMiyabi {
    home.pointerCursor = {
      gtk.enable = true;
      x11.enable = true;
      package = miyabi-cursor-pkg;
      name = "miyabi";
      size = cfg.size;
    };
  };
}