diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-18 21:57:06 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-18 21:57:06 +0530 |
| commit | 1ee84211145824f718cfa10e473b6d2d3c7d4dcf (patch) | |
| tree | 47a029514950e8f916393af082bed6105f68fdae /modules | |
| parent | fef4ae3023a602f6379357b11382fd5ca53e73e5 (diff) | |
| download | home-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')
| -rw-r--r-- | modules/networking/bluetui/assertions.nix | 13 | ||||
| -rw-r--r-- | modules/networking/bluetui/default.nix | 22 | ||||
| -rw-r--r-- | modules/networking/impala/assertions.nix | 13 | ||||
| -rw-r--r-- | modules/networking/impala/default.nix | 22 |
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"; |
