项目作者: ferhaterata

项目描述 :
.dot files
高级语言: Vim script
项目地址: git://github.com/ferhaterata/ferhat.git
创建时间: 2020-04-12T04:14:18Z
项目社区:https://github.com/ferhaterata/ferhat

开源协议:

下载


ferhat’s dot files

prerequisites

  1. sudo apt install curl
  2. sudo apt install perl
  3. sudo apt install m4
  4. sudo apt install wget
  5. sudo apt install xclip
  6. sudo apt install silversearcher-ag
  7. sudo apt install highlight
  8. sudo apt install ctags
  9. sudo apt install global
  10. sudo apt install build-essential
  11. sudo apt install autoconf
  12. sudo apt install automake
  13. sudo apt install cmdtest
  14. sudo apt install pkg-config
  15. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  16. sudo snap install valgrind --classic
  17. sudo snap install cmake --classic
  18. sudo apt install libevent-dev
  19. sudo apt install libzip-dev
  20. sudo apt install libcurl4-openssl-dev
  21. sudo apt install libncursesw5-dev
  22. sudo apt install python2
  23. sudo apt install python3
  24. sudo apt install software-properties-common
  25. sudo apt install python-pygments
  26. sudo apt install npm
  27. sudo apt install xcape
  28. # root cern qt5
  29. sudo apt install qt5-default
  30. sudo apt install mesa-common-dev
  31. sudo apt install qtwebengine5-dev
  32. sudo apt install qtwebengine5-dev-tools (?)
  33. sudo apt install qtwebengine5-dev-dbgsym (?)

GnuPG

https://gnupg.org/download/index.html

  1. ./configure
  2. make
  3. sudo make install
  1. libgpg-error-1.38
  2. libassuan-2.5.3
  3. libksba-1.4.0
  4. npth-1.6
  5. libgcrypt-1.8.6
  6. gnupg-2.2.21
  7. gpgme-1.14.0

Vim (watching) (my-vim-build)

Building Vim from source: https://github.com/ycm-core/YouCompleteMe/wiki/Building-Vim-from-source

  1. sudo apt remove my-vim-focal-build
  2. ./configure --with-features=huge \
  3. --enable-multibyte \
  4. --enable-rubyinterp=yes \
  5. --enable-python3interp=yes \
  6. --with-python3-config-dir=$(python3-config --configdir) \
  7. --enable-perlinterp=yes \
  8. --enable-luainterp=yes \
  9. --enable-gui=gtk3 \
  10. --enable-cscope \
  11. --prefix=/usr/local
  12. sudo checkinstall # my-vim-focal-build

NeoVim (watching)

  1. # https://github.com/neovim/neovim/wiki/Building-Neovim#third-party-dependencies
  2. mkdir .deps
  3. cd .deps
  4. cmake ../third-party
  5. make
  6. mkdir build
  7. cd build
  8. cmake .. -DCMAKE_BUILD_TYPE=Release
  9. make
  10. sudo make install

https://github.com/neovim/neovim/wiki/Installing-Neovim#appimage-universal-linux-package
Building Vim from source: https://github.com/neovim/neovim/wiki/Installing-Neovim#install-from-source
Setting up Python for Neovim: https://github.com/deoplete-plugins/deoplete-jedi/wiki/Setting-up-Python-for-Neovim

  1. pip2 install --user neovim
  2. pip3 install --user neovim
  3. pip3 install neovim-remote
  4. sudo gem install neovim
  5. sudo apt install cpanminus
  6. sudo cpanm Neovim::Ext

tmux (watching)

terminal multiplexer
https://github.com/tmux/tmux
cheatsheat: https://gist.github.com/andreyvit/2921703
tmux + vim: https://www.bugsnag.com/blog/tmux-and-vim
prerequisites:sudo apt install libevent-dev libncurses-dev build-essential pkg-config
install: https://github.com/tmux/tmux/wiki/Installing

  1. git clone https://github.com/tmux/tmux.git
  2. cd tmux
  3. sh autogen.sh
  4. ./configure
  5. make && sudo make install
  6. git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

vifm (watching) (my-vifm-build)

https://github.com/vifm/vifm
https://wiki.vifm.info/index.php/Obtaining_Vifm

  1. sudo apt install libncursesw5-dev
  2. autoreconf -f -i
  3. ./configure --sysconfdir=/etc
  4. make
  5. sudo checkinstall # my-vifm-focal-build

https://github.com/vifm/vifm-colors

  1. rm -rf ~/.config/vifm/colors
  2. git clone https://github.com/vifm/vifm-colors ~/.config/vifm/colors

