Watch
1
0
Fork
You've already forked dotfiles
0
My dotfiles
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-06 16:43:07 +01:00
.config Use fish_add_path instead of a custom function 2026-07-13 20:36:30 +02:00
bin Remove chromium-tunnel 2026-07-08 20:19:40 +02:00
.abcde.conf Adding abcde config. 2015-11-08 18:50:52 +01:00
.bash_logout bash 2013-03-23 14:48:31 +01:00
.bash_profile Cleanup the .bash_profile file 2026-04-19 15:41:00 +02:00
.bashrc Cleanup the .bashrc file 2026-04-19 15:24:46 +02:00
.git_commit_msg.txt Add a memento to the git commit message template 2016-07-30 19:50:22 +02:00
.gitconfig Use git restore --staged instead of the deprecated git reset HEAD 2026-05-15 10:48:46 +02:00
.gitignore Fix git ignore of the fish variables 2025-11-04 11:03:55 +01:00
.psqlrc Adding an awesome psql prompt. 2015-02-11 17:45:43 +01:00
.signature Remove website from signature 2025-01-29 18:36:28 +01:00
.tmux.conf Disable mouse support in tmux 2026-10-12 23:00:36 +02:00
README.md Brother DCP-1610W 2026-11-06 16:43:07 +01:00

dotfiles

This is just a bunch of dotfiles.

ArchLinux packages

Installing packages:

# Base utils
pacman -S inetutils openssh wget
pacman -S fish fisher
pacman -S shared-mime-info xdg-user-dirs
pacman -S reflector
pacman -S dosfstools mtools
pacman -S zram-generator
# Helix
pacman -S helix
pacman -S bash-language-server marksman rust-analyzer tinymist yaml-language-server
# Fonts
pacman -S nerd-fonts noto-fonts noto-fonts-emoji otf-font-awesome
pacman -S texlive-fontsrecommended texlive-fontsextra
pacman -S otf-libertinus ttf-dejavu ttf-inconsolata ttf-liberation ttf-montserrat ttf-roboto
pacman -S gsfonts
# Programming languages
pacman -S cargo-audit cargo-deny cargo-outdated cargo-release dioxus-cli rustup sqlx-cli
pacman -S python python-isort ruff uv
pacman -S lua52
pacman -S jq
pacman -S shellcheck
# CLI software
pacman -S bat duf eza zoxide
pacman -S bc lshw tree
pacman -S btop htop
pacman -S fd ripgrep ripgrep-all rsync
pacman -S minizip p7zip unarchiver unrar unzip zip
pacman -S exiv2 imagemagick
pacman -S tmux zellij
pacman -S hugo mdbook
pacman -S ansible borg
pacman -S duckdb pgcli sqlite
pacman -S hashcat lynis mkcert nmap python-shodan sniffnet sqlmap ssh-audit
pacman -S ncdu playerctl qrencode yt-dlp
# Daemons
pacman -S dnsmasq nftables
pacman -S nginx nginx-mod-brotli
pacman -S transmission-cli
# Desktop environment
pacman -S cosmic
# Graphical software
pacman -S alacritty firefox gedit gimp handbrake mpv okular rhythmbox ristretto thunderbird vlc
pacman -S gvfs xarchiver
pacman -S simple-scan
# AUR
pacman -S pacman-contrib namcap
# PDF
pacman -S poppler python-weasyprint typst
# Medias
pacman -S dav1d dav2d rav1e x265 x264 libmpeg2 xvidcore
pacman -S flac gst-libav
pacman -S libwebp libavif libheif libjxl
# Bluetooth
pacman -S bluez bluez-utils
# Smartcards
pacman -S ccid libnfc mfoc opensc pcsc-tools pcsclite
pacman -S proxmark3
# Allows unprivileged processes to communicate with privileged ones
# (required for user access to poweroff and reboot commands)
pacman -S polkit

Arch User Repository

Installing yay:

$ mkdir -p "$HOME/projects/builds"
$ git clone "https://aur.archlinux.org/yay.git" "$HOME/projects/builds/yay"
$ cd "$HOME/projects/builds/yay"
$ makepkg
$ pacman -U "yay-<version>-x86_64.pkg.tar.zst"

Packages:

yay -S icann-rdap-bin

Brother DCP-1610W

yay -S brother-dcp1610w brscan4
sudo brsaneconfig4 -a name=Brother_DCP-1610W model=DCP-1610W nodename=BRW802BF94B92C3

If necessary, find the nodename using nmap:

nmap -sP 192.168.1.0/24

XDG user directories

After creating the ~/.config/user-dirs.dirs file using a symbolic link, create all directories:

$ xdg-user-dirs-update

Fish

Install the Tide prompt:

$ fisher install "IlanCosman/tide@v6"

Configure the prompt:

$ tide configure

Update the Tide prompt:

$ fisher update "IlanCosman/tide@v6"

/etc/locale.conf

$ cat >/etc/locale.conf << EOF
LANG=en_US.UTF-8
LC_ADDRESS=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8
LC_PAPER=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
EOF

RAM

Zram can easily be configured using zram-generator:

$ echo "[zram0]" >/etc/systemd/zram-generator.conf

By default, /tmp, /var/lock and /var/run are mounted in RAM using tmpfs, therefore there is no need to use zram for those directories.

SSH

Enable ssh-agent:

$ systemctl enable --user ssh-agent.service

Create a new key and add it:

$ ssh-keygen -t ed25519
$ ssh-add "$HOME/.ssh/id_ed25519"

rtkit-daemon

By default, rtkit-daemon tends to flood the system logs with not very useful notifications:

déc. 31 14:16:56 lpt-01 rtkit-daemon[1347]: Supervising 12 threads of 9 processes of 1 users.
déc. 31 14:16:56 lpt-01 rtkit-daemon[1347]: Supervising 12 threads of 9 processes of 1 users.
déc. 31 14:17:00 lpt-01 rtkit-daemon[1347]: Supervising 12 threads of 9 processes of 1 users.
déc. 31 14:17:00 lpt-01 rtkit-daemon[1347]: Supervising 12 threads of 9 processes of 1 users.

This can be fixed by setting a higher log level:

$ sudo mkdir "/etc/systemd/system/rtkit-daemon.service.d"
$ echo "[Service]\nLogLevelMax=4" | sudo tee /etc/systemd/system/rtkit-daemon.service.d/log.conf >/dev/null
$ sudo systemctl daemon-reload
$ sudo systemctl restart rtkit-daemon.service

NetworkManager

To deactivate WiFi when a wired connection is up, have a look at example 15 from man 7 nmcli-examples.

TL; DR: copy and paste a script in /etc/NetworkManager/dispatcher.d/70-wifi-wired-exclusive.sh and set it executable.