Files
dotfiles/archive/new_setup.md

11 KiB

id, aliases, tags
id aliases tags
new_setup

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
  • 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 Nvim Orgmode github
    • This is where shit hit the fan and i found out the emacs is awesome.. xD

Package installed

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.

  • tlp Better cpu freq manager

    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

    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

    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

    mbsync -a
    
  • mu

    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

    systemctl start bluetooth.service
    systemctl enable bluetooth.service
    
  • bluez-utils Provide bluetoothctl

  • unzip

  • tar

  • 7zip File compression

  • 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

    # 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

    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

    sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay-bin.git && cd yay-bin && makepkg -si
    
    
  • zoxide Better cd

    z
    
  • bat Better cat

    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

    rip [TARGET]
    
    
  • syncthing

    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]

    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.

    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

  • : New terminal
  • : Close Hypr window
  • : Lock screen
  • : Move focus to window
  • <SUPER-(1-9)> : Change workspace
  • <SUPER-SHIFT-(1-9)> : Move window to workspace
  • : Bring the scratchpad workspace (overlay over any workspace, always accecible)
  • : Move window to scratchpad
  • : Change split mode

tmux

  • : 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
  • : Append at the end of line
  • : Change Inside Word (W to only stop at spaces)
  • : 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
  • : 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
  • : Cd to a directory via zoxide
  • : Cd to a directory or reveal a file via fzf
  • <" "> : Toggle selection of hovered file/directory
  • : Open file
  • : show file info
  • : Yank selected files
  • : Cut selected files
  • : Paste yanked files

  • : Cancel yank
  • : Delete selected files
  • : Create a file (end with / for folder)
  • : Rename selected file(s)
  • <.> : Toggle the visibility of hidden files
  • </> : Find next file
  • : Go to the next found
  • : Go to the previous found
  • : Search files by name using fd
  • : Search files by content using ripgrep
  • : Cancel the ongoing search
  • : Create a new tab with CWD
  • <1, 2, ..., 9> : Switch to the N-th tab
  • <[]> : Switch to the previous tab
  • <{}> : Switch tab order
  • : 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

  • : fzf powered command history

dotfile inspiration

Rising

Dev