/.dotfiles

Dotfiles managed via GNU/Stow on Ubuntu

Primary LanguageShell

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
  • Have ssh key generated and be logged in to Github with it. Needed for SSH git cloning.
  • Gnome desktop environment installed and running
  • Bash (Already preinstalled on Debian based distributions)

dependency packages

  • wget
  • stow
  • git

install required packages with this 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

When scripts finish, 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

  • 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" },
}

Optional tips you might want to consider

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