An open API service indexing awesome lists of open source software.

https://github.com/monoira/.dotfiles

Dotfiles managed via GNU/Stow on Ubuntu
https://github.com/monoira/.dotfiles

automation cmus cmus-music-player dotfiles dotfiles-automation dotfiles-linux git gitconfig kitty kitty-config lazyvim lazyvim-setup neovim neovim-config neovim-dotfiles ubuntu zsh zshrc

Last synced: 21 days ago
JSON representation

Dotfiles managed via GNU/Stow on Ubuntu

Awesome Lists containing this project

README

          

# TABLE OF CONTENTS

- [TABLE OF CONTENTS](#table-of-contents)
- [content of this repository](#content-of-this-repository)
- [requirements and dependencies](#requirements-and-dependencies)
- [requirements](#requirements)
- [what does start.sh script automate](#what-does-startsh-script-automate)
- [installation](#installation)
- [install zsh, OhMyZsh, zsh-autosuggestions, zsh-syntax-highlighting](#install-zsh-ohmyzsh-zsh-autosuggestions-zsh-syntax-highlighting)
- [install dotfiles](#install-dotfiles)
- [setting up vscode and global settings.json](#setting-up-vscode-and-global-settingsjson)
- [manual tasks that can not be automated](#manual-tasks-that-can-not-be-automated)
- [optional tips you might want to consider](#optional-tips-you-might-want-to-consider)
- [DONATE](#donate)

## content of this repository

- VSCode profile / settings as primary code editor and it's workspaces.
Setup with AI Agent and vim extension with LazyVim keybindings in mind for maximum productivity.
Powered by [VSCLazy](https://github.com/monoira/VSCLazy), which I wrote.
- dotfiles and configs managed by GNU/Stow - Kitty, Zsh, Cmus, gitconfig,
and more.
- zsh functions.
- Various installation scripts.

## requirements and dependencies

### requirements

- Be on Fedora.
- Bash.
- Using gnome desktop environment while using this for `gsettings`.
- Have ssh key configured w/GitHub to clone using ssh.

## what does start.sh script automate

- Installs `dnf` and `flatpak` packages
- Installs nerd font: `Hack Nerd Font`
- Installs `lazygit`
- Installs `vimv`
- Configures gnome settings with `gsettings`

And likely more.
For full info, check scripts themselves at
[start.sh](./start.sh)
and
[install_scripts](./install_scripts/) directory

## installation

### install zsh, OhMyZsh, zsh-autosuggestions, zsh-syntax-highlighting

```bash
sudo dnf install -y zsh & sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
```

```bash
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

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

### setting up vscode and global settings.json

1. open vscode - required so `$HOME/.config/Code/User` gets created
2. import [vscode profile](./vscode/profiles)
3. clone and open workspaces
4. run following script to
- symlink vscode global settings.json, which includes `vscode-vim` extension keybindings.

```bash
ln -sf "$HOME/.dotfiles/VSCLazy/settings.json" "$HOME/.config/Code/User/settings.json"
```

**When everything finishes, reboot your system! VERY IMPORTANT!**

## manual tasks that can not be automated

- place packages based on the following image:
![Image of packages on Fedora](./docs/packages.png)
- software program preferences:
![Software program preferences](./docs/software.png)
- change refresh rate in `settings > refresh rate` to `120 Hz`
- add a keyboard layout
- in `about:config` of firefox, change these:
- `full-screen-api.warning.timeout`
to `0`
- add [Vim extension to Dbeaver manually](https://www.youtube.com/watch?v=soznrFTtL2s)

## optional tips you might want to consider

- use latest LTS version of nodejs and npm via nvm

```bash
nvm install --lts && nvm use --lts
```

- update submodules when necessary

```bash
git submodule update --remote --merge
git add . && git commit -m "chore: updated submodules" && git push
```

## DONATE

I've been creating FOSS / GNU/Linux / nvim / web
related software for some time now.
If you used, forked or took code from one of my projects and you
would like to support me 👍,
you can donate here:

| type | address |
| ------------------- | ------------------------------------------ |
| Bitcoin (SegWit) | bc1ql8sp9shx4svzlwv0ckzv8s7pphw5upvmt8m2m7 |
| Ethereum (Ethereum) | 0xf2FCB0Af39DF7A608b76297e45181aF23fEB939F |