dotfiles
.config | ||
.gnupg | ||
credentials | ||
system | ||
X11 | ||
xorg.conf.d | ||
.bash_profile | ||
.fehbg | ||
.gemrc | ||
.tmux.conf | ||
.xinitrc | ||
LICENSE | ||
README.md |
dotfiles
Bulk commands
yay -S spectrwm fish openssh rofi xorg xorg-server scrot xorg-xinit alacritty ranger feh xf86-video-intel librewolf-bin cifs-utils pulseaudio-alsa pulseaudio-ctl slock xautolock zip unzip alsa-utils redshift-minimal numlockx usbutils cmatrix yubikey-touch-detector tlp powertop
cp dotfiles/.xinitrc ~/
cp dotfiles/.fehbg ~/
cp dotfiles/.bash_profile ~/
cp dotfiles/.tmux.conf ~/
cp dotfiles/.gemrc ~/
mkdir -p ~/.gnupg && cp dotfiles/.gnupg/gpg.conf ~/.gnupg/
chmod +x ~/.fehbg
mkdir -p ~/.config/{spectrwm,alacritty,rofi,fish/functions}
cp dotfiles/.config/spectrwm/* ~/.config/spectrwm/
cp dotfiles/.config/alacritty/alacritty.yml ~/.config/alacritty/
cp dotfiles/.config/rofi/config.rasi ~/.config/rofi/
cp dotfiles/.config/fish/config.fish ~/.config/fish/
cp dotfiles/.config/fish/functions/* ~/.config/fish/functions/
sudo sed -i "s/autospawn = no/autospawn = yes/" /etc/pulse/client.conf
sudo cp dotfiles/X11/xorg.conf /etc/X11/
sudo cp dotfiles/system/slock@.service /etc/systemd/system/slock@.service
sudo systemctl enable slock@$USER.service
sudo cp dotfiles/xorg.conf.d/20-intel.conf /etc/X11/xorg.conf.d/
sudo cp dotfiles/system/mnt-data.* /etc/systemd/system/
sudo cp dotfiles/system/powertop.service /etc/systemd/system/
sudo systemctl enable --now mnt-data.automount powertop.service tlp.service
Packages
General purposes
yay -S spectrwm fish openssh rofi xorg xorg-server scrot xorg-xinit alacritty ranger feh nerd-fonts-complete xf86-video-intel librewolf-bin cifs-utils pulseaudio-alsa pulseaudio-ctl slock xautolock zip unzip alsa-utils redshift-minimal numlockx usbutils cmatrix yubikey-touch-detector tlp powertop
Pentest purposes
yay -S wfuzz exploitdb nmap gobuster nikto hydra perl-image-exiftool zsteg rtl88xxau-aircrack-dkms-git rockyou seclists fcrackzip gdb radare2 enum4linux peass hashcat intel-compute-runtime metasploit cuda
Configurations
Power
TLP
yay -S tlp
sudo systemctl enable --now tlp.service
Powertop
yay -S powertop
sudo cp dotfiles/system/powertop.service /etc/systemd/system/
sudo systemctl enable --now powertop.service
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
sudo timedatectl set-ntp true
Freebox share
sudo mkdir -p /mnt/data
sudo mkdir -p /etc/samba/credentials
sudo cp dotfiles/credentials/data /etc/samba/credentials/ (complete the login information in this file)
sudo chmod 700 /etc/samba/credentials/
sudo chmod 600 /etc/samba/credentials/data
Enable services
sudo systemctl enable slock@$USER.service
sudo systemctl enable --now mnt-data.automount
GPU
On a second laptop I have a Quadro T2000 graphics card, if I want to be able to use it (for hashcat
among others) I have to install the following tools and make the following configuration.
yay -S nvidia bumblebee
sudo gpasswd -a $USER bumblebee
sudo systemctl enable --now bumblebeed.service
It's a good idea to reboot, to make sure the modules load properly. To test if Bumblebee works with your Optimus system, you can execute the following thing.
optirun glxspheres64
If the window with animation shows up, Optimus with Bumblebee is working.
Some useful links to learn more:
- https://wiki.archlinux.org/index.php/NVIDIA,
- https://wiki.archlinux.org/index.php/AMDGPU,
- https://wiki.archlinux.org/index.php/Bumblebee.
Miscellaneous
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>
# reading passphrase from stdin
<password>
Configure git
git config --global user.name <username>
git config --global user.email <e-mail>
git config --global gpg.program gpg
git config --global user.signingkey 0x... (signing subkey ID)
git config --global commit.gpgsign true
Configure vim
curl -LOsSf https://raw.githubusercontent.com/glepnir/oceanic-material/master/colors/oceanic_material.vim
sudo mv oceanic_material.vim /usr/share/vim/vim90/colors/
echo "syntax on" | sudo tee -a /etc/vimrc
echo "colorscheme oceanic_material" | sudo tee -a /etc/vimrc
echo "filetype plugin indent on" | sudo tee -a /etc/vimrc
Disable sleep mode when closing the lid
sudo sed -i "s/#HandleLidSwitch=suspend/HandleLidSwitch=ignore/" /etc/systemd
/logind.conf
Specific installations
Docker
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
cp dotfiles/.gemrc ~/
gem install bundler jekyll rdoc
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 intellij-idea-ultimate-edition
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]