aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/networking/bluetui/assertions.nix13
-rw-r--r--modules/networking/bluetui/default.nix22
-rw-r--r--modules/networking/impala/assertions.nix13
-rw-r--r--modules/networking/impala/default.nix22
4 files changed, 66 insertions, 4 deletions
diff --git a/modules/networking/bluetui/assertions.nix b/modules/networking/bluetui/assertions.nix
new file mode 100644
index 0000000..6d0924f
--- /dev/null
+++ b/modules/networking/bluetui/assertions.nix
@@ -0,0 +1,13 @@
+# Assertions - Validates kitty is enabled for bluetui desktop entry
+{ config, ... }:
+{
+ assertions = [
+ {
+ assertion = !config.networking.bluetui.enable || config.terminal.kitty.enable;
+ message = ''
+ networking.bluetui is enabled but terminal.kitty.enable is not.
+ bluetui's desktop entry requires kitty as the terminal launcher. Please enable terminal.kitty.
+ '';
+ }
+ ];
+}
diff --git a/modules/networking/bluetui/default.nix b/modules/networking/bluetui/default.nix
index 21bed12..6aefc6a 100644
--- a/modules/networking/bluetui/default.nix
+++ b/modules/networking/bluetui/default.nix
@@ -5,14 +5,32 @@
pkgs,
...
}:
-
+let
+ bluetuiDesktopItem = pkgs.makeDesktopItem {
+ name = "bluetui";
+ desktopName = "BlueTUI";
+ exec = "${lib.getExe config.terminal.kitty.package} -e ${lib.getExe config.networking.bluetui.package}";
+ icon = "kitty";
+ categories = [ "Network" ];
+ comment = "Bluetooth TUI client";
+ terminal = false;
+ type = "Application";
+ };
+in
{
+ imports = [
+ ./assertions.nix
+ ];
+
options.networking.bluetui = {
enable = lib.mkEnableOption "Enables bluetui.";
package = lib.mkPackageOption pkgs "bluetui" { };
};
config = lib.mkIf config.networking.bluetui.enable {
- home.packages = [ config.networking.bluetui.package ];
+ home.packages = [
+ config.networking.bluetui.package
+ bluetuiDesktopItem
+ ];
};
}
diff --git a/modules/networking/impala/assertions.nix b/modules/networking/impala/assertions.nix
new file mode 100644
index 0000000..57cb04f
--- /dev/null
+++ b/modules/networking/impala/assertions.nix
@@ -0,0 +1,13 @@
+# Assertions - Validates kitty is enabled for impala desktop entry
+{ config, ... }:
+{
+ assertions = [
+ {
+ assertion = !config.networking.impala.enable || config.terminal.kitty.enable;
+ message = ''
+ networking.impala is enabled but terminal.kitty.enable is not.
+ impala's desktop entry requires kitty as the terminal launcher. Please enable terminal.kitty.
+ '';
+ }
+ ];
+}
diff --git a/modules/networking/impala/default.nix b/modules/networking/impala/default.nix
index 41fb208..6d37361 100644
--- a/modules/networking/impala/default.nix
+++ b/modules/networking/impala/default.nix
@@ -5,15 +5,33 @@
pkgs,
...
}:
-
+let
+ impalaDesktopItem = pkgs.makeDesktopItem {
+ name = "impala";
+ desktopName = "Impala";
+ exec = "${lib.getExe config.terminal.kitty.package} -e ${lib.getExe config.networking.impala.package}";
+ icon = "kitty";
+ categories = [ "Network" ];
+ comment = "TUI for managing wifi on Linux";
+ terminal = false;
+ type = "Application";
+ };
+in
{
+ imports = [
+ ./assertions.nix
+ ];
+
options.networking.impala = {
enable = lib.mkEnableOption "Enables impala.";
package = lib.mkPackageOption pkgs "impala" { };
};
config = lib.mkIf config.networking.impala.enable {
- home.packages = [ config.networking.impala.package ];
+ home.packages = [
+ config.networking.impala.package
+ impalaDesktopItem
+ ];
xdg.mimeApps.defaultApplications = {
"x-scheme-handler/impala" = "impala.desktop";