gitmux (watching)

Git in your tmux status bar
https://github.com/arl/gitmux
Its binary is added to .local/bin folder.

xclip

command line interface to X selections (clipboard)
sudo apt install xclip

ripgrep (rg) (watching)

ripgrep recursively searches directories for a regex pattern
https://github.com/BurntSushi/ripgrep#installation

ag (watching)

The Silver Searcher: A code-searching tool similar to ack, but faster.
https://github.com/ggreer/the_silver_searcher
sudo apt install silversearcher-ag

htop

htop is an interactive text-mode process viewer for Unix systems. It aims to be a better ‘top’.
https://github.com/hishamhm/htop
sudo snap install htop

most

browse or page through a text file
sudo apt install most

exa (watching)

A modern replacement for ls.
https://the.exa.website/#installation
sudo apt install rustc
sudo apt install libgit2-dev
git clone https://github.com/­ogham/exa.git
sudo make install

fzf (watching)

A command-line fuzzy finder
https://github.com/junegunn/fzf
https://wiki.archlinux.org/index.php/Fzf
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
update: cd ~/.fzf && git pull && ./install

devicon-lookup (watching)

https://github.com/coreyja/devicon-lookup
cargo install devicon-lookup

fd (watching)

https://github.com/sharkdp/fd
https://github.com/sharkdp/fd/releases
sudo dpkg -i fd_7.5.0_amd64.deb # adapt version number and architecture

fz

Cli shell plugin, the missing fuzzy tab completion feature of z jump around command.
https://github.com/changyuheng/fz

z

z - jump around
https://github.com/rupa/z

forgit

A utility tool powered by fzf for using git interactively.
https://github.com/wfxr/forgit

fast-p

Quickly find and open a pdf among a collection of thousands of unsorted pdfs through fzf (fuzzy finder)
https://github.com/bellecp/fast-p
sudo apt-get install poppler-utils
download and follow installation steps: https://github.com/bellecp/fast-p/releases
clear cache: fast-p --clear-cache'

googler

Google from the terminal
https://github.com/jarun/googler
snap install googler

Readline

GNU’s Emacs and vi editing modes for command lines.
https://wiki.archlinux.org/index.php/Readline

Ranger (-)

A VIM-inspired filemanager for the console.
https://github.com/ranger/ranger
https://wiki.archlinux.org/index.php/ranger
https://github.com/alexanderjeurissen/ranger_devicons
sudo pip3 install ueberzug

Fonts

https://github.com/adobe-fonts/source-code-pro/
https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/SourceCodePro

Doom-Emacs

https://github.com/hlissner/doom-emacs

CTags

Exuberant Ctags
http://ctags.sourceforge.net/
sudo apt-get install ctags
In ~/.vimrc, add set tags=tags
Go to your project directory, and run ctags -R
When editing, put your cursor over a variable, method or class and hit Ctrl-] to jump to its definition.
https://courses.cs.washington.edu/courses/cse451/10au/tutorials/tutorial_ctags.html

highlight

Universal source code to formatted text converter
sudo apt-get install -y highlight

bat (watching)

a cat(1) clone with syntax highlighting and Git integration.
https://github.com/sharkdp/bat
https://github.com/sharkdp/bat/releases
sudo dpkg -i bat_0.13.0_amd64.deb # adapt version number and architecture

python-pygments (watching)

Pygments is a generic syntax highlighter written in Python
https://github.com/pygments/pygments
sudo apt-get install python-pygments

SpaceVim

https://spacevim.org/
Documentation: https://spacevim.org/documentation
Available Layers: https://spacevim.org/layers/
Available Options: https://github.com/SpaceVim/SpaceVim/blob/master/autoload/SpaceVim.vim
Space: https://github.com/SpaceVim/SpaceVim/blob/master/autoload/SpaceVim/mapping/space.vim
Leader: https://github.com/SpaceVim/SpaceVim/blob/master/autoload/SpaceVim/mapping/leader.vim
z: https://github.com/SpaceVim/SpaceVim/blob/master/autoload/SpaceVim/mapping/z.vim
g: https://github.com/SpaceVim/SpaceVim/blob/master/autoload/SpaceVim/mapping/g.vim
leaderF: https://github.com/SpaceVim/SpaceVim/blob/master/autoload/SpaceVim/layers/leaderf.vim
fzf: https://github.com/SpaceVim/SpaceVim/blob/master/autoload/SpaceVim/layers/fzf.vim

lazygit (watching)

https://github.com/jesseduffield/lazygit/blob/master/README.md

github cli (watching)

GitHub’s official command line tool
https://cli.github.com
https://github.com/cli/cli/
Download the .deb file from the releases page
sudo apt install ./gh_*_linux_amd64.deb install the downloaded file

tldr (watching) (my-tldr-c-build)

A collection of simplified and community-driven man pages.
https://github.com/tldr-pages/tldr
https://github.com/tldr-pages/tldr-cpp-client

  1. sudo apt-get install libcurl4-openssl-dev
  2. sudo apt-get install libzip-dev
  3. sudo apt-get install pkg-config
  4. make # build tldr
  5. sudo checkinstall # my-tldr-c-client-build

ferhat’s c/c++ tool builds

GNU’s bison (watching)

General-purpose parser generator
https://github.com/akimd/bison

Flex (watching)

The Fast Lexical Analyzer - scanner generator for lexing in C and C++
https://github.com/westes/flex

Cmake (watching)

The cross-platform, open-source build system.
https://github.com/Kitware/CMake
sudo snap install cmake --classic

Valgrind

Instrumentation framework for building dynamic analysis tool
https://valgrind.org/
sudo snap install valgrind --classic

Cern’s Root

Data Analysis Framework
https://github.com/root-project/root#building
https://root.cern/install/build_from_source/

  1. cd ~/git
  2. git clone git@github.com:root-project/root.git
  3. mkdir root-build
  4. cd root-build
  5. cmake -DCMAKE_CXX_STANDARD=17 -Dgnuinstall=ON -Dcefweb=ON -Dgviz=ON -Drpath=ON -Dqt5web=ON ../root
  6. sudo cmake --build . --target install

LLVM-11

LLVM Debian/Ubuntu nightly packages
https://apt.llvm.org/
Install (stable branch)

ferhat’s solver builds

SAT solvers

minisat (watching) (my-minisat-build)

https://github.com/stp/minisat

  1. git clone https://github.com/stp/minisat.git
  2. cd minisat
  3. mkdir build
  4. cd build
  5. cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ../
  6. sudo checkinstall

CryptoMiniSat (watching)

https://github.com/msoos/cryptominisat
https://github.com/meelgroup/approxmc#how-to-build
https://github.com/msoos/cryptominisat#compiling-in-linux
https://github.com/msoos/cryptominisat#gaussian-elimination

  1. sudo apt-get install zlib1g-dev libboost-program-options-dev libm4ri-dev libsqlite3-dev help2man
  2. git clone https://github.com/msoos/cryptominisat
  3. cd cryptominisat
  4. mkdir build && cd build
  5. cmake -DUSE_GAUSS=ON ..
  6. make
  7. sudo make install
  8. sudo ldconfig

Cadical (watching)

CaDiCaL Simplified Satisfiability Solver
https://github.com/arminbiere/cadical

  1. git clone https://github.com/arminbiere/cadical.git
  2. cd cadical
  3. ./configure
  4. make
  5. make test
  6. cd build
  7. sudo cp cadical /usr/bin/cadical
  8. mkdir debug; cd debug
  9. ../configure -l # include code to really see what the solver is doing
  10. make
  11. sudo cp cadical /usr/bin/cadical-debug

#SAT model counters

http://beyondnp.org/pages/solvers/model-counters-exact/

sharpSat (watching)

https://github.com/marcthurley/sharpSAT

  1. git clone https://github.com/marcthurley/sharpSAT.git
  2. ./setupdev.sh
  3. cd build/Release
  4. make
  5. sudo cp sharpSAT /usr/bin/sharpSAT

ApproxMC (watching)

Approximate Model Counter
https://github.com/meelgroup/approxmc
https://www.msoos.org/tag/model-counting/

  1. git clone https://github.com/meelgroup/approxmc/
  2. cd approxmc
  3. mkdir build && cd build
  4. cmake ..
  5. make
  6. sudo make install

SMT solvers

stp (watching) (my-stp-build)

Simple Theorem Prover, an efficient SMT solver for bitvectors
https://github.com/stp/stp
https://stp.github.io/

  1. git clone https://github.com/stp/stp.git
  2. cd stp
  3. git checkout tags/2.3.3
  4. mkdir build
  5. cd build
  6. cmake ..
  7. make
  8. sudo checkinstall

You can make this persistent by editing the /etc/security/limits.conf file or
adding the ulimit command into e.g, .bashrc.

z3 (watching)

The Z3 Theorem Prover
https://github.com/Z3Prover/z3/blob/master/README.md

  1. opam install zanith
  2. git clone https://github.com/Z3Prover/z3.git
  3. cd z3
  4. python scripts/mk_make.py --ml --java
  5. cd build
  6. make
  7. sudo make install
  8. ;;sudo make uninstall

cvc4 (watching)

CVC4 is an efficient open-source automatic theorem prover for satisfiability modulo theories (SMT) problems.
https://github.com/CVC4/CVC4
https://github.com/CVC4/CVC4/blob/master/INSTALL.md

  1. git clone https://github.com/CVC4/CVC4
  2. ./contrib/get-antlr-3.4 # download and build ANTLR
  3. # ./contrib/get-cryptominisat
  4. ./contrib/get-symfpu
  5. ./contrib/get-cadical
  6. ./contrib/get-lfsc-checker
  7. ./contrib/get-abc
  8. ./configure.sh --cryptominisat --cadical --symfpu --lfsc --abc
  9. cd build
  10. make -j2 # use -jN for parallel build with N threads
  11. make check # to run default set of tests
  12. sudo make install # to install into the prefix specified above

Symbolic Simulation

klee (watching) (my-klee-build)

KLEE Symbolic Execution Engine
http://klee.github.io/
https://github.com/klee/klee
https://docs.google.com/document/d/1BDNfhUsCNRfYN3C2fm_R5UOkGKo3XvX3ty5oDj4fqOI/edit#heading=h.hjduzuuy8ufg

  1. LLVM_VERSION=6.0 SANITIZER_BUILD= BASE=/home/ferhat/.local/lib/ ./scripts/build/build.sh libcxx
  2. cmake -DENABLE_SOLVER_STP=ON -DENABLE_SOLVER_Z3=ON -DENABLE_KLEE_UCLIBC=ON -DENABLE_POSIX_RUNTIME=ON -DKLEE_UCLIBC_PATH=/home/ferhat/git/klee-uclibc/ -DENABLE_KLEE_LIBCXX=ON -DKLEE_LIBCXX_DIR=/home/ferhat/.local/lib/libc++-install-60/ -DKLEE_LIBCXX_INCLUDE_DIR=/home/ferhat/.local/lib/libc++-install-60/include/c++/v1/ -DENABLE_UNIT_TESTS=ON -DGTEST_SRC_DIR=/home/ferhat/git/googletest-release-1.7.0/ -DLIT_TOOL=/home/ferhat/.local/lib/python2.7/site-packages -DENABLE_KLEE_ASSERTS=OFF /home/ferhat/git/klee/

Docker

https://docs.docker.com/engine/install/ubuntu/
Verify docker has correctly been intalled using : $ sudo docker run hello-world
Also do the following post-installation steps for user priviledges (as given in the website) :
$ sudo groupadd docker
$ sudo adduser $USER docker
If you are installing it for a different user replace $USER with the username.
To stop the docker use ‹Ctrl+d›
Yor XData docker conatiner is now setup and running. Use ‘exit’ command in terminal to exit from docker and stop the container. To detach the terminal without stopping the docker type ‹Ctrl+p› followed by ‹Ctrl+q›.

XDATA:

  1. docker build -t xdata:1 .
  2. docker run -it -p 3302:8080 --name ferhat-xdata xdata:1
  3. docker start ferhat-xdata
  4. docker stop ferhat-xdata
  5. docker ps -a
  6. docker exec -it ferhat-xdata bash
  7. sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" ferhat-xdata-ssh

docker run -it --rm ubuntu /bin/bash

Here is the explanation of this command:
docker run – run a command in a Docker container
-t – allocate a psuedo tty (terminal)
-i – keep STDIN open in order to interact with the terminal
--rm – remove/delete the container once it exits (optional)
ubuntu – create the container from the latest Ubuntu image
/bin/bash – start a bash shell session

POSTRESQL:
@wkrzywiec/database-in-a-docker-container-how-to-start-and-whats-it-about-5e3ceea77e50"">https://medium.com/@wkrzywiec/database-in-a-docker-container-how-to-start-and-whats-it-about-5e3ceea77e50
https://hub.docker.com/_/postgres

  1. fdocker run --name postgres-docker -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres
  2. docker exec -it postgres-docker bash

Thunderbird

Download thunderbird and extract archive:
sudo mv thunderbird /opt/thunderbird && sudo ln -s /opt/thunderbird/thunderbird /usr/bin/thunderbird

To update Thunderbird, you have to launch it as an administrator:
sudo thunderbird

To uninstall Thunderbird, enter:
sudo rm -rf /opt/thunderbird /usr/bin/thunderbird

Desktop files

Application launchers search for apps in $XDG_DATA_HOME directory (default ~/.local/share) and $XDG_DATA_DIRS colon-separated list (default /usr/local/share/:/usr/share/).