241 lines
6.2 KiB
Markdown
241 lines
6.2 KiB
Markdown
# dotfiles
|
|
|
|
## Bulk commands
|
|
```
|
|
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
|
|
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/spectrwm.conf ~/.config/
|
|
cp dotfiles/.config/spectrwm/spectrwm_fr.conf ~/.config/spectrwm/
|
|
cp dotfiles/.config/spectrwm/bar ~/.config/spectrwm/
|
|
cp dotfiles/.config/alacritty/alcaritty.yml ~/.config/alacritty/
|
|
cp dotfiles/.config/rofi/config ~/.config/rofi/
|
|
cp dotfiles/.config/fish/config.fish ~/config/fish/
|
|
cp dotfiles/.config/fish/functions/cl.fish ~/.config/fish/functions/
|
|
cp dotfiles/.config/fish/functions/fish_prompt.fish ~/.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
|
|
```
|
|
|
|
## 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
|
|
```
|
|
echo "syntax on" | sudo tee -a /etc/vimrc
|
|
echo "colo desert" | sudo tee -a /etc/vimrc
|
|
echo "filetype plugin indent on" | sudo tee -a /etc/vimrc
|
|
```
|
|
|
|
## 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
|
|
```
|
|
|
|
### 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]
|
|
```
|