Skip to content

monoira/.dotfiles

Repository files navigation

table of content

what i keep in this repository

  • dotfiles managed by GNU/Stow - Neovim, Alacritty, Zsh, Cmus, gitconfig, and possibly more configurations

  • zsh functions

  • Various installation scripts

  • VSCode settings & workspaces

    ( I no longer use VSCode, even in this scripts, but keep the settings anyway )

requirements and dependencies

requirements

  • Be on Ubuntu

  • Bash (Already preinstalled on Debian based distributions)

  • Gnome desktop environment installed and running -- needed for gnome_settings.sh

  • OPTIONAL: have ssh key configured w/GitHub to clone using ssh. You will get prompted about.

dependency packages

  • wget
  • stow
  • git

install dependency packages with this one command

sudo apt install -y wget stow git

what does all of this do?

  • Downloads useful and necessary apt and snap packages
  • Downloads nerd font: Hack nerd font
  • Downloads and compiles lazydocker
  • Downloads and compiles lazygit
  • Downloads vimv
  • Configures gnome settings with gsettings to: hide trash on dash-to-dock, hide home, disable notifications, etc.

And possibly more. For full info, check scripts themselves at start.sh and install_scripts directory

installation

install OhMyZsh

sudo apt install -y zsh
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

install dotfiles

wget -qO- https://raw.githubusercontent.com/monoira/.dotfiles/main/start.sh | bash

for vim-dadbod

  • create file ~/.config/nvim/lua/config/dbs.lua with such content
vim.g.dbs = {
  { name = "dev", url = "postgres://USERNAME:PASSWORD@HOST:PORT/DATABASE_NAME" },
}

When everything finishes, reboot your system!

why are you using both snap and flatpak?

i tried to only use flatpak, but had some problems with following packages

neovim

neovim in apt is severely outdated, PPA version is outdated and flatpak version is TERRIBLE, buggy and overly sandboxed. Building .deb package with "dpkg -i" means it won't update.

steam

installing via flatpak or apt steam-installer didn't worked, since it kept giving me unmet dependencies error. Building .deb package with "dpkg -i" means it won't update. I WILL CHECK LATER. Until then, I have to use snap version.

figma-linux

can't install via apt or flatpak. Building .deb package with "dpkg -i" means it won't update.

I would love to only use flatpak and get away from snap, But it is what it is. I will re-check in the future if I can replace those packages with non-snap versions and finally be snap-free.

manual tasks that can not be automated

Optional tips you might want to consider

  • pause auto update / refresh of all snap packages
sudo snap refresh --hold