Olá pessoal!

Hoje eu resolvi reviver esse meu blog, e já vou começar com algo que eu sempre quis mostrar em detalhes, porém posts de BlueSky são super limitados...

Eu vim mostrar para vocês o meu setup com Arch Linux, o ricing que fiz, os apps que mais uso, e também como eu faço lives no stream.place e na twitch.tv!

Print do meu desktop, com um wallpaper da Hatsune Miku, um terminal flutuante com o fastfetch, alguns widgets e tudo com cores cianas

Sistema

O sistema que eu estou usando atualmente é o Arch Linux, com o kernel padrão dele. Como desktop eu uso o Hyprland com o shell gráfico Noctalia. E o shell de console ZSH.

Por que Hyprland?

Prós:

  1. 1.

    Customização ampla

  2. 2.

    Leveza

  3. 3.

    Tem atualizações frequentes

  4. 4.

    Ecossistema de plugins

Cons:

  1. 1.

    Requer conhecimentos de programação para mexer nas configurações

  2. 2.

    Não tem features básicas como docks, launcher, barra de pesquisa e outros

  3. 3.

    Por ser de um nicho específico, tutoriais e ajuda em casos de bugs são mais difíceis de encontrar

  4. 4.

    Usa EXCLUSIVAMENTE Wayland, que tem problemas com alguns apps

Por que Noctalia?

Eu gosto muito do noctalia pois é super simples de configurar, mas ainda te dá muitas opções de customização. Além de ter integração nativa com calendários da Apple e Google, um launcher muito bom, e um sistema de tematização super simples de usar.

Prós:

  1. 1.

    Fácil de customizar, mas mantendo amplas opções

  2. 2.

    Ecossistema de plugins enorme

  3. 3.

    Vem com diversas features e integrações, cobre 90% do que eu preciso em um desktop

  4. 4.

    Sistema de tematização fácil e compatível com diversos apps

Cons:

  1. 1.

    Updates grandes (4.0 -> 5.0 por exemplo) quebram ou requerem mudanças na configuração, o que me pegou desprevinida uma vez

  2. 2.

    Documentação meio confusa

  3. 3.

    Ainda mais nicho que Hyprland...

  4. 4.

    Tem dificuldade para reconhecer players de mídia como mpv e VLC

Por que Arch Linux?

Eu gosto de ter um sistema que está sempre atualizado, e gosto da forma minimalista que ele vem. Por padrão, instala o kernel, o básico pra funcionar, e só. Sem apps forçados, sem desktop pesado, nada. Entretanto, boa sorte para instalar e manter ele caso seja iniciante em Linux...

Prós:

  1. 1.

    Minimalista e leve

  2. 2.

    Muito customizável

Cons:

  1. 1.

    Difícil de instalar e manter

  2. 2.

    Atualizações podem quebrar o sistema

Tematização (Ricing)

Pra quem não sabe, ricing se refere a uma customização ampla (e muitas vezes excessiva) de um desktop. O termo surgiu da cultura do automobilismo, mas isso cabe a você pesquisar se tiver interesse.

Enfim, em grande parte o rice que eu uso é o que o próprio Noctalia disponibiliza. Ele pega as cores do meu wallpaper, e aplica elas em vários apps como o meu navegador, apps que usam o framework GTK ou QT, NeoVIM, meu terminal e outros...

Tela de customização de aparência do Noctalia
Tela de modelos de tematização do próprio Noctalia
Tela de modelos de tema da comunidade
1 / 3

Como pode ver acima, o próprio Noctalia cuida de bastante coisa. Porém tem alguns apps que não funcionam tão bem... Por experiência própria, o tema do Discord não é lá muito bom. Então eu baixei outro, e coloquei a mesma fonte do resto do sistema.

Aqui vai uma print do Discord, assim como de outros apps:

