Skip to content

repo for all my dotfiles, End all be all for all my system configurations

License

Notifications You must be signed in to change notification settings

samarth-na/dotfiles

Repository files navigation

repository for all my dotfiles, End all be all for all my linux system and app configurations

first update all packages

sudo dnf update

main applications

  • neovim - fast/cli/modal code editor (dnf)
  • wezterm - beautiful terminal emulator (flatpak)
  • tmux - powerful/peristing terminal multiplexer (dnd)
  • zsh - modern shell with plugin support (dnf)

other apps

  • yazi - amazing file manager (linuxbrew/cargo)
  • btop - beautiful system monitor (dnf)
  • lazygit - tui git client (dnf)
  • zoxide - better cd alternative (dnf)

tools

  • fzf - fuzzy finder utility (dnf)
  • atuin - shell history manager/search (linuxbrew)
  • starship - status line prompt (dnf)
  • eza - better ls alternative (dnf)
  • vlc - video player (flatpack)
  • mpv - terminal audio player (dnf)
  • htop - system monitor (dnf)
  • procs - better ps alternative (dnf)
  • gdu - disk usage analyzer (dnf)
  • bat - better cat alternative (dnf)
  • ripgrep - better grep alternative (dnf)
  • fd - better find alternative (dnf)
  • hyperfine - benchmarking tool (dnf)
  • duf - better df alternative (dnf)
  • dust - better du alternative (linuxbrew)
  • tabiew - viewer for csv and tsv files (linuxbrew)
  • dua - disk usage analyzer (linuxbrew)
  • topgrade - upgrade all packages (linuxbrew)
  • age - file encryption tool (dnf)

fonts

jetbrains mono nerd font
  • semi bold for interface and window titles
  • regular for documents and code

neovim

  • dependencies -
sudo dnf install  cmake gcc-c++ libtool libuv libvterm msgpack-devel unibilium gettext-devel lua-devel
  • install the package -
sudo dnf neovim

install zsh and set it as default shell

  • installation
sudo dnf install zsh
# check the installation and source
zsh --version
which zsh
  • install oh-my-zsh package manager of my choice
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  • set zsh as default shell
chsh -s $(which zsh)

install tmux

sudo dnf install tmux

basic setup is complete time to install other apps and tools

other available apps on dnf

sudo dnf install  btop lazygit fzf zoxide eza mpv htop procs gdu bat fd hyperfine

linuxbrew

  • install build tools
sudo dnf groupinstall "Development Tools"
sudo dnf install curl file git
  • install linuxbrew from source
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • test linuxbrew installation
test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

brew --version
# test the installation
brew install hello

Ensure Homebrew is up-to-date:

brew update
brew upgrade
linuxbrew is an fork of Homebrew, the package manager for macOS. this lets us install all apps we macos have but dnf doesnt

packages available on linuxbrew

brew install tabiew duf dua atuin topgrade

important package managers/languages

JS/TS package managers

bun

curl -fsSL https://bun.sh/install | bash # for macOS, Linux, and WSL

npm & node

sudo dnf install  nodejs npm

pnpm install

sudo npm i -g pnpm

nvm install

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

rust

  • rustup/cargo installation
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

golang

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.6.linux-amd64.tar.gz

c++

sudo dnf install g++ gcc-c++

python3/pip

sudo dnf install python3-pip

yazi

  • the dependencies
sudo dnf install ffmpegthumbnailer p7zip p7zip-plugins jq poppler-utils fd-find ripgrep fzf zoxide ImageMagick xclip xsel wl-clipboard
  • yazi installation from cargo (you need to have rust installed)
cargo install --locked --git https://github.com/sxyazi/yazi.git yazi-fm yazi-cli
  • yazi installation with linuxbrew
brew install yazi