Files
dotfiles/archive/new_setup.md

568 lines
11 KiB
Markdown
Raw Permalink Normal View History

2025-09-20 14:50:33 -04:00
---
id: new_setup
aliases: []
tags: []
---
# New Computer Setup
- Switched from Ubuntu to Arch btw.
- Tilling window manager
- Kept my /home folder for comfiness... May need a big cleanup soon thought.
- New dotfile management (stow)
- Switch from VScode to... Nvim !! xD (+ kitty, zsh, starship, tmux)
## TODO
- [ ] Set a swaync config for notifications [cool config](https://github.com/ErikReider/SwayNotificationCenter/discussions/183)
- [ ] Save firefox extantion and settings
- [ ] Explore how to complete snippets with multiple cursor placement (low priority. see luasnip)
- [ ] Look into nvim orgmode
[Nvim Orgmode website](https://nvim-orgmode.github.io/)
[Nvim Orgmode github](https://github.com/nvim-orgmode/orgmode)
- This is where shit hit the fan and i found out the emacs is awesome.. xD
## Package installed
```zsh
comm -23 <(pacman -Qqett | sort) <(pacman -Qqg | sort | uniq)
```
### Base install
- base
Base install
- base-devel
Base install
- linux
Base install, kernel
- linux-firmware
Base install, firmware
- sof-firmware
Firmware needed for audio
- efibootmgr
EFI boot manager
- grub
Bootloader
### Desktop
- networkmanager
Network manager
nmtui
- hyprland
Tile window manager
- hyprlock
Lock screen manager
SUPER + SHIFT + l
- hypridle
Trigger lockscreen, screen off, hibernation
- waybar
Top bar in hyprland
- swaync
Notifications
- wofi
App launcher
SUPER + R
- okular
Open and edit pdf
- firefox
Browser
- hyprshot
Screenshot manager
- xdg-desktop-portal-hyprland
For screen sharing in discord, team, etc.
<!-- - power-profiles-daemon -->
<!-- Power profile selector (perf, eco..) -->
<!-- [!WARNING] May be needed by waybar? not working right now -->
<!-- - auto-cpufreq -->
<!-- Manage cpu freq for better batterie life -->
- tlp
Better cpu freq manager
```zsh
sudo systemctl enable tlp.service
sudo systemctl mask systemd-rfkill.service
sudo systemctl mask systemd-rfkill.socket
```
- qimgv
GUI image viewer
[!ERROR] Not the right package
- swww-git
Setting wallpaper
- nvidia-lts
Nvidia driver
- brightnessctl
Allow brighness control of the screen
- pipewire
- wireplumber
- pipewire-audio
- pipewire-pulse
- pipewire-alsa
- pwvucontrol
Audio GUI panel
- udiskie
Auto usb mount
- openssh
Needed for its ssh agent
```zsh
ssh-keygen -t ed25519 -C "your_email@example.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
systemctl --user enable ssh-agent.service
systemctl --user start ssh-agent.service
```
- obsidian
Note taking app in plain text markdown
- poppler
For yazi rendering of pdf (doom emacs dired too)
- imagemagick
For pywal, doom emacs dired
- rg
For file content searching
- jq
For yazi json preview
- ueberzugpp
For yazi image preview under hyprland
- ffmpeg
For yazi rendering of video
- texlive-pictures
- texlive-binextra
- texlive-plaingeneric
- texlive-basic
- texlive-latexrecommended
- texlive-latex
- texlive-latexextra
- texlive-bin
- texlive-binextra
All testlive above to have the pdflatex executable to allow emacs to export to latex, then.
- curlftpfs
To mount ftp server
```zsh
modprobe fuse
mkdir /mnt/ftp
curlftpfs ftp.exemple.com /mnt/ftp/ -o user=username:password
nvim /etc/fstab
curlftpfs#USER:PASSWORD@ftp.example.com /mnt/exampleorg fuse auto,user,uid=1000,allow_other,_netdev 0 0
```
- isync
To have mbsync to sync email for mu and mu4e
See ~/.config/isyncrc
```zsh
mbsync -a
```
- mu
```zsh
mu init --maildir=~/Mail --my-address='tpouplier@exemple.com'
mu index
```
- hunspell
Spell checking for emacs with multiple dictionaries
Dict placed at ~/Library/Spelling/
- bluez
Daemons for the bluetooth protocol stack
```zsh
systemctl start bluetooth.service
systemctl enable bluetooth.service
```
- bluez-utils
Provide bluetoothctl
- unzip
- tar
- 7zip
File compression
<!-- I use mu4e now -->
<!-- - mutt -->
<!-- email TUI client -->
<!-- ```zsh -->
<!-- mkdir -p ~/.mutt/cache/headers -->
<!-- mkdir ~/.mutt/cache/bodies -->
<!-- touch ~/.mutt/certificates -->
<!-- touch ~/.mutt/muttrc -->
<!-- ``` -->
- wlogout
hyprland power menu
- xclip
For emacs everywhere
- xdotool
For emacs everywhere
- xprop
For emacs everywhere
- xwininfo
For emacs everywhere
- uv
Serena dependency
### Devel
- Edit /etc/locale.gen
- uncomment en_US.UTF-8
- sudo locale-gen
- Needed for those build bellow
- mono-msbuild-git
- mono-msbuild-sdkresolver-git
- mono-git
- python-debugpy
python debuger
### TUI
- bluetuith
Bluetooth tui
- lazydocker
TUI docker manager
- lazygit
TUI git manager
- lazysql
TUI sql manager
[!ERROR] Not able to connect yet
- fzf
Fuzzy terminal finder
- sshs
ssh TUI
sshs
- yazi
TUI folder manager
```zsh
# Install packages
ya pack -u
```
- taskwarrior-tui
taskwarior tui
[!WARNING] May uninstall, not using it very much
- ncspot
spotify player in the terminal
### Terminal tool
- tldr
better, simple man
- git
code versioning
```zsh
git config --global user.name "FIRST_NAME LAST_NAME"
git config --global user.email "EMAIL"
git config --global pull.rebase false
git config core.autocrlf input
```
- neofetch
Show system info
- ripgrep
Better grep
- eza
Better ls
zsh'''
eza .config --tree --level=2 --icons
'''
- fd
File searching (yayazi use it. doom emacs dired too)
- stow
Dotfile manager
cd dotfiles
stow [package]
[.stowrc]
- yay
Pacman + AUR
```zsh
sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay-bin.git && cd yay-bin && makepkg -si
```
- zoxide
Better cd
```zsh
z
```
- bat
Better cat
```zsh
bat --color=always
```
- atuin
Command history sync server
[!WARNING] To install and setup
- wget
Download utility
- trash-cli
Allow easy management of trashed files
- rm-improved
better rm
```zsh
rip [TARGET]
- syncthing
```zsh
systemctl enable syncthing.service --user
systemctl start syncthing.service --user
```
### Fonts
- ttf-font-awesome
Fonts
- ttf-jetbrains-mono-nerd
Fonts
### Terminal stack
- kitty
Terminal emulator
[kitty/.config/kitty.conf]
- zsh
Better bash (shell)
[zsh/.zshrc]
```zsh
chsh -s /usr/bin/zsh
```
- starship
Custom prompt
[starship/.config/starship.toml]
- tmux
Terminal multiplexer, persistant sessions
[tmux/.config/tmux/config]
- tmux-plugin-manager
tmux plugin manager
[!ERROR] Not working yet
- neovim
Editor
[nvim/.config/nvim/init.lua]
### AI Stack
- ollama
LLM local server
- aichat
All in one llm cli (session, role, RAG, agent, tools)
- pandoc-cli
document type convertion
### TTS stack
- piper-tts
Generate the tts audio
- paplay
play the sound
## Rising
- pywal16
Util that change the wallpaper, then generate color theme from the wallpaper for other app to use.
```zsh
wal -i ~/.config/wallpapers/green_yellow_forest.jpg -o ~/.config/waybar/launch.sh
```
- pywalfox
Util that link with the firefox extension to apply color them to it.
- nwg-look
gtk theming
[!WARNING] Not in use right now. may uninstall.
## Favorite keybinds
### Hyprland
- <SUPER-q> : New terminal
- <SUPER-c> : Close Hypr window
- <SUPER-L> : Lock screen
- <SUPER-hjkl> : Move focus to window
- <SUPER-(1-9)> : Change workspace
- <SUPER-SHIFT-(1-9)> : Move window to workspace
- <SUPER-s> : Bring the scratchpad workspace (overlay over any workspace, always accecible)
- <SUPER-SHIFT-S>: Move window to scratchpad
- <SUPER-P>: Change split mode
### tmux
- <CTRL-a> : tmux special key (b by default)
- <CTRL-a, SHIFT-I> : inside vim, to install pluggins, source tmux.conf, open it in vim, then.. the keys
- <CTRL-a, CTRL-w> : show open windows
- <CTRL-a, CTRL-o> : open sessionx manager
- <CTRL-a, %> : Split vertical
- <CTRL-a, "> : Split horizontly
- <CTRL-a, hjkl> : Switch focus
- <CTRL-a, :> : Command line
- <CTRL-a, c> : New window
- <CTRL-a, ()> : Change session
- <CTRL-a, 1-9> : Change window
- <CTRL-a, :, new> : New session
- <CTRL-a, :, rename-> : Rename window, session
- <CTRL-a, CTRL-s, CTRL-r> : Save and restore session
### Nvim
- <CTRL, " "> : Trigger LSP suggestion
- <*> : normal search the word under the cursor
- <.> : replay last command
- <" ", backspace> : Global which-key!!
- <" ", s, k> : Search all nvim keybinds!!
- <" ", s, g> : Search in all project file with grep
- <" ", s, n> : search in nvim config
- <SHIFT-a> : Append at the end of line
- <ciw> : Change Inside Word (W to only stop at spaces)
- <viw> : select whole Word (W to only stop at spaces)
- <CTRL-w, v> : Open a new vertical split window
- <CTRL-w, h> : Open a new horizontal split window
- <j,j or k,k> : Exit insert mode
- <y,y> : Yank the line
- <p> : Paste
- </> : Search
- <n, N> : next, previous results
- <CTRL, n-o> : select proposed choices
- <CTRL, y> : accept selected choice
- <t, j-k> : prev,next buffer
- <t, h-l> : last,first buffer
- <t,d> : delete buffer
- <g,d> : go to definition <3
- <CTRL, i-o> : jump through the ressent jump list (comme back from gd)
- <SHIFT, v> : Select mode by line
- <ALT, j-k> : Move a line (visal bloc work too)
- <g,g> : Go to first line
- <SHIFT, g> : Go to last line
- < = > : format selected lines
- <" ", " "> : search buffers
### Yazi
- <~> : Help menu
- <z> : Cd to a directory via zoxide
- <Z> : Cd to a directory or reveal a file via fzf
- <" "> : Toggle selection of hovered file/directory
- <o or enter> : Open file
- <Tab> : show file info
- <y> : Yank selected files
- <x> : Cut selected files
- <p> : Paste yanked files
- <Y or X> : Cancel yank
- <d> : Delete selected files
- <a> : Create a file (end with / for folder)
- <r> : Rename selected file(s)
- <.> : Toggle the visibility of hidden files
- </> : Find next file
- <n> : Go to the next found
- <N> : Go to the previous found
- <s> : Search files by name using fd
- <S> : Search files by content using ripgrep
- <CTRL-s> : Cancel the ongoing search
- <t> : Create a new tab with CWD
- <1, 2, ..., 9> : Switch to the N-th tab
- <[]> : Switch to the previous tab
- <{}> : Switch tab order
- <CTRL-c> : Close the current tab
- <",", m> : Sort by modified time (M reverse)
- <",", b> : Sort by birth time (B reverse)
- <",", e> : Sort by file extension (E reverse)
- <",", a> : Sort alphabetically (A reverse)
- <",", n> : Sort naturally (N reverse)
- <",", s> : Sort by size (S reverse)
### Misc
- <CTRL-r> : fzf powered command history
## dotfile inspiration
### Rising
- [typecraft](https://github.com/typecraft-dev/dotfiles/tree/master)
- [MrVivekRajan Hyprland themes](https://github.com/MrVivekRajan/Hypr-Dots)
- [DevOps toolkit](https://github.com/omerxx/dotfiles)
- [Bina](https://github.com/LierB/dotfiles/tree/master)
- [elifouts](https://github.com/elifouts/Dotfiles)
### Dev
- [KiLLeRRaT](https://github.com/KiLLeRRaT/.dotfiles/tree/master)
- [DerrikCreates](https://github.com/DerrikCreates/dotfiles)