From 9786eb8672213344d8d1b7bdef12bc94510b20db Mon Sep 17 00:00:00 2001 From: outremonde Date: Tue, 10 Jun 2025 20:32:00 -0400 Subject: initialized repository Former-commit-id: 84647f22b951a957b2b83885b612115d473f6626 --- modules/user/default-apps.nix | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 modules/user/default-apps.nix (limited to 'modules/user/default-apps.nix') diff --git a/modules/user/default-apps.nix b/modules/user/default-apps.nix new file mode 100644 index 0000000..7ec2b16 --- /dev/null +++ b/modules/user/default-apps.nix @@ -0,0 +1,49 @@ +{ config, lib, ... }: +let + cfg = config.default-applications; + mkCommand = name: lib.mkOption { + type = lib.types.str; + default = ""; + description = "The default ${name}."; + }; + mkDesktopFile = name: lib.mkOption { + type = lib.types.str; + default = ""; + description = "The default ${name}'s .desktop file"; + }; +in { + options.default-applications = { + web-browser = { + command = mkCommand "web browser"; + desktop-file = mkDesktopFile "web browser"; + }; + text-editor = { + command = mkCommand "text editor"; + desktop-file = mkDesktopFile "text editor"; + }; + image-viewer = { + command = mkCommand "image viewer"; + desktop-file = mkDesktopFile "image viewer"; + }; + video-viewer = { + command = mkCommand "video viewer"; + desktop-file = mkDesktopFile "video viewer"; + }; + terminal-emulator = { + command = mkCommand "terminal emulator"; + runTuiCommand = mkCommand "terminal emulator run tui command"; + runCliCommand = mkCommand "terminal emulator run cli command"; + desktop-file = mkDesktopFile "terminal emulator"; + }; + }; + config = { + xdg.mimeApps = { + enable = true; + defaultApplications = { + "text/plain" = [ cfg.text-editor.desktop-file ]; + "text/html" = [ cfg.text-editor.desktop-file ]; + "text/nix" = [ cfg.text-editor.desktop-file ]; + }; + }; + }; +} -- cgit v1.2.3