dotfiles/README.md

200 lines
4.0 KiB
Markdown

# dotfiles
This is my ArchLinux configuration.
Tested on Acer Travelmate X349-G2-M and Lenovo Thinkpad E14 G5.
First one was a Intel machine, the current one a AMD machine, hence the changes
towards AMD graphics.
## Install dependencies
```bash
# System
paru -S linux-headers wget \
btrfs-progs udiskie blueman openssh lshw less dmidecode
## Audio
paru -S alsa-utils pulseaudio pulseaudio-alsa pulseaudio-bluetooth pavucontrol bluez-utils
## Network
paru -S bind systemd-resolvconf networkmanager
# Dotfiles
paru -S python-pillow i3lock-color stow playerctl xdotoolxsel feh \
conky maim picom dust dunst rofi neofetch
# Notebook
paru -S acpi acpid tlp
# DevTools
paru -S delta-git cargo-bloat npm bacon nvim git cargo-flamegraph tealdeer
# CPU/GPU
paru -S lib32-libva-mesa-driver lib32-mesa-vdpau mesa-vdpau nvtop \
xf86-video-amdgpu lib32-mesa libva-mesa-driver amd-ucode
# X11
paru -S xorg-server i3-gaps xorg-xbacklight xorg-xrandr xclip \
lxappearance lightdm-webkit2-greeter lightdm
# Terminal
pacman -S bottom zellij eza bat fd ripgrep zsh
# Tools
## Productivity
### Browsers
paru -S firefox chromium
### File Browser
paru -S ranger pcmanfm
### Printer
paru -S brotherconfig4 simple-scan tesseract-data-eng cups brlaser
### Typesetting
paru -S adobe-source-han-sans-jp-fonts pandoc-cli texlive-latexextra \
texlive-basic texlive-latex biber adobe-source-han-sans-kr-fonts \
texlive-fontsrecommended texlive-bibtexextra texlive-latexrecommended texlive-binextra \
texlive-langgerman texlive-fontsextra texlive-science texlive-plaingeneric
### Misc
paru -S p7zip veracrypt keepassxc syncthing vlc unzip zathura zathura-pdf-mupdf
## Troubleshooting
paru -S nmap smartmontools ldns traceroute
## Networking
paru -S tailscale wireshark-qt wireguard-tools ethtool iperf3
## obs-studio
paru -S obs-studio v4l2loopback-dkms
## Docker
paru -S docker docker-compose docker-buildx
```
## Picture
[[./resources/24-03-15_16-06-52-alacritty.png]]
## Permissions
### sudo
```sh
echo "%$SUDOGRP ALL=(ALL) ALL" >> /etc/sudoers
```
### Groups
```sh
usermod -a -G network $USER
usermod -a -G video $USER
usermod -a -G docker $USER
usermod -a -G $SUDOGRP $USER
```
## Get Started
```sh
git clone https://git.tudattr.dev/tudattr/dotfiles .dotfiles
cd .dotfiles
stow config
stow vim
stow zsh
```
## GUI
I'm using pcmanfm with [[Sweet - New Flavor](https://www.gnome-look.org/p/1253385/)].
The downloaded file needs to be extracted into `~/.themes/`.
The Icons are from the related icon set: [[Candy Icons](https://www.gnome-look.org/p/1305251)].
## ohmyzsh
Plugins for ohmyzsh
### eza
```sh
git clone https://github.com/z-shell/zsh-eza ~/.oh-my-zsh/custom/plugins/zsh-eza
```
## Environment
Add
```sh
VISUAL=/usr/bin/nvim
EDITOR=/usr/bin/nvim
```
to `/etc/environment`.
## NeoVim
Since we're using NeoVim, we wanna be lazy and have our configuration done for us.
I'm using lazyvim with the following plugins:
- bufferline.nvim
- dashboard-nvim
- flash.nvim
- lazy.nvim
- LazyVim
- lualine.nvim
- mini.ai
- mini.pairs
- noice.nvim
- nui.nvim
- nvim-notify
- nvim-treesitter
- nvim-treesitter-textobjects
- onedark.vim
- trouble.nvim
- ts-comments.nvim
- vim-ledger 0.25ms  start
- vimtex 0.24ms  start
- which-key.nvim
- yanky.nvim
We need run nvim as sudo at least once, to startup the process of enabling to download
additional language dictionaries.
We can able it with `:setlocal spell spelllang=en_us,de_de`.
## Systemd
Enable:
- tlp
- acpid
- NetworkManager
- cups
## Printer/Scanner MFC-L2710DW
I notice this is becoming more of a documentation on how to set my own laptop,
but...
¯\\_(ツ)_/¯
### Scanning
```sh
sudo brsaneconfig4 -a name=MFC-L2710DW model=MFC-L2710DW nodename=192.168.50.219
```
### Printing
You can add the printer via cups web gui on [http://localhost:631](http://localhost:631)
with the link [http://192.168.50.219](http://192.168.50.219).
## Networking
### eduroam
Have to install networkmanager specifically for eduroam. Otherwise I'd stick to
systemd-networkd.
## obs-studio
Need to run the following manually
```sh
sudo modprobe v4l2loopback
```