Discord com fundo personalizado, e fonte Monocraft, com o servidor oficial de Hollow Knight aberto.
Gerenciador de arquivos Nautilus com o tema ciano
Gerenciador de Arquivos Yazi com tema ciano
NeoVIM com tema ciano
Gerenciador de Tarefas BTOP com tema ciano
Navegador Zen-Browser com tema ciano, e página inicial do DuckDuckGo aberta
1 / 6

Para tornar mais consistente a alteração de temas, cores e modos, eu tenho um script que muda a cor do meu cursor, além de algumas configurações do GTK. Eu uso o tema Rosé Pine para qualquer coisa que o Noctalia não consiga tematizar. Antigamente usava ele no próprio Noctalia também.

#!/usr/bin/bash

DARK_CURSOR_THEME="BreezeX-RosePine-Linux"
DARK_THEME="rose-pine-moon-gtk"
DARK_ICONS="Adwaita"
DARK_CURSOR_SIZE=24
DARK_DISCORD_THEME=$HOME/.var/app/dev.vencord.Vesktop/config/vesktop/themes/rose-pine-moon.css

DISCORD_TARGET_THEME=$HOME/.var/app/dev.vencord.Vesktop/config/vesktop/themes/rose-pine.css

LIGHT_CURSOR_THEME="BreezeX-RosePineDawn-Linux"
LIGHT_THEME="rose-pine-dawn-gtk"
LIGHT_ICONS="Adwaita"
LIGHT_CURSOR_SIZE=24
LIGHT_DISCORD_THEME=$HOME/.var/app/dev.vencord.Vesktop/config/vesktop/themes/rose-pine-dawn.css

SETTINGS="/home/yasmin/.config/noctalia/settings.toml"
noctalia config export >$SETTINGS
IS_DARK=$(taplo get -f "$SETTINGS" theme.mode)

THEME=0
CURSOR_THEME=0
ICONS=0
CURSOR_SIZE=0

if [[ "$IS_DARK" == "dark" ]]; then
  echo "Dark theme detected!"
  THEME="$DARK_THEME"
  CURSOR_THEME="$DARK_CURSOR_THEME"
  ICONS="$DARK_ICONS"
  CURSOR_SIZE=$DARK_CURSOR_SIZE
  echo "Applying dark theme!"
  gsettings set org.gnome.desktop.interface cursor-theme "$THEME"
  gsettings set org.gnome.desktop.interface cursor-size 24
  echo "Dark theme applied!"
else
  echo "Light theme detected!"
  THEME="$LIGHT_THEME"
  CURSOR_THEME="$LIGHT_CURSOR_THEME"
  ICONS="$LIGHT_ICONS"
  CURSOR_SIZE=$LIGHT_CURSOR_SIZE
  echo "Applying light theme!"
  gsettings set org.gnome.desktop.interface cursor-theme "$THEME"
  gsettings set org.gnome.desktop.interface cursor-size 24
  echo "Light theme applied!"
fi

hyprctl setcursor "$CURSOR_THEME" 24
flatpak override --user --env=XCURSOR_THEME="$CURSOR_THEME" --env=XCURSOR_SIZE=24

cat >"$HOME/.config/gtk-4.0/settings.ini" <<EOF
[Settings]
gtk-theme-name=$THEME
gtk-icon-theme-name=$ICONS
gtk-font-name=Monocraft Light 11
gtk-cursor-theme-name=$CURSOR_THEME
gtk-cursor-theme-size=$CURSOR_SIZE
gtk-application-prefer-dark-theme=0
EOF

cat >"$HOME/.config/gtk-3.0/settings.ini" <<EOF
[Settings]
gtk-theme-name=$THEME
gtk-icon-theme-name=$ICONS
gtk-font-name=Monocraft Light 11
gtk-cursor-theme-name=$CURSOR_THEME
gtk-cursor-theme-size=$CURSOR_SIZE
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=0
EOF

Apps Que Uso

