My personal configuration files and scripts for a Arch Linux + KDE environment.
Steps that need to be taken in order to setup the environment. This is not aimed at being customizable. It's just a list for my personal use so that I have something to follow when I need to setup a new environment. Will likely turn into a script in the future.
- Follow the Arch Linux installation guide.
In the "Install essencial packages" section, make sure to also install
networkmanager
,neovim
,sudo
andgit
- Login with root
systemctl enable NetworkManager.service && systemctl start NetworkManager.service
- Connect to the Internet with
nmtui
useradd -m mateus
passwd mateus
EDITOR=neovim visudo
and uncomment line for thewheel
groupusermod -aG wheel mateus
- Logout and login as
mateus
cd
git clone https://github.com/melosomelo/dotfiles
sudo pacman -S $(cat dotfiles/packages/official.txt)
- Install
yay
yay -S $(cat dotfiles/packages/aur.txt)
mkdir -p ~/.config/alacritty
ln -s ~/dotfiles/alacritty/alacritty.toml ~/.config/alacritty/alacritty.toml
- run
fish
and thenexit
rm .config/fish/config.fish
rm -rf .config/fish/functions
ln -s ~/dotfiles/fish/config.fish ~/.config/fish/config.fish
ln -s ~/dotfiles/fish/functions ~/.config/fish
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
ln -s ~/dotfiles/tmux/.tmux.conf ~/.tmux.conf
chsh -s /usr/bin/fish
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish
omf install l
omf install https://github.com/jorgebucaran/nvm.fish
for ext in $(cat dotfiles/code/extensions.txt)
code --install-extension $ext
end
ln -s ~/dotfiles/code/settings.json ~/.config/Code/User/settings.json
ln -s ~/dotfiles/code/keybindings.json ~/.config/Code/User/keybindings.json
mkdir -p ~/.ssh
touch ~/.ssh/config
- Configure
ssh
for GitHub authentication via theconfig
file - Run
gh auth login
sudo mkdir -p /etc/pacman.d/hooks
sudo ln -s ~/dotfiles/pacman/hooks/save_package_list.hook /etc/pacman.d/hooks
sudo systemctl enable docker.service
sudo systemctl start docker.service
sudo usermod -aG docker mateus
sudo systemctl enable cronie && sudo systemctl start cronie
cat ~/dotfiles/cron/base_crontab | crontab -
- Reboot
- Configure
tmux
- Configure
qutebrowser
- Save web bookmarks independently of web browser
- Implement a "work mode". This'd be a mode that can be toggled in order to use more work optimized software. For instance, use i3 + qutebrowser instead of Chrome + Kwin. It'd be cool for times when I want to use my computer more casually or for when other people need to use it for some reason.
- Add some cool themes with color schemes
- Add some cool screenshots to the README (e.g. fastfetch, maybe make it automatic?)
- Turn setup section into a script. Would also be cool to have tests for this setup script. Maybe via a CI/CD pipeline?