ParrotOS desktop enviroment.
Esta es una guía basada en este video de @s4vitar, no es con intención de hacer un plagio, es con intención de aprender y hacerle la vida un poquito más fácil a la gente.
Aquí está el pastebin original.
1. Actualizamos el sistema.
sudo apt upgrade
Esto lleva un rato...
2. Clonamos este repositorio.
cd ~/Descargas/
git clone https://github.com/amorinn/ParrotOS-desktop-enviroment.git
3. Instalamos los siguientes paquetes:
sudo apt install build-essential git vim xcb libxcb-util0-dev libxcb-ewmh-dev libxcb-randr0-dev libxcb-icccm4-dev libxcb-keysyms1-dev libxcb-xinerama0-dev libasound2-dev libxcb-xtest0-dev libxcb-shape0-dev
4. Instalamos bspwm y sxhkd:
cd ~/Descargas/
git clone https://github.com/baskerville/bspwm.git
git clone https://github.com/baskerville/sxhkd.git
cd bspwm/
make
sudo make install
cd ../sxhkd/
make
sudo make install
sudo apt install bspwm
5. Cargamos en bspwm y sxhkd ficheros de ejemplo:
mkdir ~/.config/bspwm
mkdir ~/.config/sxhkd
cd ~/Descargas/bspwm/
cp examples/bspwmrc ~/.config/bspwm/
chmod +x ~/.config/bspwm/bspwmrc
cp examples/sxhkdrc ~/.config/sxhkd/
6. Añadimos keybindings a sxhkd:
Modificamos ~/.config/sxhkd/sxhkdrc
borramos su contenido y pegamos los siguiente:
#
# wm independent hotkeys
#
# terminal emulator
super + Return
gnome-terminal
# program launcher
super + d
rofi -show run
# make sxhkd reload its configuration files:
super + Escape
pkill -USR1 -x sxhkd
#
# bspwm hotkeys
#
# quit/restart bspwm
super + alt + {q,r}
bspc {quit,wm -r}
# close and kill
super + {_,shift + }w
bspc node -{c,k}
# alternate between the tiled and monocle layout
super + m
bspc desktop -l next
# send the newest marked node to the newest preselected node
super + y
bspc node newest.marked.local -n newest.!automatic.local
# swap the current node and the biggest node
super + g
bspc node -s biggest
#
# state/flags
#
# set the window state
super + {t,shift + t,s,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# set the node flags
super + ctrl + {m,x,y,z}
bspc node -g {marked,locked,sticky,private}
#
# focus/swap
#
super + {_,shift + }{Left,Down,Up,Right}
bspc node -{f,s} {west,south,north,east}
# focus the node for the given path jump
super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
# focus the next/previous node in the current desktop
super + {_,shift + }c
bspc node -f {next,prev}.local
# focus the next/previous desktop in the current monitor
super + bracket{left,right}
bspc desktop -f {prev,next}.local
# focus the last node/desktop
super + {grave,Tab}
bspc {node,desktop} -f last
# focus the older or newer node in the focus history
super + {o,i}
bspc wm -h off; \
bspc node {older,newer} -f; \
bspc wm -h on
# focus or send to the given desktop
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '^{1-9,10}'
#
# preselect
#
# preselect the direction
super + ctrl + alt + {Left,Down,Up,Right}
bspc node -p {west,south,north,east}
# preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
super + ctrl + alt + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
#
# move/resize
#
# expand a window by moving one of its side outward
#super + alt + {h,j,k,l}
# bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# contract a window by moving one of its side inward
#super + alt + shift + {h,j,k,l}
# bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
# move a floating window
super + ctrl + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}
# Custom move/resize
alt + super + {Left,Down,Up,Right}
~/.config/bspwm/scripts/bspwm_resize {west,south,north,east}
# ------------------------------------------------------------------------------------------------```
Y ejecutamos:
```bash
mkdir ~/.config/bspwm/scripts/
cp ~/Descargas/ParrotOS-desktop-enviroment/bspwm_resize ~/.config/bspwm/scripts
chmod +x ~/.config/bspwm/scripts/bspwm_resize
7. Procedemos a instalar la polybar.
Para ello instalamos los siguientes paquetes:
sudo apt install cmake cmake-data pkg-config python3-sphinx libcairo2-dev libxcb1-dev libxcb-util0-dev libxcb-randr0-dev libxcb-composite0-dev python3-xcbgen xcb-proto libxcb-image0-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-xkb-dev libxcb-xrm-dev libxcb-cursor-dev libasound2-dev libpulse-dev libjsoncpp-dev libmpdclient-dev libcurl4-openssl-dev libnl-genl-3-dev liuv1-dev
Para instalar la polybar hacemos lo siguiente:
cd ~/Descargas/
git clone --recursive https://github.com/polybar/polybar
cd polybar/
mkdir build
cd build/
cmake ..
make -j$(nproc)
sudo make install
8. Procedemos con la instalación de Picom
Actualizamos el sistema:
sudo apt update
E instalamos los siguientes paquetes:
sudo apt install meson libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre2-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev libxcb-glx0-dev feh rofi
A continuación
cd ~/Descargas/
git clone https://github.com/ibhagwan/picom.git
cd picom/
git submodule update --init --recursive
meson --buildtype=release . build
ninja -C build
sudo ninja -C build install
9. Reiniciamos y seleccionamos bspwm
Para seleccionar bspwm clickamos encima del circulo blanco que nos aparece en la derecha de nuestro usuario en la pantalla de bloqueo cuando reiniciamos y seleccionamos bspwm y nos logueamos.
Si no quieres reiniciar haz
kill -9 -1
.
Una vez dentro se verá todo en negro, al pulsar super + enter se nos abrirá una terminal.
Siendo "super" la tecla de windows
Para conectarse a internet escribe
nmcli device wifi
para ver las redes disponibles ynmcli device wifi connect "TU WIFI" password "CONTRASEÑA"
10. Instalamos la Hack Nerd Font.
Ejecutamos los siguientes comandos:
cd ~/Descargas/
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Hack.zip
sudo mv ~/Descargas/Hack.zip /usr/local/share/fonts
cd /usr/local/share/fonts
unzip Hack.zip
sudo rm Hack.zip
fc-cache -v
y ya tendríamos las Hack Nerd fonts instaladas, ahora nos dirigimos al apartado "Editar" en una terminal y elegimos perfiles, desmarcamos la casilla de "Usar la tipografía de ancho fijo del sistema" y seleccionamos "Hack nerd fonts mono regular". Antes de salir desmarcamos las casillas de "Permitir texto resaltado","Mostrar la barra de menús en los terminales nuevos por defecto" y "Campana del terminal". Y por último vamos a la pestaña de desplazamiento y donde dice "La barra de desplazamiento está:" seleccionamos desconectado.
11. Configuramos un fondo de pantalla:
Descargamos el fondo y lo movemos al directorio que queramos.
echo "feh --bg-fill /ruta/al/fondo.jpg" >> ~/.config/bspwm/bspwmrc
Siendo "/ruta/al/fondo" la ruta a nuestro fondo. Si quieres puedes utilizar el que ya viene en ~/Descargas/ParrotOS-desktop-enviroment.
12. Configuramos la polybar.
cd ~/Descargas
git clone https://github.com/VaughnValle/blue-sky.git
mkdir ~/.config/polybar
cd ~/Descargas/blue-sky/polybar/
cp * -r ~/.config/polybar
echo '~/.config/polybar/./launch.sh' >> ~/.config/bspwm/bspwmrc
cd fonts
sudo cp * /usr/share/fonts/truetype/
fc-cache -v
Pulsamos super + r para ver la polybar.
Aquí puedes aprender a hacer un módulo para spotify.
13. Configuramos picom.
mkdir ~/.config/picom
cd ~/.config/picom
cp ~/Descargas/blue-sky/picom.conf .
Luego modificamos picom.conf y comentamos 'backend ="glx"' y descomentamos 'backend = "xrender"'
Antes de recargar la configuración, hacemos un seguimiento del ratón para saber en qué ventana estamos con el siguiente comando:
echo "bspc config focus_follows_pointer true" >> ~/.config/bspwm/bspwmrc
Posteriormente, ejecutamos los siguientes comandos para aplicar los bordeados:
echo 'picom --experimental-backends &' >> ~/.config/bspwm/bspwmrc
echo 'bspc config border_width 0' >> ~/.config/bspwm/bspwmrc
Y hacemos super + r para ver los cambios.
Si experimentamos lentitud o problemas de rendimiento probamos a volver a descomentar 'backend = "glx"' y a comentar 'backend = "xrender"' en ~/.config/picom/picom.comf y si eso no funciona jugamos con los ajustes de picom.comf
14. Instalamos el tema nord para rofi.
En una terminal escribimos rofi-theme-selector
y se nos abrirá rofi con un a selección de temas para elegir, abajo de todo estará el tema nord, ponemos el seleccionador encima y pulsamos alt + a.
15. Configuramos la polybar.
Ejecutamos:
echo "xsetroot -cursor_name left_ptr &" >> ~/.config/bspwm/bspwmrc
Para configurar el estilo de la polybar editamos ~/.config/polybar/current.ini y modificamos todo a nuestro antojo.
16. Instalamos Slim y Slimlock.
sudo apt update
sudo apt install slim libpam0g-dev libxrandr-dev libfreetype6-dev libimlib2-dev libxft-dev
cd ~/Descargas/
git clone https://github.com/joelburget/slimlock.git
cd slimlock/
sudo make
sudo make install
cd ~/Descargas/blue-sky/slim
sudo cp slim.conf /etc/
sudo cp slimlock.conf /etc
cd ~/Descargas
git clone https://github.com/adi1090x/slim_themes.git
cd /slim-themes/themes
mv /overlay /default
sudo cp -r default /usr/share/slim/themes
Y reiniciamos el equipo.
17. Instalamos la powerlevel10k.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
Despues escribimos zsh
y empezará la configuración de la powerlevel10k, elegimos las opciones que mas se adapten a nosotros. Y lo volvemos a hacer con el usuario Root.
Ahora tendremos que hacer que la zsh sea nuestra shell predeterminada con estos dos comandos:
usermod --shell /usr/bin/zsh tuUsuario
Donde pone "tuUsuario" pones tu usuario 😐.
usermod --shell /usr/bin/zsh root
Y enlazamos el .zshrc de nuestro usuario con el de Root:
sudo ln -s -f ~/.zshrc /root/.zshrc
Luego editamos el archivo .p10k a nuestro gustos y con nuestros propios colores. Para arreglar un problema de permisos al migrar de su a nuestro usuario ejecutamos los siguientes comandos.
chown tuUsuario:tuUsuario /root
chown tuUsuario:tuUsuario /root/.cache -R
chown tuUsuario:tuUsuario /root/.local -R
18. Instalamos bat, lsd, fzf y ranger.
cd ~/Descargas/
wget https://github.com/Peltoche/lsd/releases/download/0.20.1/lsd_0.20.1_amd64.deb
wget https://github.com/sharkdp/bat/releases/download/v0.18.3/bat_0.18.3_amd64.deb
sudo dpkg -i *.deb
sudo apt install fzf ranger
19. Instalamos plugins para la zsh.
cd /usr/share
sudo mkdir zsh-plugins
sudo chown tuUsuario:tuUsuario zsh-plugins
cd zsh-plugins
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/sudo/sudo.plugin.zsh
20. Configuramos los aliases.
cd ~/Descargas/ParrotOS-desktop-enviroment
cat aliases >> ~/.zshrc