dotfiles
Go to file
adrien 816409f27d
Add XDG user directories configuration file and fish function to mount microSD card
2024-04-18 16:16:04 +02:00
.config Add XDG user directories configuration file and fish function to mount microSD card 2024-04-18 16:16:04 +02:00
.gnupg Add a fish function 2021-09-02 21:54:31 +02:00
X11 First commit 2020-12-01 02:27:42 +01:00
credentials Simplification of bulk commands and add configurations 2021-04-22 01:20:43 +02:00
system Simplification of bulk commands and add configurations 2021-04-22 01:20:43 +02:00
xorg.conf.d First commit 2020-12-01 02:27:42 +01:00
.Xresources Add phinger-cursors package, fix rustup command and add .Xresources file 2022-11-28 23:25:09 +01:00
.bash_profile First commit 2020-12-01 02:27:42 +01:00
.fehbg Add XDG user directories configuration file and fish function to mount microSD card 2024-04-18 16:16:04 +02:00
.gemrc Add .gemrc file and some environment variables for Ruby and more errors corrections 2021-04-22 02:26:33 +02:00
.tmux.conf First commit 2020-12-01 02:27:42 +01:00
.xinitrc Load X resources and update documentation to install custom font 2022-11-23 11:12:27 +01:00
LICENSE Update license 2022-03-01 23:44:07 +01:00
README.md Add XDG user directories configuration file and fish function to mount microSD card 2024-04-18 16:16:04 +02:00

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 phinger-cursors xdg-user-dirs
cp dotfiles/.xinitrc ~/
cp dotfiles/.fehbg ~/
cp dotfiles/.bash_profile ~/
cp dotfiles/.tmux.conf ~/
cp dotfiles/.gemrc ~/
cp dotfiles/.Xresources ~/
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/
cp dotfiles/.config/user-dirs.dirs ~/.config/
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 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 phinger-cursors ttf-agave-nerd

Hacking 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:

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 {stable, nighlty} by the toolchain you want to 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]