Skip to content

callmarx/dotfiles

Repository files navigation

Dotfiles

License Contributor Covenant Conventional Commits en pt-br love

Finally, I "organized" it!

          888d                888d       ~/dotfile 888d   888d
          888d                888d       888d"     888d   888d
          888d                888d      888d              888d
          888d                888d      888d       888d   888d
    ~/dotfiles   ~/dotfiles  ~/dotfiles ~/dotfiles 888d   888d   ~/dotfiles   ~/dotfiles
   888d"  888d  888d"  "888d  888d      888d       888d   888d  888d   888d   888d
  888d    888d  888d    888d  888d      888d       888d   888d  ~/.dotfiles   ~/dotfiles
   888d"  888d  888d"  "888d  888d"     888d       888d   888d  888d                888d
    ~/dotfiles   ~/dotfiles    888d"    888d       888d   888d   ~/.dotfiles  ~/dotfiles

WSL

For WSL2 (with Arch linux by the way), check this Readme.

Git

The .gitconfig files is kind of personal and mine isn't a big deal: it enables the colors for commands like $ git log. I also defined the develop branch as the main and I use a commit message template defined in .gitmessage, which was inspired in Conventional Commits.

Oh My Zsh

I use zsh shell with Oh My Zsh manager. To check if you have it installed in your linux and if it is defined as default shell, use:

# Check if is installed
$ zsh --version

# Check if it is the default shell. You should receive 'bin/szh'
$ echo $SHELL

The .zshrc file was basically generated by Oh My Zsh installer, I only added some plugins. To install it, execute:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

I also use the Powerlevel10k theme (it should have NerdFonts installed!). To add in your Oh My Zsh, execute:

$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Also add ZSH_THEME="powerlevel10k/powerlevel10k" in your ~/.zshrc (in my already has it).

Nerd Fonts and emoji - REQUIRED

To install the whole nerdfonts package:

sudo pacman -S nerd-font

To install only one font, like FireCode Nerd Font Regular do:

sudo pacman -S ttf-firacode-nerd tf-nerd-fonts-symbols ttf-nerd-fonts-symbols-mono

For emojis:

sudo pacman -S noto-fonts-emoji

Kitty Terminal Emulator - WIP

SDDM

Install sddm with sudo pacman -Sy sddm

Download the latest release version of catppuccin-mocha theme on https://github.com/catppuccin/sddm/releases and unizp it in /usr/share/sddm/themes/ folder.

Copy ./config/sddm/sddm.conf in /etc/sddm.conf.d/ folder (create it with doesn't exist).

Commands example:

curl -L -o /tmp/catppuccin-mocha.zip \
    https://github.com/catppuccin/sddm/releases/download/v1.0.0/catppuccin-mocha.zip
sudo unzip /tmp/catppuccin-mocha.zip /usr/share/sddm/themes/
sudo mkdir /etc/sddm.conf.d
sudo cp ~/dotfiles/config/sddm/sddm.conf /etc/sddm.conf.d/

wlogout and swaylock

Install this packages

yay -S wlogout
sudo pacman -S swayidle swaylock

Add this symbolic link:

ln -s ~/dotfiles/config/wlogout ~/.config/
ln -s ~/dotfiles/config/swaylock ~/.config/

Screenshot

Just install this packages:

sudo pacman -S grim slurp

And the PrintScreen key on your keyboard is the binding defined on ./config/hypr/hyprland.conf with the command grim -g "$(slurp -d)" - | wl-copy.

Audio and Bluetooth

For audio, make sure that you have this packages installed:

sudo pacman -S networkmanager pipewire pipewire-alsa pipewire-pulse pipewire-jack

For Bluetooth install de following:

sudo pacman -S bluez bluez-utils blueman

And when you right click on the  icon of waybar you'll open blueman-manager

My Neovim like an IDE

Set of plugins and settings that I use in Neovim. To organized it (and don't let it as a giant single file) I spread my setup in other files as you can see in nvim/lua/user, keeping init.lua simple, only to load the other configuration files.

Packages that I usually need to install for a good :checkhealth:

sudo pacman -S wget fd ripgrep xclip
npm install -g neovim
gem install neovim rubocop rubocop-packaging rubocop-performance rubocop-rails rubocop-rspec

Copy, change and use it at will. Suggestions and (polite) criticism are welcome 🤓.

NOTE: To use the vim-devicons icons you need to install Nerd Fonts and enable in your terminal emulator profile or if you use Tilix you can use my settings as I explained before.

For Neorg you need:

sudo pacman -S luarocks

and inside neovim execute:

:Neorg sync-parsers

Spell Check and cohesion

To write my markdowns I use the ltex-ls LSP but for that you need to install java

sudo pacman -S openjdk-src

My symbolic links

ln -s ~/dotfiles/.gitconfig ~/.gitconfig
ln -s ~/dotfiles/.zshrc ~/.zshrc
ln -s ~/dotfiles/.zshenv ~/.zshenv
ln -s ~/dotfiles/.asdfrc ~/.asdfrc
ln -s ~/dotfiles/lazyvim ~/.config/nvim
ln -s ~/dotfiles/config/hypr ~/.config/
ln -s ~/dotfiles/config/waybar ~/.config/
ln -s ~/dotfiles/config/kitty ~/.config/
ln -s ~/dotfiles/config/dunst ~/.config/
ln -s ~/dotfiles/config/wlogout ~/.config/
ln -s ~/dotfiles/config/chrome-flags.conf ~/.config/
ln -s ~/dotfiles/config/code-flags.conf ~/.config/

asdf

NOTE: For ruby you're going to need this packages as ruby-build's requirements:

pacman -S --needed base-devel rust libffi libyaml openssl zlib

Download and install these languages:

# Ruby
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
asdf install ruby 2.7.1
asdf global ruby 2.7.1
# Nodejs
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
asdf install nodejs latest
asdf global nodejs latest
# Golang
asdf plugin-add golang https://github.com/kennyp/asdf-golang.git
asdf install golang latest
asdf global golang latest

Clear nvim installation (plugins)

rm -rf ~/.local/share/nvim/*

License

This dotfiles is available as open source under MIT, see LICENSE.

Code of conduct

I'm committed to providing a friendly, safe, and welcoming environment for all. Please read and respect the code of conduct.

About

Meus arquivos ponto :p

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published