2024-02-12 14:36:40 +01:00
|
|
|
<!-- markdownlint-disable line-length no-inline-html no-duplicate-heading -->
|
2024-05-06 13:57:05 +02:00
|
|
|
# Installation Tips
|
2024-02-22 18:37:43 +01:00
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
Recommended installation order:
|
|
|
|
|
|
|
|
- [Debian packages](#debian)
|
2024-05-06 13:57:05 +02:00
|
|
|
- [dotfiles](#dotfiles)
|
2024-05-06 15:56:45 +02:00
|
|
|
- [System Config](#syscfg)
|
2024-07-03 11:17:34 +02:00
|
|
|
- [Qubes Specific](#qubes)
|
2024-04-16 10:07:34 +02:00
|
|
|
- [ASDF](#asdf) & plugins
|
2024-06-20 15:48:31 +02:00
|
|
|
- [Newer Debian packages](#newer_versions)
|
2024-04-16 10:07:34 +02:00
|
|
|
- [Fonts](#fonts)
|
|
|
|
- [kitty](#kitty) — `st`?
|
|
|
|
- [lazygit](#lazygit)
|
|
|
|
- [nnn](#nnn)
|
|
|
|
- [neovim](#neovim)
|
2024-05-06 13:57:05 +02:00
|
|
|
- Install into `/etc/skel` (see dotfiles)
|
2023-04-27 10:49:07 +02:00
|
|
|
|
2023-05-26 10:37:02 +02:00
|
|
|
## Generic Tips
|
|
|
|
|
2024-03-11 19:23:31 +01:00
|
|
|
### Desktop Files
|
|
|
|
|
|
|
|
See <https://specifications.freedesktop.org/desktop-entry-spec/latest/>
|
|
|
|
|
2024-04-24 15:07:30 +02:00
|
|
|
### GIT remotes as 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)
|
|
|
|
- `dotfiles subtree add --prefix <target-folder> <remote-name> <branch> --squash
|
|
|
|
- Note 1: Must be called from $HOME
|
|
|
|
- Note 2: Do not start <target-folder> with $HOME or ~
|
|
|
|
|
2023-05-26 10:37:02 +02:00
|
|
|
### Github Patches
|
|
|
|
|
|
|
|
From [stackoverflow](https://stackoverflow.com/questions/28484186/apply-github-commit-pull-request-as-a-patch).
|
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
```sh
|
2023-05-26 10:37:02 +02:00
|
|
|
wget https://github.com/jesseduffield/lazygit/pull/2604.patch
|
|
|
|
git apply --stat --apply 2604.patch
|
|
|
|
```
|
|
|
|
|
2024-07-03 11:17:34 +02:00
|
|
|
### Qubes: Temporary Internet Access
|
2024-04-16 10:07:34 +02:00
|
|
|
|
|
|
|
- In _Basic_, connect to `sys-firewall`;
|
|
|
|
- In _Firewall rules_:
|
|
|
|
- check _Limit outgoing connections_;
|
|
|
|
- check _Allow full access for 25 minutes_.
|
|
|
|
|
|
|
|
## Debian Packages {#debian}
|
2024-02-22 18:37:43 +01:00
|
|
|
|
|
|
|
```sh
|
2024-04-25 12:00:27 +02:00
|
|
|
apt install --no-install-recommends \
|
2024-05-06 15:56:45 +02:00
|
|
|
aptitude \
|
2024-04-25 12:00:27 +02:00
|
|
|
curl fd-find fzf git grc ripgrep \
|
|
|
|
vim-nox vim-tiny- wget xdg-utils \
|
|
|
|
|
|
|
|
dpkg-divert --rename --divert /usr/bin/fd /usr/bin/fdfind
|
|
|
|
dpkg-divert --rename --divert /usr/share/man/man1/fd.1.gz \
|
|
|
|
/usr/share/man/man1/fdfind.1.gz
|
|
|
|
dpkg-divert --rename --divert /usr/share/zsh/vendor-completions/_rg \
|
|
|
|
/usr/share/zsh/vendor-completions/rg.zsh
|
|
|
|
|
|
|
|
# Installed by kicksecure
|
|
|
|
dpkg-divert --rename --divert /usr/share/zsh-autosuggestions/disabled \
|
|
|
|
/usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
|
2024-02-22 18:37:43 +01:00
|
|
|
```
|
|
|
|
|
2024-05-06 13:57:05 +02:00
|
|
|
## dotfiles — Bare Git Repository {#dotfiles}
|
|
|
|
|
|
|
|
- <https://www.atlassian.com/git/tutorials/dotfiles>
|
|
|
|
- StreakyCobra
|
|
|
|
|
|
|
|
### 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
|
|
|
|
```
|
|
|
|
|
|
|
|
### Install onto a new system
|
|
|
|
|
|
|
|
The `checkout` command is expected to fail with a message.
|
|
|
|
This is because your $HOME folder might already have some stock configuration
|
|
|
|
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
|
|
|
|
|
|
|
|
export ALL_PROXY=127.0.0.1:8082
|
|
|
|
git clone --bare https://forge.chapril.org/michel_ouba/points.git $HOME/.dotfiles
|
|
|
|
|
|
|
|
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME'
|
|
|
|
|
|
|
|
dotfiles config --local status.showUntrackedFiles no
|
|
|
|
|
|
|
|
BRANCH=main
|
|
|
|
BKDIR=".dotfiles-backup/";
|
|
|
|
dotfiles checkout ${BRANCH} 2>&1 | egrep "\s+" | awk {'print $1'} |
|
|
|
|
xargs -I{} sh -c "mkdir -p \$(dirname ${BKDIR}{}); mv -iv {} ${BKDIR}{}";
|
|
|
|
|
|
|
|
dotfiles checkout ${BRANCH}
|
2024-05-06 15:56:45 +02:00
|
|
|
|
|
|
|
for file in ${BKDIR%/}/*(D); {
|
|
|
|
ls -lh ${file} ./${file#${BKDIR}}; read;
|
|
|
|
vimdiff ${file} ./${file#${BKDIR}} }
|
2024-05-06 13:57:05 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
When the `fetch` configuration is not set, insert the following line in the
|
|
|
|
_remote_ section of `.dotfiles/config`:
|
|
|
|
|
|
|
|
```config
|
2024-06-19 11:59:51 +02:00
|
|
|
fetch = +refs/heads/*:refs/remotes/<remote-name>/*
|
2024-05-06 13:57:05 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
### Install into `/etc/skel`
|
|
|
|
|
|
|
|
```sh
|
|
|
|
sudo mkdir -p /etc/skel/.dotfiles
|
2024-05-06 15:56:45 +02:00
|
|
|
sudo chown $(whoami) /etc/skel /etc/skel/.dotfiles
|
|
|
|
sudo chown $(whoami) -R /etc/skel/.config
|
2024-05-06 13:57:05 +02:00
|
|
|
|
|
|
|
git clone --bare $(dotfiles remote -v | head -1 | cut -f2 | cut -f1 -d' ') /etc/skel/.dotfiles
|
|
|
|
|
|
|
|
alias skelfiles='/usr/bin/git --git-dir=/etc/skel/.dotfiles --work-tree=/etc/skel'
|
|
|
|
skelfiles config --local status.showUntrackedFiles no
|
|
|
|
skelfiles checkout
|
|
|
|
```
|
|
|
|
|
2024-07-03 11:17:34 +02:00
|
|
|
Update the `fetch` remote setting in `.dotfiles/config`.
|
|
|
|
|
2024-05-06 13:57:05 +02:00
|
|
|
### Useful Commands
|
|
|
|
|
|
|
|
- List all tracked files (from CWD):
|
2024-05-21 17:16:54 +02:00
|
|
|
`dotfiles ls-tree --name-only -rz HEAD | xargs -0 $(whence lsd) -lU`
|
|
|
|
`--color always | fzf --multi --height=~100 --exact`
|
2024-05-06 13:57:05 +02:00
|
|
|
|
|
|
|
### Other Tools
|
|
|
|
|
|
|
|
```sh
|
|
|
|
lazygit --git-dir=$HOME/.dotfiles --work-tree=$HOME
|
2024-07-03 11:17:34 +02:00
|
|
|
lazygit --git-dir=/etc/skel/.dotfiles --work-tree=/etc/skel
|
2024-05-06 13:57:05 +02:00
|
|
|
```
|
|
|
|
|
2024-05-06 15:56:45 +02:00
|
|
|
## System Config {#syscfg}
|
|
|
|
|
|
|
|
- [SysRq](https://www.kicksecure.com/wiki/SysRq)
|
|
|
|
- `sudo cp -aiv ~/.aptitude /root`
|
|
|
|
|
2024-07-03 11:17:34 +02:00
|
|
|
## Qubes Specific {#qubes}
|
|
|
|
|
|
|
|
### Kicksecure
|
|
|
|
|
|
|
|
- [Disable sdwdate-gui](https://www.kicksecure.com/wiki/Sdwdate-gui#Disable_Autostart)
|
|
|
|
|
|
|
|
### Launch Services
|
|
|
|
|
|
|
|
```sh
|
|
|
|
qvm-run -q --service -- <VM-name> qubes.StartApp+firefox-PM
|
|
|
|
qvm-run -q --service -- <VM-name> qubes.StartApp+kitty-opt
|
|
|
|
```
|
|
|
|
|
|
|
|
Can be used in global Keyboard settings (shortcuts).
|
|
|
|
|
|
|
|
### Proxy Scripts
|
2024-05-06 15:56:45 +02:00
|
|
|
|
|
|
|
```sh
|
|
|
|
chmod +x $HOME/bin/*-proxy
|
|
|
|
|
|
|
|
export ALL_PROXY=127.0.0.1:8082
|
|
|
|
source ~/.zshrc
|
|
|
|
```
|
|
|
|
|
|
|
|
TODO: Insert random part in filenames.
|
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
## ASDF & main plugins {#asdf}
|
|
|
|
|
|
|
|
`.zshrc` will install `asdf`.
|
|
|
|
|
2024-05-06 15:56:45 +02:00
|
|
|
Before installing/compiling Python, make sure you have the required
|
|
|
|
[system dependencies](https://github.com/pyenv/pyenv/wiki#suggested-build-environment).
|
2024-04-16 10:07:34 +02:00
|
|
|
|
|
|
|
```sh
|
2024-05-06 15:56:45 +02:00
|
|
|
sudo apt install --no-install-recommends \
|
|
|
|
build-essential libssl-dev zlib1g-dev \
|
|
|
|
libbz2-dev libreadline-dev libsqlite3-dev curl \
|
|
|
|
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
|
2024-04-16 10:07:34 +02:00
|
|
|
|
|
|
|
asdf plugin add direnv
|
2024-05-06 15:56:45 +02:00
|
|
|
asdf install direnv latest
|
|
|
|
asdf direnv setup --version latest
|
|
|
|
asdf global direnv latest
|
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
asdf plugin add python
|
2024-05-06 15:56:45 +02:00
|
|
|
|
|
|
|
for Plugin in $(asdf plugin list); { echo $Plugin; asdf list $Plugin }
|
2024-04-25 12:00:27 +02:00
|
|
|
```
|
|
|
|
|
2024-06-20 15:48:31 +02:00
|
|
|
## Newer Debian packages {#newer_versions}
|
|
|
|
|
|
|
|
### Flatpak
|
|
|
|
|
|
|
|
- `com.github.tchx84.Flatseal`
|
|
|
|
- `org.mozilla.firefox`
|
2024-07-31 10:48:58 +02:00
|
|
|
- `org.mozilla.Thunderbird`
|
|
|
|
|
|
|
|
TODO: [Where are all the installed flatpak apps .desktop files located](https://github.com/flatpak/flatpak/issues/1286)
|
2024-06-20 15:48:31 +02:00
|
|
|
|
|
|
|
#### Kicksecure Wiki
|
|
|
|
|
|
|
|
- [Install Additional Software Safely](https://www.kicksecure.com/wiki/Install_Software)
|
|
|
|
- Qubes OS Specific
|
|
|
|
Applications installed using Flatpak:
|
|
|
|
Qube settings → applications tab → press "Refresh Applications".
|
|
|
|
- [Bootstrapping a Trust path To Flathub Repository Signing Key](https://www.kicksecure.com/wiki/Dev/flatpak)
|
|
|
|
- WiP
|
|
|
|
- Not needed with package `anon-apt-sources-list`???
|
|
|
|
- <https://github.com/Kicksecure/anon-apt-sources-list>
|
|
|
|
|
|
|
|
```sh
|
|
|
|
% cd ~/Downloads
|
|
|
|
% scurl-download https://flathub.org/repo/flathub.flatpakrepo
|
|
|
|
% sed -ne 's/^GPGKey=//p' flathub.flatpakrepo | base64 -w0 -d | gpg --import
|
|
|
|
|
|
|
|
% gpg --fingerprint 6E5C05D979C76DAF93C081354184DD4D907A7CAE
|
|
|
|
pub rsa4096/0x4184DD4D907A7CAE 2017-06-16 [SC] [expires: 2027-06-14]
|
|
|
|
Key fingerprint = 6E5C 05D9 79C7 6DAF 93C0 8135 4184 DD4D 907A 7CAE
|
|
|
|
uid [ unknown] Flathub Repo Signing Key <flathub@flathub.org>
|
|
|
|
sub rsa4096/0x562702E9E3ED7EE8 2017-06-16 [S] [expires: 2027-06-14]
|
|
|
|
|
|
|
|
% diff ~/Downloads/flathub.flatpakrepo /etc/flatpak/remotes.d/flathub.flatpakrepo
|
|
|
|
2c2,3
|
|
|
|
< Title=Flathub
|
|
|
|
---
|
|
|
|
> Title=Flathub - Verified and Floss (Freedom Software) - --subset=verified_floss
|
|
|
|
> Subset=verified_floss
|
|
|
|
```
|
|
|
|
|
|
|
|
### Versions Checking Tool
|
2024-04-25 12:00:27 +02:00
|
|
|
|
|
|
|
```sh
|
2024-04-16 10:07:34 +02:00
|
|
|
cd ~/bin
|
|
|
|
asdf current
|
2024-05-06 15:56:45 +02:00
|
|
|
asdf local direnv latest
|
2024-04-16 10:07:34 +02:00
|
|
|
asdf install
|
2024-04-25 12:00:27 +02:00
|
|
|
direnv allow
|
|
|
|
python -m pip install -r requirements.txt
|
|
|
|
|
2024-05-06 15:56:45 +02:00
|
|
|
cd ~/Downloads
|
2024-04-25 12:00:27 +02:00
|
|
|
versions_check
|
|
|
|
|
|
|
|
wget-proxy https://...
|
|
|
|
dpkg -i *.deb
|
2024-04-16 10:07:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
## Fonts {#fonts}
|
2023-05-26 10:37:02 +02:00
|
|
|
|
|
|
|
- [JetBrains Mono](https://www.jetbrains.com/lp/mono/)
|
2024-05-06 15:56:45 +02:00
|
|
|
- Choose files **without** “NL” (No Ligatures) in their names
|
2023-05-26 10:37:02 +02:00
|
|
|
|
|
|
|
- [Nerd Fonts](https://www.nerdfonts.com/)
|
|
|
|
- [Download](https://github.com/ryanoasis/nerd-fonts/tags)
|
2024-02-22 18:37:43 +01:00
|
|
|
- JetBrainsMono.tar.xz
|
2023-05-26 10:37:02 +02:00
|
|
|
- NerdFontsSymbolsOnly.tar.xz
|
|
|
|
- [Cheat Sheet](https://www.nerdfonts.com/cheat-sheet)
|
2024-02-12 14:36:40 +01:00
|
|
|
- <https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/bin/scripts/test-fonts.sh>
|
2023-05-26 10:37:02 +02:00
|
|
|
|
2024-03-11 19:23:31 +01:00
|
|
|
### in $HOME/.fonts
|
|
|
|
|
|
|
|
```sh
|
|
|
|
mv folder ~/.fonts
|
|
|
|
fc-cache -fv ~/.fonts
|
|
|
|
```
|
|
|
|
|
|
|
|
See also [How to install and manage fonts on Linux](https://linuxconfig.org/how-to-install-and-manage-fonts-on-linux).
|
|
|
|
|
|
|
|
### 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>
|
|
|
|
```
|
|
|
|
|
|
|
|
```sh
|
2024-05-06 15:56:45 +02:00
|
|
|
sudo mkdir -p /opt/fonts
|
2024-03-11 19:23:31 +01:00
|
|
|
sudo mv folder /opt/fonts
|
2024-05-06 15:56:45 +02:00
|
|
|
sudo chown root:root -R /opt/fonts
|
2024-03-11 19:23:31 +01:00
|
|
|
fc-cache -fv /opt/fonts
|
|
|
|
```
|
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
## kitty {#kitty}
|
2023-04-27 10:49:07 +02:00
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
- <https://sw.kovidgoyal.net/kitty/binary/>
|
2024-03-11 19:23:31 +01:00
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
|
|
- `JetBrains Mono` (without NL)
|
|
|
|
- `NerdFontsSymbolsOnly`
|
2023-11-07 19:47:37 +01:00
|
|
|
- Note: outside of kitty, it may be interesting to also install
|
2024-03-11 19:23:31 +01:00
|
|
|
_JetBrains Mono_ **with** _NL_.
|
2024-03-26 14:10:41 +01:00
|
|
|
- terminfo
|
2023-04-27 10:49:07 +02:00
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
```sh
|
2024-02-22 18:37:43 +01:00
|
|
|
sudo apt install kitty-terminfo
|
2024-04-16 10:07:34 +02:00
|
|
|
# OR:
|
2024-05-21 17:16:54 +02:00
|
|
|
wget 'https://salsa.debian.org/debian/kitty/-/raw/debian/sid/terminfo/x/xterm-kitty'
|
|
|
|
sudo cp xterm-kitty /usr/share/terminfo/x
|
2024-03-11 19:23:31 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
### Install
|
2024-02-22 18:37:43 +01:00
|
|
|
|
2024-03-11 19:23:31 +01:00
|
|
|
```sh
|
2024-04-16 10:07:34 +02:00
|
|
|
# Show installed version, debian package & changelog
|
2024-03-11 19:23:31 +01:00
|
|
|
(ls =kitty;
|
|
|
|
kitty --version;
|
|
|
|
apt show kitty;
|
|
|
|
curl https://sw.kovidgoyal.net/kitty/changelog/ | html2text) | less
|
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
# Debian package
|
2024-03-11 19:23:31 +01:00
|
|
|
sudo apt install kitty
|
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
# In $HOME
|
2023-04-27 10:49:07 +02:00
|
|
|
sh ~/.config/kitty/installer.sh
|
2024-03-11 19:23:31 +01:00
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
# In /opt/kitty.app
|
2024-05-21 17:16:54 +02:00
|
|
|
# Insert Proxy export at top of installer
|
2024-03-11 19:23:31 +01:00
|
|
|
sudo sh ~/.config/kitty/installer.sh launch=n dest=/opt
|
|
|
|
sudo update-alternatives \
|
|
|
|
--install /usr/bin/x-terminal-emulator \
|
|
|
|
x-terminal-emulator /opt/kitty.app/bin/kitty 99
|
2023-04-27 10:49:07 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
**Note**:
|
|
|
|
Kitty prepends its _bin_ folder to the path.
|
|
|
|
So it is more coherent/simpler to copy this behaviour into Zsh.
|
2023-05-04 17:33:19 +02:00
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
## lazygit {#lazygit}
|
2023-05-04 17:33:19 +02:00
|
|
|
|
2023-11-07 19:47:37 +01:00
|
|
|
### Dependencies
|
|
|
|
|
|
|
|
- git-delta
|
2024-02-22 18:37:43 +01:00
|
|
|
- go language (when compiling)
|
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
```sh
|
|
|
|
# debian testing & unstable:
|
|
|
|
apt install git-delta
|
|
|
|
```
|
|
|
|
|
2024-02-22 18:37:43 +01:00
|
|
|
### From Source
|
|
|
|
|
|
|
|
```sh
|
|
|
|
mkdir -p $HOME/dev_3rd/golang
|
|
|
|
cd $HOME/dev_3rd/golang
|
|
|
|
|
|
|
|
git clone https://github.com/jesseduffield/lazygit.git
|
|
|
|
cd lazygit
|
|
|
|
|
|
|
|
path+=(/usr/lib/go-1.21/bin)
|
|
|
|
go install
|
|
|
|
```
|
2023-10-09 14:24:13 +02:00
|
|
|
|
2023-10-04 16:14:42 +02:00
|
|
|
### Binary Releases
|
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
```sh
|
2023-11-07 19:47:37 +01:00
|
|
|
URI=https://api.github.com/repos/jesseduffield/lazygit
|
|
|
|
LOCATION=$(curl -s $URI/releases/latest \
|
2023-10-04 16:14:42 +02:00
|
|
|
| grep "browser_download_url.*Linux_x86_64" \
|
|
|
|
| awk '{ print $2 }' \
|
|
|
|
| sed 's/,$//' \
|
|
|
|
| sed 's/"//g')
|
|
|
|
echo $LOCATION
|
|
|
|
wget $LOCATION
|
2024-05-21 17:16:54 +02:00
|
|
|
|
|
|
|
sudo mkdir -p /opt/lazygit/bin
|
|
|
|
cd /opt/lazygit/bin
|
|
|
|
sudo tar xf ${OLDPWD}/*.tar.gz(om[1])
|
2024-06-19 19:17:04 +02:00
|
|
|
sudo chown root:root -R *
|
2023-10-04 16:14:42 +02:00
|
|
|
```
|
|
|
|
|
2024-02-22 18:37:43 +01:00
|
|
|
### From Go Package
|
2023-05-26 10:37:02 +02:00
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
```sh
|
2023-05-04 17:33:19 +02:00
|
|
|
go install github.com/jesseduffield/lazygit@latest
|
2024-04-16 10:07:34 +02:00
|
|
|
export GOPATH=/opt/go && sudo mkdir -p $GOPATH
|
|
|
|
sudo -E go install github.com/jesseduffield/lazygit@latest
|
2023-05-04 17:33:19 +02:00
|
|
|
```
|
2023-05-26 10:37:02 +02:00
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
Problem: Commit ID, build date and version aren't set.
|
2023-05-26 10:37:02 +02:00
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
```sh
|
|
|
|
$ lazygit --version
|
|
|
|
commit=, build date=, build source=unknown, version=unversioned, os=linux, arch=amd64, git version=2.43.0
|
2023-05-26 10:37:02 +02:00
|
|
|
```
|
2024-02-12 14:36:40 +01:00
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
## neovim {#neovim}
|
2023-06-15 13:54:45 +02:00
|
|
|
|
2023-11-07 19:47:37 +01:00
|
|
|
### Dependencies
|
|
|
|
|
|
|
|
- kitty / NerdFont
|
|
|
|
- libfuse2
|
|
|
|
- xsel
|
2023-10-09 14:24:13 +02:00
|
|
|
|
2023-11-07 19:47:37 +01:00
|
|
|
### Binary Nightly Release
|
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
```sh
|
2023-10-09 14:24:13 +02:00
|
|
|
mkdir -p $HOME/.local/bin
|
2023-06-15 13:54:45 +02:00
|
|
|
cd $HOME/.local/bin
|
2024-04-16 10:07:34 +02:00
|
|
|
# ---
|
2024-05-21 17:16:54 +02:00
|
|
|
sudo mkdir -p /opt/neovim/bin
|
2024-03-11 19:23:31 +01:00
|
|
|
cd /opt/neovim/bin
|
2023-10-09 14:24:13 +02:00
|
|
|
|
2024-05-21 17:16:54 +02:00
|
|
|
sudo =curl-proxy -LO https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage
|
|
|
|
chmod ugo+x nvim.appimage
|
2023-06-15 13:54:45 +02:00
|
|
|
ln -sf nvim.appimage nvim
|
2023-10-09 14:24:13 +02:00
|
|
|
ln -sf nvim.appimage vi
|
|
|
|
|
2023-06-15 13:54:45 +02:00
|
|
|
cd $HOME
|
|
|
|
nvim --version
|
2023-10-09 14:24:13 +02:00
|
|
|
vi --version
|
2023-10-09 17:34:30 +02:00
|
|
|
```
|
2023-11-17 19:58:38 +01:00
|
|
|
|
2024-07-03 11:17:34 +02:00
|
|
|
### LazyVim
|
2024-02-22 18:37:43 +01:00
|
|
|
|
|
|
|
```sh
|
2024-07-03 11:17:34 +02:00
|
|
|
git clone https://forge.chapril.org/michel_ouba/LazyVim.git ~/.config/nvim
|
|
|
|
bat ~/.config/nvim/README.md
|
2024-02-22 18:37:43 +01:00
|
|
|
```
|
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
## nnn — n³ {#nnn}
|
2023-11-17 19:58:38 +01:00
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
|
|
- kitty / NerdFont
|
|
|
|
|
|
|
|
- Archives Management:
|
|
|
|
- bsdtar (`libarchive-tools`) supports _Zstd_
|
2023-11-28 15:51:17 +01:00
|
|
|
- [fuse-archive](https://github.com/google/fuse-archive)
|
|
|
|
- `atool`: last release is from 2012
|
2024-02-12 14:36:40 +01:00
|
|
|
- <https://github.com/solsticedhiver/atool2>
|
|
|
|
- <https://github.com/wummel/patool>
|
2023-11-17 19:58:38 +01:00
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
- Drag&Drop: <https://github.com/mwh/dragon>
|
2023-11-17 19:58:38 +01:00
|
|
|
|
|
|
|
- Trash:
|
|
|
|
- `trash-cli` is a much better CLI-only solution!
|
|
|
|
Compare the outputs of `trash-cli` and `gio trash --list`…
|
2024-03-11 19:23:31 +01:00
|
|
|
<https://github.com/andreafrancia/trash-cli>
|
2023-11-17 19:58:38 +01:00
|
|
|
- For `gio trash`, packages `libglib2.0` & `gvfs` are recommended.
|
|
|
|
|
2024-06-19 19:17:04 +02:00
|
|
|
### From source (to enable some options)
|
2023-11-17 19:58:38 +01:00
|
|
|
|
2024-02-12 14:36:40 +01:00
|
|
|
```sh
|
2024-04-16 10:07:34 +02:00
|
|
|
# From repository
|
2024-05-21 17:16:54 +02:00
|
|
|
mkdir -p ~/dev; cd ~/dev
|
2024-02-22 18:37:43 +01:00
|
|
|
git clone https://github.com/jarun/nnn.git
|
|
|
|
|
2023-11-28 15:51:17 +01:00
|
|
|
# Compile
|
2024-05-21 17:16:54 +02:00
|
|
|
cd nnn
|
2023-11-17 19:58:38 +01:00
|
|
|
make clean
|
2024-03-11 19:23:31 +01:00
|
|
|
|
2024-06-20 17:55:28 +02:00
|
|
|
sudo make O_GITSTATUS=1 O_NAMEFIRST=1 O_NERD=1 install
|
2024-02-13 14:59:10 +01:00
|
|
|
sudo cp -v misc/auto-completion/zsh/* /usr/local/share/zsh/site-functions
|
2024-05-21 17:16:54 +02:00
|
|
|
sudo chmod -v a+r /usr/local/share/zsh/site-functions/*
|
2023-11-17 19:58:38 +01:00
|
|
|
|
2024-06-20 17:55:28 +02:00
|
|
|
# into /opt
|
|
|
|
sudo make O_GITSTATUS=1 O_NAMEFIRST=1 O_NERD=1 PREFIX=/opt/nnn install
|
|
|
|
sudo cp -v misc/auto-completion/zsh/* /opt/zsh/site-functions
|
|
|
|
sudo chmod -v a+r /opt/zsh/site-functions/*
|
|
|
|
|
2024-04-16 10:07:34 +02:00
|
|
|
# Plugins
|
2024-05-21 17:16:54 +02:00
|
|
|
mv -v ~/.config/nnn/plugins $HOME/nnn_plugins_$(stat -c %Y ~/.config/nnn/plugins)
|
2024-02-22 18:37:43 +01:00
|
|
|
mkdir -p ~/.config/nnn
|
2024-02-13 14:59:10 +01:00
|
|
|
cp -av plugins ~/.config/nnn
|
2023-11-17 19:58:38 +01:00
|
|
|
```
|