Skip to content

Repositorio de archivos de configuración de linux

Notifications You must be signed in to change notification settings

marcvspt/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Configuración general

Herramientas y configuraciones de terminal para un entorno personalizado de Kali Linux y/o Debian.

Instalaciones

Software del sistema

Algunas ya están instaladas cuando se descarga e importada una máquina preconfigurada, sin embargo, instalando desde 0 con las .iso no siempre, dependerá de que software se seleccione en el instalador. Recuerda ejecutar antes:

sudo apt update -y
sudo apt full-upgrade -y

Kali

sudo apt install -y alsa-utils bat chromium cmake command-not-found curl dnsutils docker-compose docker.io ffuf flameshot fzf gcc gettext gettext-base gettext-doc gettext-el git gobuster gzip html2text htop httpie imagemagick iptables jq kitty lsd macchanger make moreutils nano ncat neovim netdiscover netmask net-tools nmap openssl openvpn p7zip p7zip-full plocate proxychains python2 python3 python3-pip python-is-python3 ranger rlwrap starship suckless-tools tcpdump tor torbrowser-launcher tree ufw unzip vim wget whatweb xclip xterm zip zsh zsh-autosuggestions zsh-syntax-highlighting

Herramientas de pentest/red-team/hacking muy grandes que pueden estar ya instaladas, se recomienda instalar por aparte ya que podrían tardar.

sudo apt install -y burpsuite metasploit-framework wireshark zaproxy

Para WSL sudo apt install -y bat cmake command-not-found curl dnsutils ffuf fzf gcc gettext gettext-base gettext-doc gettext-el git gobuster gzip html2text htop httpie iptables jq lsd macchanger make metasploit-framework moreutils nano ncat neovim netdiscover netmask net-tools nmap openssl openvpn p7zip p7zip-full plocate proxychains python2 python3 python3-pip python-is-python3 ranger rlwrap starship suckless-tools tcpdump tor tree ufw unzip vim wget whatweb xclip xterm zip zsh zsh-autosuggestions zsh-syntax-highlighting

Debian

sudo apt install -y alsa-utils bat cmake command-not-found curl dnsutils docker-compose docker.io flameshot fzf gcc gettext gettext-base gettext-doc gettext-el git gzip html2text htop httpie imagemagick iptables jq kitty lsd make moreutils nano ncat neovim netmask net-tools openssl openvpn p7zip p7zip-full plocate python3 python3-pip python-is-python3 ranger starship suckless-tools tree ufw unzip vim wget xclip xterm zip zsh zsh-autosuggestions zsh-syntax-highlighting

Para WSL sudo apt install -y bat cmake command-not-found curl dnsutils fzf gcc gettext gettext-base gettext-doc gettext-el git gzip html2text htop httpie iptables jq lsd make moreutils nano ncat neovim netmask net-tools openssl openvpn p7zip p7zip-full plocate python3 python3-pip python-is-python3 ranger starship suckless-tools tree ufw unzip vim wget xclip xterm zip zsh zsh-autosuggestions zsh-syntax-highlighting

Extras

sudo update -y
sudo apt install -y libreoffice libreoffice-l10n-es libreoffice-help-es

Software sin repositorios en APT

Para pip2 necesitaremos descargar el instalador de forma externa:

wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
sudo python2 get-pip.py

Algunas herramientas utiles desarrolladas por mí, aquí el repositorio. En este entorno, se considera que se pondrán en la ruta /opt/bin a diferencia de lo mostrado en el repo:

user=$(whoami)
sudo chown $user:$user /opt

mkdir -p /opt/bin
git clone https://github.com/marcvspt/bash-tools.git
cd bash-tools/
cp *.sh /opt/bin

Para el prompt de zsh usaremos Powerlevel10k y para el entorno de Neovim usaremos NvChad.

En el caso de librewolf en la documentación oficial se explica como instalarlo en Debian: Installation instructions for Debian based - Main Debian Repository.

Para brave podemos encontrar en la documentación oficial como se instala Release Channel Installation - Debian, Ubuntu, Mint.

En el caso de Visual Studio Code, podemos usar el .deb directamente para instalarlo y automaticamente se instalará el repositorio para futuras actualizaciones o incluimos desde 0 los repositorios de acuerdo a la documentación: VSCode Debian and Ubuntu based distributions.

En el caso de fnm se tiene que seguir las instrucciones de su repositorio.

Fuentes

Se necesitan fuentes de nerd fonts para que los iconos funcionen bien, en especial uso FiraCode por las font ligatures.

Se necesita también la fuente Noto Emoji para emojis.

Se deben incluir en la ruta /usr/local/share/fonts y ejecutar sudo fc-cache -v.

Extensiones de navegador

Configuraciones

Copiar archivos de configuraciones:

user=$(whoami)
sudo chown $user:$user /opt
chmod 755 /home/$user

cp ./home/bashrc ~/.bashrc
cp ./home/zshrc ~/.zshrc
cp ./home/p10k.zsh ~/.p10k.zsh
cp ./home/nanorc ~/.nanorc
cp ./home/vimrc ~/.vimrc
rm -rf /home/$user/.config/htop 2>/dev/null && cp -r ./config/htop /home/$user/.config/
rm -f /home/$user/.config/starship.toml 2>/dev/null && cp ./config/starship.toml /home/$user/.config/starship.toml
cp -r ./opt/* /opt/

#No necesario en WSL
cp ./home/Xdefaults ~/.Xdefaults 
rm -rf /home/$user/.config/kitty 2>/dev/null && cp -r ./config/kitty /home/$user/.config/

Plugins de zsh:

Haremos links simbólicos a estos archivos para root, de esta forma no necesitaremos instalar de nuevo estas herramientas, temas y configuraciones para root (NO SE RECOMIENDA EN SERVIDORES PRODUCTIVOS):

user=$(whoami)
sudo mkdir -p /root/.local/share/ 2>/dev/null
sudo mkdir -p /root/.local/state/ 2>/dev/null
sudo mkdir -p /root/.config/ 2>/dev/null

sudo ln -s -f /home/$user/.bashrc /root/.bashrc
sudo ln -s -f /home/$user/.zshrc /root/.zshrc
sudo ln -s -f /home/$user/.p10k.zsh /root/.p10k.zsh
sudo ln -s -f /home/$user/.nanorc /root/.nanorc
sudo ln -s -f /home/$user/.vimrc /root/.vimrc
sudo ln -s -f /home/$user/.config/htop/ /root/.config/
sudo ln -s -f /home/$user/.config/starship.toml /root/.config/starship.toml
sudo ln -s -f /home/$user/.config/nvim /root/.config/
sudo ln -s -f /home/$user/.local/share/nvim /root/.local/share/
sudo ln -s -f /home/$user/.local/state/nvim /root/.local/state/
sudo ln -s -f /home/$user/powerlevel10k /root/

#No necesario en WSL
sudo ln -s -f /home/$user/.Xdefaults /root/.Xdefaults
sudo ln -s -f /home/$user/.config/kitty/ /root/.config/

Opcional

Algunos Wallpapers bonitos puden descargarlos en mi reporistorio Wallpapers marcvspt (No son propios, solo los recopilé).

TLD o dominio raíz personalizado en navegador web

Nota: SOLO FUNCIONA EN NAVEGADORES BASADOS EN FIREFOX: firefox, waterfox, librewolf, etc.

Es posible configurar TLDs personalizados en nuestro navegador para que se resuelvan normalmente sin tomarlo como una query de busqueda en la web. Debemos añadir una regla booleana como True en about:config de la URL, por ejemplo:

browser.fixup.domainsuffixwhitelist.htb

.htb es el dominio raíz como .com, .io, .org, etc., ahora podemos poner searcher.htb, lolipop.htb, etc., y nos dirigirá al dominio personalizado.

TLD o dominio raíz personalizado en navegador web

Cambiar prompt

Si quieres usar starship en vez de powerlevel10k comenta estas lineas en ZSHRC:

#source ~/powerlevel10k/powerlevel10k.zsh-theme

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
#[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

Y descomenta esta linea:

eval "$(starship init zsh)"

Podemos cambiar el prompt para colorearlo al estilo Arch, Fedora y Generic, es decir, colores personalizados. Debemos descomentar y comentar las secciones correspondientes a los prompts que queremos usar en el bashrc. Si quieres usar starship, solo descomenta esta linea en el mismo archivo bashrc:

eval "$(starship init bash)"

Herramientas por default

Para establecer el navegador web por default hacemos lo siguiente:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/librewolf 100
sudo update-alternatives --config x-www-browser
##### Select librewolf

Para configurar el comando vi para que abra y ejecute nvim hacemos lo siguiente:

sudo update-alternatives --install /usr/bin/vi vi /usr/bin/nvim 100
sudo update-alternatives --config vi
##### Select nvim

Se debe buscar los binarios en las rutas bin del sistema como:

  • /bin
  • /usr/bin
  • /usr/local/bin
  • /sbin
  • /usr/sbin
  • /usr/local/sbin

Grupos y shell

Algunas herramientas comunes necesitan permisos de root, sin embargo, algunos grupos ya tienen esos permisos:

user=$(whoami)
sudo usermod -aG docker,tcpdump,wireshark,www-data $user

Para configurar por defecto el uso de la zsh se debe usar el comando chsh y la ruta del ejecutable que puede estar en:

  • /bin
  • /usr/bin
  • /usr/local/bin
  • /sbin
  • /usr/sbin
  • /usr/local/sbin
user=$(whoami)
sudo chsh -s /bin/zsh $user
sudo chsh -s /bin/zsh root

Errores y soluciones

Errores.md

About

Repositorio de archivos de configuración de linux

Resources

Stars

Watchers

Forks