Estou configurando meu arquivo hyprland.conf e estou tentando fazer isso de forma limpa e modular. Estou tentando uma forma modular para que eu possa compartilhar meus dotfiles e outra pessoa possa alterar quais componentes eles estão usando sem modificar diretamente o arquivo hyprland.conf. Perto do topo do meu arquivo hyprland.conf, gostaria de criar variáveis para uso em outras partes do arquivo, como as combinações de teclas. Se eu definir explicitamente as variáveis, como $terminal = kitty, elas funcionam bem. No entanto, quando tento preencher a variável com o conteúdo de um arquivo .conf separado, ele parece não preencher.
O arquivo terminal.conf cujo conteúdo estou tentando recuperar contém apenas o seguinte:
kitty
O código que estou usando para preencher a variável no meu arquivo hyprland.conf é o seguinte:
exec-once = export TERMINAL="$(cat ~/.config/hypr/settings/terminal.conf)"
Se eu abrir um terminal e digitar
echo "$(cat ~/.config/hypr/settings/terminal.conf)"
Eu entendo
kitty
como uma resposta, que é o que espero ver na variável.
Para a seção de atalhos de teclado do meu arquivo hyprland.conf, estou tentando usar a variável da seguinte maneira:
bind = SUPER, T, exec, "$TERMINAL"
No entanto, quando uso essa tecla de atalho para abrir um terminal, nada acontece. Portanto, tentei verificar o conteúdo da variável $TERMINAL no meu arquivo hyprland.conf executando o seguinte comando:
exec = echo "$TERMINAL" >> ~/.config/hypr/hyprland.conf
Tudo o que ele adiciona ao arquivo são linhas vazias. O que estou fazendo errado?
Bem, eu pensei que já tinha tentado o seguinte, mas aparentemente eu estava enganado. A maneira correta de conseguir o que estou tentando fazer é a seguinte:
Isso define a variável dentro do arquivo hyprland.conf. Para usar a variável, por exemplo, em um keybind, é feito da seguinte forma: