Skip to content

Commit

Permalink
de the faking bloat
Browse files Browse the repository at this point in the history
  • Loading branch information
cutbypham committed Oct 17, 2022
1 parent 979dfe1 commit 698a3b8
Show file tree
Hide file tree
Showing 90 changed files with 538 additions and 5,010 deletions.
2 changes: 0 additions & 2 deletions .prettierignore

This file was deleted.

193 changes: 8 additions & 185 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,192 +1,15 @@
↖️ (Feeling lost? Use the GitHub TOC!)

# Thuan's Linux dotfiles

> For Windows [change the branch to windows](https://github.com/thuanpham2311/dotfiles/tree/windows)
## About

- The project started before i went to uni and is still actively developing today.
- Design my Linux distro for everyday use and programming environments, optimized for productivity and simplicity.
- For me, dotfiles is very personal, but you can find some tips, tricks, functions i used in this repos (i copy a lot on the internet, if not have i created once cuz am a programmer)

## Feature

### Zsh

- Fzf, moving fast.
- `f` find the file in current path edit file with nvim (`F` find in home, +h like 'fh' will find the hidden file )
- `c` cd to dir in current path with fancy ls If in git dir print git status, (`C` find in home, +h like 'ch' will find the hidden dir )
- `o` open file int current path with default application with `xdg-open` (`O` find in home, +h like 'oh' will find the hidden object)
- `ej`: find emoji and copy using fzf, wl-copy (require [emoij fzf](https://github.com/noahp/emoji-fzf), wl-copy or you can change the clipboard you using)
- `killAllUnnameTmuxSession`/`qa`: kill all sessions does not have a name just a number session like 23,11,12,... Keep tmux session clean
- Auto switch dark\light theme
- Using `dark` \ `light` in the command line
- Change Nvim & foot terminal & Bat cat theme
- Supported [github theme](https://github.com/projekt0n/github-nvim-theme) by default
- `u`: unzip/rar/tar,...
- `cppProject`: create cpp multi file template

### Tmux

- Autosave, continuum session
- Switch session quickly with fzf, if not have created once, [see plugin](https://github.com/thuanpham2311/tmux-fzf-session-switch)
- Select the file/link press `o` will open in the default app
- Tmux ❤️ Vim:
- Support navigation with `Ctrl+h\j\k\l`
- Select mode using vim keymap

### Vim

#### Thuan fly keys

> I [like Xah fly key](https://github.com/xahlee/xah-fly-keys) for Emacs so i use the similar name, less key press is the goal
- `space + w`: is `:w`, write the file
- `space + q`: is `:q`, just quit the window if file not save -> can't quit
- `Q`: is `:qa!` so much stuff on the screen you want quit (vim not write file you don't save)
- `space + o`: is `:wq`, this "okay" for me just save and close this
- `space + z`: is toggle zoom, like zoom mode in tmux
- `J`: buffer next
- `K`: buffer previous
- `H`: is `:cprevious` the previous error in the list
- `L`: is `:cNext` the next error in the list
- `space + space`: is `Ctrl + ^`, switch between the previous file.
- `Shift + up` normal/insert mode: new line on bottom
- `Shift + down` normal/insert mode: new line on top
> i use [touchcursor linux](https://github.com/donniebreve/touchcursor-linux) to map hold space to [vim mode](https://github.com/thuanpham2311/touchcursor-vim), in this case this easy to me. Also you can use the input-remapper, this is the easy way than touchcursor in linux
- 'gJ': splitjoin split mapping
- 'gK': splitjoin join mapping

#### Writing

- Table of contents
- `TOC`: create the table of contents
- `TOCUpdate`: update the TOC (requited have the TOC create by using `TOC` command before)
- Markdown auto format when you save the file
- Auto-create bullet point, number list
- `fw` in insert mode: fzf with directory, find the word you forget very useful for me when writing English
- `space + r`: to review the markdown file
- `z=`: Suggesting replacing the wrong word.

##### Spell check

- Support: Vietnamese, English
- More new slang, Lang
- Vocabulary in programming
- `space + s` in normal mode: enable (disable by default)

#### Vim everywhere

- Input remapper: hold space for vim mode editing in everywhere, check my config to known how to use
- Browser ❤️ vim with touchcursor, see my config file [here](https://github.com/thuanpham2311/dotfiles/blob/master/surfingkeys.js)

#### Fzf

- `;` in normal mode: open vim command with fzf completion
- `space + f`: find file in current path (`space + F` in home)
- `space + h`: open fzf history files
- `space + j`: open fzf with rig grep, search file content in the current path
- `space + k`: open fzf with buffer files
- `gc` in normal mode: open fzf with git commits + diff

#### Git

> I using [tpope/vim-fugitive](https://github.com/tpope/vim-fugitive) plugin
- `gs`: open git status
- `gl`: open lazygit in float term
- `gp` in normal mode: git push (run background using floaterm)
- `gP` in normal mode: git push -f (run background using floaterm)

#### Emmet:

- `,,` in insert mode: execute like h1`,,` to `<h1>|</h1>`
- Preview with nvim lsp (coq_nvim)

#### vim stuff

- `space+u`: open undo tree (use need to change undodir path)
- `space + r`: run the file (with `R` for second way)
- `:Dark`: switch to dark theme (changed nvim, kitty, Alacritty, bat)
- `:Light`: switch to light theme (changed nvim, kitty, Alacritty, bat)

#### nvim lsp

- Using [coq_nvim](https://github.com/ms-jpq/coq_nvim), [nvim-lsp-installer](https://github.com/williamboman/nvim-lsp-installer)
- Easy install lsp, with [nvim lsp installer](https://github.com/williamboman/nvim-lsp-installer)

### Gnome

#### Extension

- Clipboard Indicator (using folk support img, maybe in the feature can be merge)
- [gnome clipboard history](https://github.com/SUPERCILEX/gnome-clipboard-history)
- Gnome Fuzzy App Search
- Just Perfection (UI, UX in gnome)

#### Applications

- I use `.desktop` for faster search and open in gnome search just press and enter.
- I use brave for default application, recommend is chromium base but you can change whatever you want
- In nowaday we have `.new` domain name, i use this a lot
- You can see all the application is custom [in `applications/`](https://github.com/thuanpham2311/dotfiles/tree/master/applications)
- use updateApplications in zsh to update the applications

```bash
updateApplications() {
cd /usr/share/applications/
sudo find -type l -delete
cd -
sudo ln -sf ~/dotfiles/applications/* /usr/share/applications/
}
```

#### Shortcuts

```bash
dconf dump '/org/gnome/desktop/wm/keybindings/' > keybindings.dconf
dconf dump '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/' > custom-keybindings.dconf

```

> backup
```bash
dconf load '/org/gnome/desktop/wm/keybindings/' < keybindings.dconf
dconf load '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/' < custom-keybindings.dconf
-_-_-_-_-_-_-_,------,
_-_-_-_-_-_-_-| /\_/\
-_-_-_-_-_-_-~|__( ^ .^)
-_-_-_-_-_-_-_-"" ""
```

> restore
## Install

- [Here is install script](./install.sh)

## Supported

### My daily combo

> For my daily use, i develop this dotfiles repos on this, for several months maybe i will change my daily combo (Linux distro hopping)
- Fedora 36
- Gnome 42.1 (wayland)
- Neovim v0.7
- Foot terminal
- Jetbrains mono NL

### Distro Supported

- Fedora
- Debian base
- Arch base

## Requirements
## About

- Neovim ≥ 0.5
- [vim plug](https://github.com/junegunn/vim-plug)
- [Tmux plugin manager](https://github.com/tmux-plugins/tpm)
- [Delta](https://github.com/dandavison/delta) fancy git diff
- For me, dotfiles is very personal, but you can find some tips, tricks, functions i used in this repos
- Since i spend too much time to config the perfect setup, i didn't code, speed time to build better software.
-> So I just delete all fancy stuff, and don't give shit about my setup, these i keep for my own make me feel like home, cozy.

## Demo

Expand Down
42 changes: 0 additions & 42 deletions alacritty/alacritty.yml

This file was deleted.

3 changes: 0 additions & 3 deletions fish/config.fish

This file was deleted.

42 changes: 0 additions & 42 deletions fish/fish_variables

This file was deleted.

30 changes: 0 additions & 30 deletions fish/functions/fish_prompt.fish

This file was deleted.

15 changes: 0 additions & 15 deletions foot/foot.ini

This file was deleted.

19 changes: 0 additions & 19 deletions foot/foot_dark.ini

This file was deleted.

19 changes: 0 additions & 19 deletions foot/foot_light.ini

This file was deleted.

1 change: 0 additions & 1 deletion foot/themeControl.ini

This file was deleted.

4 changes: 0 additions & 4 deletions gnome/custom-keybindings.dconf

This file was deleted.

Loading

0 comments on commit 698a3b8

Please sign in to comment.