Como são muitos, resolvi listar ao invés de explicar 1 por 1:

  • Navegador: Zen-Browser

  • Terminal: Ghostty

  • Gerenciador de Arquivos: Nautilus

  • Gerenciador de Tarefas: BTOP++

  • Mensageiros: ZapZap, Signal e Vesktop1

  • Loja de Apps Flatpack: Bazaar

  • AUR helper: yay

  • E-Mails e Calendários: Thunderbird

  • Transmissão: OBS, Social Stream Ninja e meus próprios bots

  • Player de Mídia: mpv

  • Editor de Texto: NeoVIM (com LazyVIM)

  • Visualizador de Imagens: Gnome Image Viewer

  • VPN: ProtonVPN

  • Gerenciador de Senhas: Bitwarden2

Meu Setup de Lives

Pra quem não sabe, eu faço lives na twitch e no stream.place, como meu PC é super fraco, eu jogo no meu PS5 (ou no Switch as vezes), e compartilho a tela pra live por uma placa de captura USB bem baratinha.

Basicamente, eu tenho um Switch HDMI aonde meus consoles estão conectados. Entra dois cabos, sai 1, e eu posso mudar qual deles está dando sinal pro meu monitor e placa. Em teoria dá pra conectar até 4 consoles, porém eu só uso 2 mesmo, um pro meu Nintendo Switch e um pro meu PS5.

Depois disso, esse cabo que sai passa por um split HDMI, ele vai duplicar a imagem para dois cabos, um vai direto no meu monitor para eu conseguir jogar sem delay, e o outro vai para a placa. Eu jogo em 720p pois qualquer resolução acima disso causa bugs visuais na placa de captura :/

A placa tem um delay enorme, qualidade pésssima e frequentemente trava. Estou pensando em trocar ela por uma placa profissional, porém ainda externa (meu PC n tem espaço interno pra uma placa de captura PCIe

Já o meu PC, se conecta ao meu monitor via display port.

Eu uso o OBS para capturar a tela e os overlays, e transmito para o streamplace, que então retransmite para a Twitch. Eu acompanho o chat das duas lives em um só lugar, o Social Stream Ninja, através do meu celular. Não sei como que isso funciona, já que o app roda no meu computador... Mas ajuda muito já que eu só tenho um monitor, e uso ele para ver o jogo e não a live.

Eu uso um cabo de rede ligado no computador, porém quando eu jogo algum jogo competitivo (tipo Valorant ou Overwatch), eu uso Wi-Fi no computador e o cabo de rede no PS5. No futuro eu vou comprar um switch de rede, e vou conectar o Nintendo Switch, PS5 e PC via cabo. Infelizmente isso não muda muita coisa, já que eu uso a internet da Claro que é PÉSSIMA.

E por fim, meus periféricos (teclado, mouse, fone e microfone) estão conectados por um hub USB qualquer, e eu tenho um cabo que liga ao PC, e outro ao PS5. Quando eu quiser trocar, basta mudar qual cabo está plugado

Aqui vão links de compra/download dos produtos q eu mencionei acima:

Placa de Captura

Switch HDMI (Não achei o mesmo modelo :P)

Split HDMI

Hub USB

OBS Studio

Social Stream Ninja

Bots das Lives

Eu tenho bots de música na minha live, eu que fiz eles, e eles são inteiramente de código aberto (já adianto que o código é mal feito, especialmente o do Discord, e que eu usei IA para me ajudar, mas boa parte foi feito a mão, e tudo revisado por mim)

Caso se interessem, aqui estão os bots:

Bot do Discord (Põe Música na call, e outras coisinhas)

Bot da Twitch (Manda músicas do chat para o Discord)

Bot do Stream.Place (Manda músicas do chat para o Discord, além de outras coisinhas no BlueSky)

E é isso...

Esse post é bem diferente do resto q eu costumo fazer kk, mas eu sempre quis mostrar um pouco mais do meu setup, especialmente das lives.

Espero que tenham gostado, e logo logo eu faço mais um post aqui!

Só não sei ainda sobre o que...

Bye!