52 lines
1.4 KiB
Nix
52 lines
1.4 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.services.az-qtile;
|
|
rofi-search = pkgs.writeShellScriptBin "rofi-search" ''
|
|
# Use rofi to get user input
|
|
raw_user_input=$(echo "" | ${pkgs.rofi}/bin/rofi -dmenu -p "What do you want to search:")
|
|
user_input=$(${pkgs.jq}/bin/jq --raw-output --null-input --arg x "$raw_user_input" '$x|@uri')
|
|
|
|
# Check if user provided input
|
|
if [ -n "$user_input" ]; then
|
|
# Execute your command with the user input as an argument
|
|
# Replace 'your_command' with the actual command you want to run
|
|
$DEFAULT_BROWSER "https://duckduckgo.com/?q=$user_input"
|
|
else
|
|
echo "No input provided."
|
|
fi
|
|
'';
|
|
in
|
|
{
|
|
options = {
|
|
services.az-qtile.enable = lib.mkEnableOption "Enable Qtile window manager.";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
services = {
|
|
xserver = {
|
|
displayManager.defaultSession = "none+qtile";
|
|
windowManager.qtile.enable = true;
|
|
};
|
|
};
|
|
home-manager.users.${config.az-username} = {
|
|
home.file.".config/qtile/config.py".source = ./config.py;
|
|
home.file.".config/qtile/autostart.sh".source = ./autostart.sh;
|
|
home.packages = [
|
|
pkgs.pulseaudio # required for volume controls in qtile
|
|
rofi-search
|
|
];
|
|
systemd.user.targets.tray = {
|
|
Unit = {
|
|
Description = "Home Manager System Tray";
|
|
Requires = [ "graphical-session-pre.target" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|