forked from jan-leila/nix-config
		
	main #5
					 1 changed files with 16 additions and 21 deletions
				
			
		|  | @ -42,9 +42,13 @@ | |||
|     hotkeys = lib.mkOption { | ||||
|       type = lib.types.attrsOf (lib.types.submodule ({name, ...}: { | ||||
|         options = { | ||||
|           key = lib.mkOption { | ||||
|             type = lib.types.strMatching "[a-zA-Z0-9-]+"; | ||||
|             default = builtins.replaceStrings [" " "/" "_"] ["-" "-" "-"] name; | ||||
|           }; | ||||
|           name = lib.mkOption { | ||||
|             type = lib.types.strMatching "[a-zA-Z0-9_-]+"; | ||||
|             default = builtins.replaceStrings [" " "/"] ["_" "-"] name; | ||||
|             type = lib.types.str; | ||||
|             default = name; | ||||
|           }; | ||||
|           binding = lib.mkOption { | ||||
|             type = lib.types.str; | ||||
|  | @ -77,34 +81,25 @@ | |||
|         ( | ||||
|           lib.mkMerge ( | ||||
|             builtins.map (value: let | ||||
|               entry = "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${value.name}"; | ||||
|               entry = "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${value.key}"; | ||||
|             in { | ||||
|               "org/gnome/settings-daemon/plugins/media-keys" = { | ||||
|                 custom-keybindings = [ | ||||
|                   "${entry}/" | ||||
|                 ]; | ||||
|               ${entry} = { | ||||
|                 binding = value.binding; | ||||
|                 command = value.command; | ||||
|                 name = value.name; | ||||
|               }; | ||||
| 
 | ||||
|               ${entry} = value; | ||||
|               "org/gnome/settings-daemon/plugins/media-keys" = { | ||||
|                 custom-keybindings = [ | ||||
|                   "/${entry}/" | ||||
|                 ]; | ||||
|               }; | ||||
|             }) | ||||
|             ( | ||||
|               lib.attrsets.mapAttrsToList (_: value: value) config.gnome.hotkeys | ||||
|             ) | ||||
|           ) | ||||
|         ) | ||||
|         # ( | ||||
|         #   builtins.listToAttrs ( | ||||
|         #     lib.lists.imap0 ( | ||||
|         #       i: value: lib.attrsets.nameValuePair "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom${toString i}" value | ||||
|         #     ) | ||||
|         #     (lib.attrsets.mapAttrsToList (_: value: value) config.gnome.hotkeys) | ||||
|         #   ) | ||||
|         # ) | ||||
|         #         "org/gnome/settings-daemon/plugins/media-keys" = { | ||||
|         #   custom-keybindings = [ | ||||
|         #     "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" | ||||
|         #   ]; | ||||
|         # }; | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue