dotfiles/README.md

4.8 KiB

dotfiles

Bulk commands

yay -S spectrwm fish openssh rofi xorg xorg-server scrot xorg-xinit alacritty ranger feh nerd-fonts-complete xf86-video-intel firefox cifs-utils pulseaudio-alsa pulseaudio-ctl slock xautolock zip unzip alsa-utils redshift-minimal numlockx usbutils cmatrix yubikey-touch-detector
cp dotfiles/.xinitrc ~/.xinitrc
cp dotfiles/.fehbg ~/.fehbg
chmod +x ~/.fehbg
cp dotfiles/.bash_profile ~/.bash_profile
mkdir -p ~/.config/{spectrwm,alacritty,rofi,fish/{functions}}
cp dotfiles/.config/spectrwm/spectrwm.conf ~/.config/spectrwm/spectrwm.conf
cp dotfiles/.config/spectrwm/spectrwm_fr.conf ~/.config/spectrwm/spectrwm_fr.conf
cp dotfiles/.config/spectrwm/bar ~/.config/spectrwm/bar
cp dotfiles/.config/alacritty/alcaritty.yml ~/.config/alacritty/alacritty.yml
cp dotfiles/.config/rogi/config ~/.config/rofi/config
cp dotfiles/.config/fish/config.fish ~/config/fish/config.fish
cp dotfiles/.config/fish/functions/cl.fish ~/.config/fish/functions/cl.fish
cp dotfiles/.config/fish/functions/fish_prompt.fish ~/.config/fish/functions/fish_prompt.fish
sudo sed -i "s/autospawn = no/autospawn = yes/" /etc/pulse/client.conf

Packages

General purposes

yay -S spectrwm fish openssh rofi xorg xorg-server scrot xorg-xinit alacritty ranger feh nerd-fonts-complete xf86-video-intel firefox cifs-utils pulseaudio-alsa pulseaudio-ctl slock xautolock zip unzip alsa-utils redshift-minimal numlockx usbutils cmatrix yubikey-touch-detector

Pentest purposes

yay -S wfuzz exploitdb nmap gobuster nikto hydra perl-image-exiftool zsteg rtl88xxau-aircrack-dkms-git rockyou seclists-git fcrackzip gdb radare2 enum4linux peass hashcat intel-compute-runtime metasploit

Configurations

Locale

sudo localectl set-keymap fr
sudo localectl --no-convert set-x11-keymap fr pc104
sudo localectl set-locale LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8
sudo timedatectl set-timezone Europe/Paris

Permissions

chown $USER:users .bash_profile
chown -R $USER:users .config/
chown $USER:users .fehbg
sudo chown root:root pulse/
sudo chown root:root system/
chown $USER:users .tmux.conf
sudo chown root:root X11/
chown $USER:users .xinitrc
sudo chown root:root xorg.conf.d/

Freebox share

sudo mkdir -p /mnt/data
sudo mkdir /etc/samba/credentials
sudo chown root:root /etc/samba/credentials
echo "username=<username>
password=<password> | sudo tee -a /etc/samba/credentials/data
sudo chmod 700 /etc/samba/credentials/
sudo chmod 600 /etc/samba/credentials/data

Enable services

sudo systemctl enable slock@ap.service
sudo systemctl enable --now mnt-data.automount

Misc

Generate a WPA-PSK for netctl Wi-Fi config files

Copy the value of the psk key and paste it in the netctl config file and prefix it with Key=\".

wpa_passphrase <ssid> <password>

Specific installations

Docker

In some cases, closing (and then reopening) your session is necessary.

yay -S docker
sudo gpasswd --add $USER docker
sudo systemctl start docker
sudo systemctl enable docker (optional)

Simple test

docker run --name nginx -p 80:80 -d nginx

Clean Docker (images, volumes and more that are not used)

docker system prune --all --volumes

Tinygo

yay -S tinygo avrdude avr-gcc avr-libc

Commands

Upload led blinking to Arduino Nano
tinygo flash -target=arduino-nano -port=/dev/ttyUSB0 examples/blinky1
Upload source code to Arduino Nano
tinygo flash -target arduino-nano /path/to/code

Arduino IDE and Arduino CLI

yay -S arduino arduino-cli
sudo usermod -aG uucp $USER or sudo usermod -aG tty $USER
sudo chmod a+rw /dev/ttyUSBX

Jekyll

yay -S ruby
gem update
gem install bundler jekyll

Add gem's path to fish's path

set -U fish_user_paths ~/.gem/ruby/2.7.0/bin $fish_user_paths

Rust

Replace {default, stable, nighlty} by the toolchain you want install.

yay -S rustup
rustup {default, stable, nightly}

Update toolchain

rustup update

IntelliJ IDEA

yay -S intellij-idea-ultimate-edition-jre

Use fish shell inside IntelliJ IDEA

sudo ln -s ~/.config/fish/fish_variables /opt/intellij-idea-ultimate-edition/plugins/terminal/fish/fish_variables

Laravel

Install Composer

yay -S composer

Install Laravel Installer

composer global require laravel/installer

Add Laravel Installer's path to fish's path

set -U fish_user_paths ~/.config/composer/vendor/laravel/installer/bin $fish_user_paths

Fish

Remove a path into fish's path

List current path(s)
echo $fish_user_paths | tr " " "\n" | nl
     1  ~/.config/composer/vendor/laravel/installer/bin
Delete the useless one (replace 1 by the desired index)
set --erase --universal fish_user_paths[1]