aboutsummaryrefslogtreecommitdiffstats
path: root/modules/networking/bluetui
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-18 21:57:06 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-18 21:57:06 +0530
commit1ee84211145824f718cfa10e473b6d2d3c7d4dcf (patch)
tree47a029514950e8f916393af082bed6105f68fdae /modules/networking/bluetui
parentfef4ae3023a602f6379357b11382fd5ca53e73e5 (diff)
downloadhome-manager-config-1ee84211145824f718cfa10e473b6d2d3c7d4dcf.tar.gz
home-manager-config-1ee84211145824f718cfa10e473b6d2d3c7d4dcf.zip
feat: added desktop entries for bluetui and impala
Added the desktop entries for bluetui and impala so they can now be run from fzf-launchers or any other launcher. Also added assertions making sure terminal.kitty is enabled if bluetui or impala are enabled, as we are using it as the terminal for the commands for their desktop entries.
Diffstat (limited to 'modules/networking/bluetui')
-rw-r--r--modules/networking/bluetui/assertions.nix13
-rw-r--r--modules/networking/bluetui/default.nix22
2 files changed, 33 insertions, 2 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
+ ];
};
}