Compare commits
9 Commits
3b3cb91d4e
...
edbb09d339
Author | SHA1 | Date |
---|---|---|
Michel | edbb09d339 | |
Michel | af856c45af | |
Michel | 28e04e04bd | |
Michel | a49a150238 | |
Michel | e02f287489 | |
Michel | 47afe474a8 | |
Michel | e024a5e910 | |
Michel | f970fc3aea | |
Michel | 21f31321a5 |
76
.README.md
76
.README.md
|
@ -1,11 +1,12 @@
|
|||
<!-- markdownlint-disable line-length no-inline-html no-duplicate-heading -->
|
||||
# Bare Git Repository
|
||||
|
||||
- https://www.atlassian.com/git/tutorials/dotfiles
|
||||
- <https://www.atlassian.com/git/tutorials/dotfiles>
|
||||
- StreakyCobra
|
||||
|
||||
## Starting from scratch
|
||||
## Starting from scratch
|
||||
|
||||
```
|
||||
```sh
|
||||
git init --bare $HOME/.dotfiles
|
||||
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME'
|
||||
dotfiles config --local status.showUntrackedFiles no
|
||||
|
@ -19,7 +20,7 @@ files which would be overwritten by Git.
|
|||
The “BKDIR” part is a rough shortcut to move all the offending files
|
||||
automatically to a backup folder:
|
||||
|
||||
```
|
||||
```sh
|
||||
git clone --bare <git-repo-url> $HOME/.dotfiles
|
||||
|
||||
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME'
|
||||
|
@ -35,7 +36,7 @@ dotfiles checkout
|
|||
|
||||
## Install into `/etc/skel`
|
||||
|
||||
```
|
||||
```sh
|
||||
sudo mkdir -p /etc/skel/.dotfiles
|
||||
sudo chown $(whoami) /etc/skel
|
||||
|
||||
|
@ -53,13 +54,13 @@ skelfiles checkout
|
|||
|
||||
## Other Tools
|
||||
|
||||
```
|
||||
```sh
|
||||
lazygit --git-dir=$HOME/.dotfiles --work-tree=$HOME
|
||||
```
|
||||
|
||||
# Install remotes as subtree
|
||||
|
||||
- https://www.atlassian.com/git/tutorials/git-subtree
|
||||
- <https://www.atlassian.com/git/tutorials/git-subtree>
|
||||
- Create an alias for remote repository
|
||||
- `dotfiles remote add <remote-name> <URL>`
|
||||
- Import remote as a single commit (squashed)
|
||||
|
@ -75,12 +76,11 @@ lazygit --git-dir=$HOME/.dotfiles --work-tree=$HOME
|
|||
|
||||
From [stackoverflow](https://stackoverflow.com/questions/28484186/apply-github-commit-pull-request-as-a-patch).
|
||||
|
||||
```
|
||||
```sh
|
||||
wget https://github.com/jesseduffield/lazygit/pull/2604.patch
|
||||
git apply --stat --apply 2604.patch
|
||||
```
|
||||
|
||||
|
||||
## Fonts
|
||||
|
||||
- [How to install and manage fonts on Linux](https://linuxconfig.org/how-to-install-and-manage-fonts-on-linux)
|
||||
|
@ -94,28 +94,27 @@ git apply --stat --apply 2604.patch
|
|||
- [Download](https://github.com/ryanoasis/nerd-fonts/tags)
|
||||
- NerdFontsSymbolsOnly.tar.xz
|
||||
- [Cheat Sheet](https://www.nerdfonts.com/cheat-sheet)
|
||||
- https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/bin/scripts/test-fonts.sh
|
||||
- <https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/bin/scripts/test-fonts.sh>
|
||||
|
||||
### in /opt/fonts
|
||||
|
||||
`/etc/fonts/conf.d/00-opt.conf`:
|
||||
|
||||
```
|
||||
```xml
|
||||
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<dir>/opt/fonts</dir>
|
||||
</fontconfig>
|
||||
```
|
||||
|
||||
|
||||
## kitty
|
||||
|
||||
- https://sw.kovidgoyal.net/kitty/binary/
|
||||
- <https://sw.kovidgoyal.net/kitty/binary/>
|
||||
- Install `JetBrains Mono` (without NF) & `NerdFontsSymbolsOnly` fonts.
|
||||
- Note: outside of kitty, it may be interesting to also install
|
||||
_JetBrains Mono_ *with* _NF_.
|
||||
_JetBrains Mono_ **with** _NF_.
|
||||
|
||||
```
|
||||
```sh
|
||||
sudo apt-get install kitty-terminfo
|
||||
|
||||
(kitty --version && curl https://sw.kovidgoyal.net/kitty/changelog/ | html2text) | less
|
||||
|
@ -130,7 +129,6 @@ sudo update-alternatives \
|
|||
Kitty prepends its _bin_ folder to the path.
|
||||
So it is more coherent/simpler to copy this behaviour into Zsh.
|
||||
|
||||
|
||||
## lazygit
|
||||
|
||||
### Dependencies
|
||||
|
@ -139,7 +137,7 @@ So it is more coherent/simpler to copy this behaviour into Zsh.
|
|||
|
||||
### Binary Releases
|
||||
|
||||
```
|
||||
```sh
|
||||
mkdir -p /opt/lazygit/bin
|
||||
cd /opt/lazygit/bin
|
||||
|
||||
|
@ -155,6 +153,30 @@ wget $LOCATION
|
|||
tar xf *.tar.gz(om[1])
|
||||
```
|
||||
|
||||
### Go
|
||||
|
||||
```sh
|
||||
export GOPATH=/opt/go && sudo mkdir -p $GOPATH
|
||||
sudo -E go install github.com/jesseduffield/lazygit@latest
|
||||
```
|
||||
|
||||
Problem: Commit ID, build date and version aren't set.
|
||||
|
||||
```sh
|
||||
$ lazygit --version
|
||||
commit=, build date=, build source=unknown, version=unversioned, os=linux, arch=amd64, git version=2.43.0
|
||||
```
|
||||
|
||||
### Manual
|
||||
|
||||
```sh
|
||||
mkdir -p $HOME/dev_3rd/golang
|
||||
cd $HOME/dev_3rd/golang
|
||||
|
||||
git clone https://github.com/jesseduffield/lazygit.git
|
||||
cd lazygit
|
||||
go install
|
||||
```
|
||||
|
||||
## neovim
|
||||
|
||||
|
@ -166,7 +188,7 @@ tar xf *.tar.gz(om[1])
|
|||
|
||||
### Binary Nightly Release
|
||||
|
||||
```
|
||||
```sh
|
||||
mkdir -p /opt/neovim/bin
|
||||
cd /opt/neovim/bin
|
||||
|
||||
|
@ -190,10 +212,10 @@ vi --version
|
|||
- bsdtar (`libarchive-tools`) supports _Zstd_
|
||||
- [fuse-archive](https://github.com/google/fuse-archive)
|
||||
- `atool`: last release is from 2012
|
||||
- https://github.com/solsticedhiver/atool2
|
||||
- https://github.com/wummel/patool
|
||||
- <https://github.com/solsticedhiver/atool2>
|
||||
- <https://github.com/wummel/patool>
|
||||
|
||||
- Drag&Drop: URI=https://github.com/mwh/dragon
|
||||
- Drag&Drop: <https://github.com/mwh/dragon>
|
||||
|
||||
- Trash:
|
||||
- `trash-cli` is a much better CLI-only solution!
|
||||
|
@ -202,7 +224,7 @@ vi --version
|
|||
|
||||
### Source Code of Latest Release
|
||||
|
||||
```
|
||||
```sh
|
||||
# Download archive & extract files
|
||||
URI=https://github.com/jarun/nnn
|
||||
xdg-open $URI/releases/latest
|
||||
|
@ -215,5 +237,13 @@ make clean
|
|||
sudo make PREFIX=/opt/nnn O_GITSTATUS=1 O_NAMEFIRST=1 O_NERD=1 install
|
||||
|
||||
# Copy plugins
|
||||
plugins/getplugs
|
||||
plugins/getplugs master
|
||||
```
|
||||
|
||||
### From repository
|
||||
|
||||
```sh
|
||||
git clone https://github.com/jarun/nnn.git
|
||||
```
|
||||
|
||||
and then, as above…
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
[Desktop Entry]
|
||||
Exec=/home/michel/bin/once-connected.zsh
|
||||
Icon=user
|
||||
Name=once-connected.zsh
|
||||
Terminal=false
|
||||
Type=Application
|
|
@ -0,0 +1,2 @@
|
|||
NC_STORAGE=$HOME/NC-Michel/Linux/folder
|
||||
ALT_HISTORY_FILE=$HOME/NC-Michel/Linux/another-folder/history
|
|
@ -1,2 +0,0 @@
|
|||
export NC_STORAGE="$HOME/NC-Michel/Linux/folder"
|
||||
export ALT_HISTORY_FILE="$HOME/NC-Michel/Linux/another-folder/history"
|
12
.zimrc
12
.zimrc
|
@ -2,11 +2,7 @@
|
|||
### Zim Modules
|
||||
###
|
||||
|
||||
# apt install bat curl fd-find fzf lsd ripgrep
|
||||
# dpkg-divert --divert /usr/bin/bat --rename /usr/bin/batcat
|
||||
# dpkg-divert --divert /usr/bin/fd --rename /usr/bin/fdfind
|
||||
|
||||
### Behaviour
|
||||
### Completion
|
||||
|
||||
# Additional completion definitions for Zsh.
|
||||
zmodule zsh-users/zsh-completions
|
||||
|
@ -15,9 +11,6 @@ zmodule zsh-users/zsh-completions
|
|||
# completion must be sourced after zsh-users/zsh-completions
|
||||
zmodule completion
|
||||
|
||||
# Figures out where to get the best help, and gets it.
|
||||
zmodule run-help
|
||||
|
||||
|
||||
### Productivity
|
||||
|
||||
|
@ -47,6 +40,9 @@ zmodule b4b4r07/enhancd
|
|||
# ZVM — Zsh Vi Mode
|
||||
zmodule jeffreytse/zsh-vi-mode
|
||||
|
||||
# Loads the "inner function" & binds alt-H key
|
||||
zmodule run-help
|
||||
|
||||
# Fast Syntax Highlighting
|
||||
#
|
||||
# `fast-theme --list` to list available themes -> "free"
|
||||
|
|
32
.zshrc
32
.zshrc
|
@ -1,5 +1,18 @@
|
|||
#!/bin/zsh
|
||||
|
||||
###
|
||||
### Debian Settings
|
||||
###
|
||||
|
||||
# apt install bat curl fd-find fzf lsd ripgrep
|
||||
|
||||
# dpkg-divert --divert /usr/bin/bat --rename /usr/bin/batcat
|
||||
# dpkg-divert --divert /usr/bin/fd --rename /usr/bin/fdfind
|
||||
# dpkg-divert --divert /usr/share/man/man1/bat.1.gz --rename /usr/share/man/man1/batcat.1.gz
|
||||
# dpkg-divert --divert /usr/share/man/man1/fd.1.gz --rename /usr/share/man/man1/fdfind.1.gz
|
||||
# dpkg-divert --divert /usr/share/zsh/vendor-completions/_rg --rename /usr/share/zsh/vendor-completions/rg.zsh
|
||||
|
||||
|
||||
###
|
||||
### Zsh Configuration
|
||||
###
|
||||
|
@ -10,6 +23,9 @@ SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? '
|
|||
# Characters considered part of a word by the line editor
|
||||
WORDCHARS="*?_-.~$"
|
||||
|
||||
# Set the "main" keyboard so `bindkey` without `-M` will change the expected map
|
||||
bindkey -A viins main
|
||||
|
||||
|
||||
###
|
||||
### Path
|
||||
|
@ -55,6 +71,12 @@ ENHANCD_ARG_DOUBLE_DOT='.'
|
|||
ENHANCD_ENABLE_SINGLE_DOT=false
|
||||
|
||||
### fzf
|
||||
#
|
||||
# Scripts sourced by zvm_after_init()
|
||||
#
|
||||
# - https://github.com/junegunn/fzf#key-bindings-for-command-line
|
||||
# - https://github.com/junegunn/fzf#fuzzy-completion-for-bash-and-zsh
|
||||
|
||||
#
|
||||
# Adapted from https://github.com/zimfw/fzf
|
||||
#
|
||||
|
@ -92,14 +114,6 @@ if (( ${+FZF_DEFAULT_COMMAND} )) export FZF_CTRL_T_COMMAND=${FZF_DEFAULT_COMMAND
|
|||
#
|
||||
FZF_CTRL_R_OPTS="--no-sort --exact"
|
||||
|
||||
# Scripts sourced by zvm_after_init()
|
||||
#
|
||||
# - source /usr/share/doc/fzf/examples/key-bindings.zsh
|
||||
# https://github.com/junegunn/fzf#key-bindings-for-command-line
|
||||
#
|
||||
# - source /usr/share/doc/fzf/examples/completion.zsh
|
||||
# https://github.com/junegunn/fzf#fuzzy-completion-for-bash-and-zsh
|
||||
|
||||
# fzf: Alternate history (Ctrl-Win-R)
|
||||
#
|
||||
if [[ -f $ALT_HISTORY_FILE ]]; then
|
||||
|
@ -489,7 +503,7 @@ typeset -U path fpath
|
|||
### Completion Late Definitions
|
||||
###
|
||||
|
||||
compdef bat=cat
|
||||
compdef bat=batcat
|
||||
|
||||
# Hide "parameters" (i.e. environment variables) when looking for a "command"
|
||||
zstyle ':completion:*:-command-:*' tag-order '!parameters'
|
||||
|
|
|
@ -7,12 +7,14 @@ alias xterm='xterm -bg black -fg white -fa Hack -fs 10'
|
|||
## Cloud folder must exist
|
||||
#
|
||||
if [ -z "$NC_STORAGE" ]; then
|
||||
echo "${fg[red]}NC_STORAGE environment variable not set."
|
||||
autoload colors && colors
|
||||
echo "${fg[cyan]}NC_STORAGE${fg[red]} environment variable not set."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d $NC_STORAGE ]; then
|
||||
echo "${fg[cyan]}$NC_STORAGE ${fg[red]}is not a folder (in \$NC_STORAGE)."
|
||||
autoload colors && colors
|
||||
echo "${fg[cyan]}\$NC_STORAGE (=$NC_STORAGE)${fg[red]} is not a folder."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
|
|
|
@ -14,7 +14,8 @@ xterm -geometry 120x40 -title "Mount devices" -hold -e $HOME/bin/mount_dev.zsh
|
|||
|
||||
## Start periodic actions
|
||||
#
|
||||
$HOME/bin/every-hour.zsh
|
||||
|
||||
eval xterm -hold -e env $(cat ~/.config/environment.d/variables.conf) $HOME/bin/every-hour.zsh
|
||||
|
||||
|
||||
## Wait for an Internet connection
|
||||
|
|
Loading…
Reference in New Issue