568 lines
11 KiB
Markdown
568 lines
11 KiB
Markdown
|
|
---
|
||
|
|
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)
|