2044 lines
56 KiB
Org Mode
2044 lines
56 KiB
Org Mode
#+TITLE: Dotfiles - Manjaro Linux on Macbook Pro
|
|
:DRAWER:
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/styles/readtheorg/css/htmlize.css"/>
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/styles/readtheorg/css/readtheorg.css"/>
|
|
|
|
#+HTML_HEAD: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
|
#+HTML_HEAD: <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
|
|
#+HTML_HEAD: <script type="text/javascript" src="https://fniessen.github.io/org-html-themes/styles/lib/js/jquery.stickytableheaders.min.js"></script>
|
|
#+HTML_HEAD: <script type="text/javascript" src="https://fniessen.github.io/org-html-themes/styles/readtheorg/js/readtheorg.js"></script>
|
|
:END:
|
|
|
|
* Ressources
|
|
** Dotfiles
|
|
- https://github.com/LukeSmithxyz/voidrice
|
|
- https://github.com/wincent/wincent
|
|
- https://github.com/korolr/dotfiles
|
|
- https://github.com/Shougo/shougo-s-github
|
|
- https://github.com/addy-dclxvi/almighty-dotfiles
|
|
|
|
** Linux Softwares
|
|
- [[https://github.com/k4m4/terminals-are-sexy][terminalare.sexy]]
|
|
- [[https://www.reddit.com/r/vim/comments/3tluqr/my_list_of_applications_with_vi_keybindings/][the big list of vim like software]]
|
|
- https://github.com/jlevy/the-art-of-command-line
|
|
- https://github.com/herrbischoff/awesome-command-line-apps
|
|
- https://github.com/luongvo209/Awesome-Linux-Software
|
|
- https://wiki.archlinux.org/index.php/List_of_applications
|
|
- https://ambrevar.xyz/power-apps/
|
|
- https://enchiridion.red/2019/1/18/desktop-apps/
|
|
|
|
** Macbook Pro
|
|
- https://medium.com/@philpl/arch-linux-running-on-my-macbook-2ea525ebefe3
|
|
- https://lobotuerto.com/blog/how-to-setup-manjaro-linux-i3-on-a-macbook-pro/
|
|
- https://mchladek.me/post/arch-mbp/
|
|
- https://0xadada.pub/2016/03/05/install-encrypted-arch-linux-on-apple-macbook-pro/
|
|
- https://loicpefferkorn.net/2015/01/arch-linux-sur-macbook-pro-retina-2014-avec-dm-crypt-lvm-et-hibernation/
|
|
|
|
** Ricing
|
|
- https://www.reddit.com/r/unixporn/comments/8monwi/i3gapspolybar_my_first_attempt_at_ricing/
|
|
|
|
** Others
|
|
- Font Art: http://www.patorjk.com/software/taag/#p=display&f=ANSI%20Shadow&t=config
|
|
- https://www.youtube.com/channel/UC2eYFnH61tmytImy1mTYvhA
|
|
|
|
** TODO to read
|
|
http://www.howardism.org/Technical/Emacs/literate-devops.html
|
|
|
|
* Package Manager: yay
|
|
https://github.com/Jguer/yay
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
sudo pacman -S yay
|
|
#+END_SRC
|
|
|
|
** CheatSheet
|
|
| Command | Usage |
|
|
|---------------------+-----------------------------|
|
|
| =yay= | Perform system upgrade |
|
|
| =yay -Ss <package>= | Search |
|
|
| =yay -S <package>= | Install |
|
|
| =yay -Si <package>= | Get informations |
|
|
| =yay -Rs <package>= | Uninstall |
|
|
| =yay -Yc= | Clean unneeded dependencies |
|
|
|
|
To check all installed packages:
|
|
=pacman -Qq | fzf --preview 'pacman -Qil {}' --layout=reverse --bind 'enter:execute(pacman -Qil {} | less)'=
|
|
|
|
* Git Setup
|
|
https://git-scm.com/
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S git
|
|
#+END_SRC
|
|
|
|
** Configuration
|
|
[[file:dotfiles/git.org][dotfiles/git.org]]
|
|
- =~/.gitconfig=
|
|
- =~/.gitignore_global=
|
|
|
|
** Diff-So-Fancy
|
|
https://github.com/so-fancy/diff-so-fancy
|
|
*** Installation
|
|
#+begin_src bash
|
|
yay -S diff-so-fancy
|
|
#+end_src
|
|
|
|
*** Configuration
|
|
#+begin_src bash
|
|
git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
|
|
#+end_src
|
|
|
|
** Credential Helper setup with Pass
|
|
This is explained in a further part: [[*Integration with Git][Integration of Pass with Git]].
|
|
|
|
* Terminal
|
|
https://github.com/thestinger/termite
|
|
** Termite
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S termite
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
[[file:dotfiles/termite.org][termite.org]]
|
|
- =~/.config/termite/config=
|
|
|
|
*** Cheatsheet
|
|
|
|
| Command | Usage |
|
|
|--------------------+----------------------------|
|
|
| =ctrl-shift-x= | activate url hints mode |
|
|
| =ctrl-shift-c= | copy to CLIPBOARD |
|
|
| =ctrl-shift-v= | paste from CLIPBOARD |
|
|
| =ctrl-shift-space= | start selection mode |
|
|
| =ctrl-shift-up= | scroll up a line |
|
|
| =ctrl-shift-down= | scroll down a line |
|
|
| =ctrl-+= | increase font size |
|
|
| =ctrl--= | decrease font size |
|
|
| =ctrl-== | reset font size to default |
|
|
|
|
** TODO [#C] Unicode Rxvt
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S rxvt-unicode
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
Most of Urxvt configuration is done in =~/.Xresources=
|
|
|
|
* TODO [#B] Shell: Bash
|
|
https://wiki.archlinux.org/index.php/Bash
|
|
|
|
** Bash Completion
|
|
#+BEGIN_SRC bash
|
|
yay -S bash-completion
|
|
#+END_SRC
|
|
|
|
** TODO [#B] Configuration
|
|
- =~/.bashrc=
|
|
- =~/.bash_profile=
|
|
- =~/.config/bash/=
|
|
- =~/.profile=
|
|
|
|
* TODO [#B] Terminal Multiplexer: Tmux
|
|
https://github.com/tmux/tmux
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S tmux
|
|
#+END_SRC
|
|
|
|
** Configuration
|
|
After configuration is generated.
|
|
#+begin_src bash
|
|
tmux source-file ~/.tmux.conf
|
|
#+end_src
|
|
|
|
** Session Manager - Tmuxinator
|
|
https://github.com/tmuxinator/tmuxinator
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S tmuxinator
|
|
#+END_SRC
|
|
|
|
*** Special sessions
|
|
Sessions are created using =tmuxinator new session_name= and edited using =tmuxinator edit session_name=.
|
|
|
|
*** Mux: run terminal and tmux session
|
|
=~/bin/mux=
|
|
|
|
To open a terminal and run tmux session automatically, run =mux <session-name>=.
|
|
This is used with rofi.
|
|
|
|
** TODO [#A] Multiple Tmux configuration
|
|
- one with no line for neomutt
|
|
- one complete for coding
|
|
|
|
** TODO [#B] Configuration: theme
|
|
https://github.com/seebi/tmux-colors-solarized
|
|
|
|
** TODO [#A] To check
|
|
- https://github.com/gpakosz/.tmux
|
|
- https://gist.github.com/MohamedAlaa/2961058
|
|
- https://blog.bugsnag.com/tmux-and-vim/
|
|
- https://github.com/tmux-plugins/tmux-resurrect
|
|
- https://github.com/rothgar/awesome-tmux
|
|
- https://thoughtbot.com/upcase/tmux
|
|
|
|
** TODO [#B] Cheatsheet
|
|
| Command | Usage |
|
|
|---------+-------|
|
|
| | |
|
|
|
|
* TODO [#C] Fonts
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S ttf-inconsolata nerd-fonts-complete ttf-linux-libertine ttf-emojione
|
|
#+END_SRC
|
|
|
|
** TODO [#C] Default fonts
|
|
SauceCodePro Nerd Font Mono
|
|
|
|
Maybe use:
|
|
- Monospace Font: Inconsolata
|
|
- Serif Font: Libertine
|
|
- Sans Font: Linux Biolinum
|
|
|
|
** Cheatsheet
|
|
| Command | Usage |
|
|
|-----------+--------------------------|
|
|
| =fc-list= | List all fonts available |
|
|
|
|
** Select font
|
|
#+begin_src bash
|
|
yay -S gtk2fontsel
|
|
#+end_src
|
|
|
|
* Text Editors
|
|
** Neovim
|
|
https://github.com/neovim/neovim
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S neovim
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
[[file:.vim/readme.org]]
|
|
|
|
*** Vim Anywhere with i3
|
|
https://github.com/cknadler/vim-anywhere
|
|
|
|
#+BEGIN_SRC bash
|
|
yay -S vim-anywhere-git
|
|
#+END_SRC
|
|
|
|
Then, add the following to the i3 config: =bindsym $mod+t exec vim-anywhere nvim termite=
|
|
|
|
*** Matlab Setup
|
|
https://github.com/daeyun/vim-matlab/
|
|
|
|
*** Ressources
|
|
- https://thoughtbot.com/upcase/dive-into-neovim
|
|
- https://github.com/liuchengxu/vim-better-default
|
|
- https://github.com/liuchengxu/space-vim
|
|
|
|
** Emacs
|
|
https://www.gnu.org/software/emacs/
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S emacs
|
|
#+END_SRC
|
|
|
|
*** TODO Emacs Client/Server - I removed the systemd service to just run it with i3 startup
|
|
Add a systemd service to automatically run Emacs deamon in the background on startup:
|
|
=~/.config/systemd/user/emacs.service=
|
|
|
|
Then run:
|
|
#+BEGIN_SRC bash
|
|
systemctl enable --user emacs
|
|
systemctl start --user emacs
|
|
#+END_SRC
|
|
|
|
In order to open the emacs client: =emacsclient -create-frame --alternate-editor=""=
|
|
|
|
Then, add a shortcut to i3 config to open an emacsclient.
|
|
|
|
*** Configuration
|
|
[[file:~/.spacemacs.d/spacemacs.org][file:~/.spacemacs.d/spacemacs.org]]
|
|
|
|
*** SpellCheck with Aspell
|
|
#+BEGIN_SRC bash
|
|
yay -S aspell aspell-en aspell-fr
|
|
#+END_SRC
|
|
|
|
* SSH setup
|
|
** Generating a new SSH key
|
|
#+BEGIN_SRC bash
|
|
ssh-keygen -t rsa -b 4096 -C "dehaeze.thomas@gmail.com"
|
|
#+END_SRC
|
|
|
|
** Start the ssh-agent in the background
|
|
#+BEGIN_SRC bash
|
|
eval "$(ssh-agent -s)"
|
|
#+END_SRC
|
|
|
|
** Add the SSH key to the ssh-agent
|
|
#+BEGIN_SRC bash
|
|
ssh-add ~/.ssh/id_rsa
|
|
#+END_SRC
|
|
|
|
* GnuPG
|
|
https://gnupg.org/
|
|
|
|
** Install the gnupg package:
|
|
#+BEGIN_SRC bash
|
|
yay -S gnupg
|
|
#+END_SRC
|
|
|
|
** Create a key pair
|
|
#+BEGIN_SRC bash
|
|
gpg --full-gen-key
|
|
#+END_SRC
|
|
|
|
** Configure the gpg-agent to cache the passphrase
|
|
Edit the following file =~/.gnupg/gpg-agent.conf=
|
|
|
|
#+BEGIN_SRC
|
|
max-cache-ttl 60480000
|
|
default-cache-ttl 60480000
|
|
#+END_SRC
|
|
|
|
* Launcher - Rofi
|
|
https://github.com/DaveDavenport/rofi
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S rofi
|
|
#+END_SRC
|
|
|
|
** Setup rofi as a dmenu replacement
|
|
Setup rofi as a dmenu replacement in =~/.i3/config=:
|
|
#+BEGIN_SRC
|
|
bindsym $mod+d exec --no-startup-id rofi -show run
|
|
#+END_SRC
|
|
|
|
** Run sudo commands with rofi
|
|
https://github.com/DaveDavenport/rofi/issues/584#issuecomment-384555551
|
|
|
|
Use ~sudo -A~, that will open a rofi prompt to ask for the password.
|
|
|
|
For that to work, we need to add the following code to =~/.profile=:
|
|
#+BEGIN_SRC bash
|
|
export SUDO_ASKPASS=~/bin/askpass-rofi
|
|
#+END_SRC
|
|
|
|
The =askpass= script is:
|
|
#+BEGIN_SRC bash
|
|
#!/bin/sh
|
|
|
|
# Take password prompt from STDIN, print password to STDOUT
|
|
# the sed piece just removes the colon from the provided
|
|
# prompt: rofi -p already gives us a colon
|
|
rofi -dmenu \
|
|
-password \
|
|
-no-fixed-num-lines \
|
|
-p "$(printf "$1" | sed s/://)"
|
|
#+END_SRC
|
|
|
|
* Password Manager: Pass
|
|
https://www.passwordstore.org/
|
|
|
|
** Install the pass package
|
|
#+BEGIN_SRC bash
|
|
yay -S pass
|
|
#+END_SRC
|
|
|
|
** Initialize the password store as a git repository
|
|
#+BEGIN_SRC bash
|
|
pass git init
|
|
pass git remote add origin https://github.com/tdehaeze/pass.git
|
|
#+END_SRC
|
|
|
|
** Gui Manager
|
|
https://github.com/IJHack/qtpass
|
|
|
|
#+BEGIN_SRC bash
|
|
yay -S qtpass
|
|
#+END_SRC
|
|
|
|
** Integration with Rofi
|
|
https://github.com/carnager/rofi-pass
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S rofi-pass
|
|
#+END_SRC
|
|
|
|
Then we can add a shortcut to =rofi-pass= on i3 config.
|
|
|
|
*** Alternative
|
|
https://github.com/ibizaman/pass-clip
|
|
|
|
#+begin_src bash
|
|
yay -S pass-clip
|
|
#+end_src
|
|
|
|
** Integration with Browsers
|
|
This is explained [[*Integration with Pass: the password manager][here]].
|
|
|
|
** Integration with Git
|
|
https://github.com/languitar/pass-git-helper
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S pass-git-helper
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
First, add the relation between repository addresses and entries in =pass=. This is done in the following config file =.config/pass-git-helper/git-pass-mapping.ini=:
|
|
#+BEGIN_SRC
|
|
[github.com*]
|
|
target=github.com/tdehaeze
|
|
#+END_SRC
|
|
|
|
Then, add the credential helper on the git configuration file =~/.gitconfig= and add the default username for the repositories adresses.
|
|
#+BEGIN_SRC
|
|
[credential]
|
|
helper = !pass-git-helper $@
|
|
|
|
[credential "https://github.com"]
|
|
username = tdehaeze
|
|
#+END_SRC
|
|
|
|
** Integration with other programs
|
|
Integrate pass in other programs is usually very easy, here are few examples:
|
|
- =~/.msmtprc=:
|
|
- =passwordeval "pass email/dehaeze.thomas@gmail.com"=
|
|
- =~/.mbsyncrc=
|
|
- =PassCmd "pass email/dehaeze.thomas@gmail.com"=
|
|
|
|
* Bookmark Manager: Buku
|
|
https://github.com/jarun/Buku
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S buku
|
|
#+END_SRC
|
|
|
|
** Integration with Rofi
|
|
https://github.com/carnager/buku_run
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
wget https://raw.githubusercontent.com/carnager/buku_run/master/buku_run -o ~/bin/buku_run
|
|
chmod +x ~/bin/buku_run
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
The configuration file is here: =~/.config/buku_run/config=
|
|
|
|
*** Key binding with i3
|
|
Custom key binding in i3 config file =~/.i3/config=:
|
|
|
|
#+BEGIN_SRC
|
|
bindsym $mod+Shift+f exec --no-startup-id buku_run
|
|
#+END_SRC
|
|
|
|
** Integration with qutebrowser
|
|
[[*Integration with Buku][Integration with Buku]]
|
|
|
|
** Synchronization with a git repository
|
|
The database is stored in =~/.local/share/buku/bookmarks.db=.
|
|
|
|
We initialize a git repository in this folder:
|
|
#+BEGIN_SRC bash
|
|
cd ~/.local/share/buku/bookmarks.db
|
|
git init
|
|
#+END_SRC
|
|
|
|
Then we create a script that will automatically add =bookmarks.db= and push to some repository: =~/scripts/buku_git_push.sh=.
|
|
|
|
To automatically run the script every day, a systemd unit is used: =~/.config/systemd/user/bukugit.timer= and =~/.config/systemd/user/bukugit.service=
|
|
|
|
#+BEGIN_SRC bash
|
|
systemctl start --user bukugit.timer
|
|
systemctl enable --user bukugit.timer
|
|
#+END_SRC
|
|
|
|
** Import Bookmarks from Firefox and Chrome
|
|
From Firefox, export the bookmarks as html file.
|
|
Then import the bookmark file using =buku -i bookmarks.html=.
|
|
This will add a tag with current date to all bookmarks imported.
|
|
To remove them, use: =buku --replace '2018dec20' ''=
|
|
|
|
** Web Interface
|
|
Run:
|
|
#+begin_src bash
|
|
bukuserver run --host 127.0.0.1 --port 5001
|
|
#+end_src
|
|
|
|
And then browse to =127.0.0.1:5001=.
|
|
|
|
** Cheatsheet
|
|
| Command | Usage |
|
|
|--------------+------------------------|
|
|
| =buku= | Run buku interactively |
|
|
| =buku -p= | List all bookmarks |
|
|
| =buku -w id= | Edit bookmark |
|
|
| =buku -d id= | Delete bookmark |
|
|
| =buku -s <>= | Search bookmarks |
|
|
|
|
** TODO Alternatives
|
|
- https://github.com/RadhiFadlillah/shiori
|
|
- https://karl-voit.at/2014/08/10/bookmarks-with-orgmode/
|
|
|
|
* TODO Browser: qutebrowser
|
|
https://github.com/qutebrowser/qutebrowser
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S qutebrowser
|
|
#+END_SRC
|
|
|
|
** View Pdf inside qutebrowser with pdfjs
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S pdfjs
|
|
#+END_SRC
|
|
|
|
*** Usage
|
|
When opening a pdf file on qutebrowser, you'll be ask for options:
|
|
| Command | Usage |
|
|
|------------+-------------------|
|
|
| =<return>= | Download the file |
|
|
| =Ctrl-x= | Download and open |
|
|
| =Ctrl-p= | Open with pdf.js |
|
|
| =Alt-y= | Yank the url |
|
|
|
|
** TODO Make it default browser
|
|
** Integration with Pass: the password manager
|
|
Add the key-binding on =~/.config/qutebrowser/config.py=
|
|
|
|
#+BEGIN_SRC
|
|
config.bind(',p', 'spawn --userscript password_fill')
|
|
#+END_SRC
|
|
|
|
The =password_fill= script can be found on [[https://github.com/qutebrowser/qutebrowser/blob/master/misc/userscripts/password_fill][github.com]].
|
|
It is configured using the =~/.config/qutebrowser/password_fill_rc= file.
|
|
|
|
** TODO Integration with Buku
|
|
Custom key binding in =~/.config/qutebrowser/config.py=
|
|
|
|
#+BEGIN_SRC
|
|
# Add current page to Buku (Bookmark Manager)
|
|
config.bind('B', 'spawn buku -a {url}')
|
|
#+END_SRC
|
|
|
|
*** TODO Add an option to specify title, modify url? add tags?
|
|
|
|
** TODO Save Bookmarks to Emacs Org Mode
|
|
https://www.reddit.com/r/emacs/comments/9ze1ln/capture_orgmode_bookmarks_from_qutebrowser_with/
|
|
** TODO Cast youtube to chromecast
|
|
** Spell Checking
|
|
#+begin_src bash
|
|
/usr/share/qutebrowser/scripts/dictcli.py install fr-FR
|
|
/usr/share/qutebrowser/scripts/dictcli.py install en-US
|
|
#+end_src
|
|
|
|
** TODO Adblocker
|
|
https://github.com/qutebrowser/qutebrowser/issues/29
|
|
https://github.com/StevenBlack/hosts
|
|
** TODO Ressources
|
|
- [[https://github.com/qutebrowser/qutebrowser/tree/master/misc/userscripts][Userscript]]
|
|
|
|
* Monitors
|
|
https://github.com/Ventto/mons
|
|
https://wiki.archlinux.org/index.php/Xrandr
|
|
gui: https://christian.amsuess.com/tools/arandr/
|
|
|
|
** TODO cscreen script
|
|
|
|
* Sound Setup
|
|
#+begin_src bash
|
|
yay -S pulseaudio pavucontrol
|
|
#+end_src
|
|
* Music Setup
|
|
** Sound Server - Pulse Audio
|
|
https://wiki.archlinux.org/index.php/PulseAudio
|
|
|
|
Install
|
|
#+begin_src bash
|
|
yay -S pulseaudio pulseaudio-alsa pulseaudio-bluetooth
|
|
#+end_src
|
|
|
|
If sound is not working, should run =pulseaudio --kill= to kill the deamon and then =pulseaudio --daemonize= to run it again.
|
|
|
|
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Running/
|
|
|
|
** Audio Server - MPD
|
|
https://wiki.archlinux.org/index.php/Music_Player_Daemon
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S mpd
|
|
#+END_SRC
|
|
|
|
*** Automatic Startup
|
|
#+BEGIN_SRC bash
|
|
systemctl start --user mpd.service
|
|
systemctl enable --user mpd.service
|
|
#+END_SRC
|
|
|
|
*** Command line interface to MPD - MPC
|
|
https://github.com/MusicPlayerDaemon/mpc
|
|
|
|
To install mpc: =yay -S mpc=.
|
|
|
|
| Command | Usage |
|
|
|--------------+--------------------|
|
|
| =mpc update= | Update the library |
|
|
| =mpc rescan= | Rescan the library |
|
|
|
|
** TODO [#A] Audio Server with Spotify - Mopidy
|
|
https://github.com/mopidy/mopidy
|
|
https://medium.com/@theos.space/using-mopidy-with-spotify-and-ncmpcpp-44352f4a2ce8
|
|
|
|
#+begin_src bash
|
|
yay -S mopidy mopidy-spotify
|
|
#+end_src
|
|
|
|
To update local files:
|
|
#+begin_src bash
|
|
mopidy local scan
|
|
#+end_src
|
|
|
|
If mopidy is used, MPD should be disabled. (=systemctl disable --user mpd.service=)
|
|
Also, when using mopidy, when pausing a song, playing it again does not work.
|
|
=> *is there a fix for that?*
|
|
** MPD Client - ncmpcpp
|
|
https://wiki.archlinux.org/index.php/Ncmpcpp
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S ncmpcpp
|
|
#+END_SRC
|
|
|
|
*** Config
|
|
The main config is located here: =~/.ncmpcpp/config=.
|
|
The key bindings can be configured here: =~/.ncmpcpp/bindings=.
|
|
|
|
*** Cheatsheet
|
|
https://pkgbuild.com/~jelle/ncmpcpp/
|
|
| Command | Usage |
|
|
|---------+-------|
|
|
|
|
** Library Manager - beets
|
|
https://github.com/beetbox/beets
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S beets
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
Configuration folder: =~/.config/beets/=
|
|
|
|
*** Cheatsheet
|
|
| Command | Usage |
|
|
|------------------------+-------------------------------|
|
|
| =beet import <folder>= | Import folder to Music folder |
|
|
|
|
* TODO [#C] Movies
|
|
** Media Player - MPV
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S mpv
|
|
#+END_SRC
|
|
|
|
*** Key Bindings
|
|
The configuration is set in =/.config/mpv/input.conf=.
|
|
|
|
*** TODO CheatSheet
|
|
| Command | Usage |
|
|
|---------+-------|
|
|
|
|
** Chromecast with castnow
|
|
|
|
*** Installation
|
|
#+begin_src bash
|
|
yay -Ss castnow-git
|
|
#+end_src
|
|
|
|
The configuration is =~/.castnowrc=.
|
|
|
|
*** TODO Configuration with Tmux/i3/polybar
|
|
Make nice shortcuts or polybar element for that
|
|
|
|
** TODO Chromecast with CATT
|
|
https://github.com/skorokithakis/catt
|
|
|
|
*** Installation
|
|
#+begin_src bash
|
|
yay -S catt
|
|
#+end_src
|
|
|
|
*** Usage to cast videos to chromecast
|
|
| Command | Usage |
|
|
|----------------------------------------------------------+--------------------------|
|
|
| catt cast "https://www.youtube.com/watch?v=dQw4w9WgXcQ" | Cast youtube video |
|
|
| catt cast ./myvideo.mp4 | Cast local video |
|
|
| catt add ./myvideo.mp4 | Add a video to the queue |
|
|
| catt cast -s ./mysubtitle.srt /myvideo.mp4 | Add sub title |
|
|
| catt cast_site https://en.wikipedia.org/wiki/Rickrolling | Cast website |
|
|
|
|
*** Usage for controlling the device
|
|
| Command | Usage |
|
|
|--------------+---------------------------------------------------------------|
|
|
| ffwd | Fastforward a video by TIME duration |
|
|
| rewind | Rewind a video by TIME duration |
|
|
| seek | Seek the video to TIME position |
|
|
| scan | Scan the local network and show all Chromecasts and their IPs |
|
|
| status | Show some information about the currently-playing video |
|
|
| pause | Pause a video |
|
|
| play | Resume a video after it has been paused |
|
|
| stop | Stop playing |
|
|
| skip | Skip to end of content |
|
|
| save | Save the current state of the Chromecast for later use |
|
|
| restore | Return Chromecast to saved state |
|
|
| volume | Set the volume to LVL [0-100] |
|
|
| volumedown | Turn down volume by a DELTA increment |
|
|
| volumeup | Turn up volume by a DELTA increment |
|
|
|
|
** TODO Popcorn Time or similar
|
|
** TODO [#C] Movie Collection Manager - Filebot
|
|
https://github.com/filebot/filebot
|
|
*This is paid software, I should uninstall it and find alternative*
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S bilebot
|
|
#+END_SRC
|
|
|
|
When runing =filebot=, if you obtain the following error:
|
|
=/usr/bin/filebot: line 22: /usr/lib/jvm/java-8-openjdk/bin/java: No such file or directory=.
|
|
You can simlink the java binary:
|
|
#+BEGIN_SRC bash
|
|
sudo ln -s /usr/lib/jvm/java-8-openjdk/jre/bin/java /usr/lib/jvm/java-8-openjdk/bin/java
|
|
#+END_SRC
|
|
|
|
*** Usage
|
|
*** Configuration
|
|
Configuration folder: =~/.config/filebot/=
|
|
|
|
*** Documentation
|
|
https://www.filebot.net/cli.html
|
|
|
|
*** TODO Alternative
|
|
https://github.com/Sonarr/Sonarr
|
|
https://github.com/Radarr/Radarr
|
|
https://github.com/tinyMediaManager/tinyMediaManager
|
|
|
|
** Subtitle Manager
|
|
*** subdl
|
|
** TODO Youtube
|
|
https://github.com/mps-youtube/mps-youtube
|
|
* TODO [#A] Contact Manager
|
|
https://wiki.archlinux.org/index.php/mutt#Contact_management
|
|
https://gitlab.com/goobook/goobook
|
|
https://github.com/hensmith/ppl
|
|
https://github.com/scheibler/khard
|
|
http://abook.sourceforge.net/
|
|
|
|
** GooBook - Contacts from Google
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S goobook-git
|
|
#+END_SRC
|
|
And Then
|
|
#+BEGIN_SRC bash
|
|
goobook authenticate
|
|
#+END_SRC
|
|
|
|
*** Usage
|
|
#+BEGIN_SRC bash
|
|
goobook query name
|
|
#+END_SRC
|
|
|
|
** TODO lbdb
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S lbdb
|
|
#+END_SRC
|
|
|
|
** TODO Use Vdirsyncer for contact synchronization
|
|
** TODO Mu
|
|
This looks for contacts in your emails.
|
|
=mu cfind <name>=
|
|
|
|
** TODO Integration with Mutt
|
|
|
|
* TODO Chat Application
|
|
** Weechat
|
|
https://weechat.org/files/doc/stable/weechat_user.en.html
|
|
https://wiki.archlinux.org/index.php/WeeChat
|
|
|
|
*** Installation
|
|
#+begin_src bash
|
|
yay -S weechat
|
|
#+end_src
|
|
|
|
Then we install some dependencies
|
|
#+begin_src bash
|
|
yay -S tcl lua ruby
|
|
#+end_src
|
|
|
|
*** Enable mouse support
|
|
#+begin_src text
|
|
/mouse enable
|
|
#+end_src
|
|
|
|
*** Scripts
|
|
| highmon.pl | |
|
|
| colorize_nicks.py | |
|
|
| go.py | |
|
|
| autosort.py | |
|
|
| buddylist.pl | |
|
|
| colorize_lines.pl | |
|
|
| multiline.pl | |
|
|
|
|
*** Theme
|
|
https://www.bfoliver.com/technology/2017/07/15/weechat/
|
|
https://alexjj.com/blog/2016/9/setting-up-weechat/
|
|
|
|
#+begin_src conf
|
|
/set weechat.look.prefix_same_nick "⤷"
|
|
/set weechat.look.prefix_error "⚠"
|
|
/set weechat.look.prefix_action "⚡"
|
|
/set weechat.look.bar_more_down "▼▼"
|
|
/set weechat.look.bar_more_left "◀◀"
|
|
/set weechat.look.bar_more_right "▶▶"
|
|
/set weechat.look.bar_more_up "▲▲"
|
|
/set weechat.look.prefix_suffix "╡"
|
|
/set weechat.color.chat_nick_colors red,green,brown,blue,magenta,cyan,white,lightred,lightgreen,yellow,lightblue,lightmagenta,lightcyan
|
|
/set weechat.color.separator 31
|
|
/set buffers.color.current_fg 31
|
|
/set buffers.color.current_bg white
|
|
/set buffers.color.hotlist_message_fg 229
|
|
/set buffers.color.hotlist_private_fg 121
|
|
/set buffers.color.hotlist_highlight_fg 163
|
|
/set buffers.color.number 239
|
|
/set buffers.color.number_char 245
|
|
/set weechat.bar.title.conditions "${inactive}"
|
|
/set weechat.bar.title.color_fg black
|
|
/set weechat.bar.title.color_bg 31 #Or white if 31 does nothing
|
|
#+end_src
|
|
|
|
*** TODO Configuration
|
|
https://hugo.md/post/the-perfect-weechat-setup-2/
|
|
https://robots.thoughtbot.com/weechat-for-slacks-irc-gateway
|
|
|
|
Use the command =/fset=
|
|
|
|
*** Multi-line messages
|
|
Solution is provided here: https://github.com/wee-slack/wee-slack/issues/118
|
|
It uses [[https://weechat.org/scripts/source/multiline.pl.html/][multiline.pl]] script.
|
|
Then alt-enter is bound to insert a new line:
|
|
#+begin_src conf
|
|
/set plugins.var.perl.multiline.magic_paste_only on
|
|
/key bind meta-ctrl-M /input insert \x0a
|
|
#+end_src
|
|
|
|
And enter is bound to =magic_enter= that directly sends the message if its one line, and if its multiple line, waits a little bit and then sends the message:
|
|
#+begin_src conf
|
|
/key bind ctrl-M /input magic_enter
|
|
#+end_src
|
|
|
|
*** Send message using =$EDITOR=
|
|
https://github.com/keith/edit-weechat
|
|
#+begin_src bash
|
|
mkdir -p ~/.weechat/python/autoload
|
|
cd ~/.weechat/python/autoload
|
|
wget https://raw.githubusercontent.com/keith/edit-weechat/master/edit.py
|
|
#+end_src
|
|
|
|
Then, on weechat, type =/edit=.
|
|
|
|
*** CheatSheet
|
|
| Command | Usage |
|
|
|-----------+------------------|
|
|
| =Ctlr-N= | Next channel |
|
|
| =Ctlr-P= | Previous channel |
|
|
| =Esc-n= | Toggle nicklist |
|
|
| =alt-ent= | New line |
|
|
|
|
*** Slack Integration
|
|
https://github.com/wee-slack/wee-slack
|
|
|
|
**** Installation
|
|
#+begin_src bash
|
|
yay -S python2-websocket-client
|
|
#+end_src
|
|
|
|
|
|
#+begin_src bash
|
|
cd ~/.weechat/python
|
|
wget https://raw.githubusercontent.com/wee-slack/wee-slack/master/wee_slack.py
|
|
ln -s ../wee_slack.py autoload
|
|
#+end_src
|
|
|
|
**** Add your Slack API key(s)
|
|
Log in to Slack:
|
|
#+begin_src conf
|
|
/slack register
|
|
#+end_src
|
|
This command prints a link you should open in your browser to authorize WeeChat with Slack. Once you've accomplished this, copy the "code" portion of the URL in the browser and pass it to this command:
|
|
|
|
#+begin_src conf
|
|
/slack register [CODE_FROM_URL]
|
|
#+end_src
|
|
|
|
Your Slack team is now added, and you can complete setup by restarting the wee-slack script.
|
|
#+begin_src conf
|
|
/python reload slack
|
|
#+end_src
|
|
|
|
If you don't want to store your API token in plaintext you can use the secure features of weechat:
|
|
#+begin_src conf
|
|
/secure passphrase this is a super secret password
|
|
/secure set slack_token [YOUR_SLACK_TOKEN]
|
|
/set plugins.var.python.slack.slack_api_token ${sec.data.slack_token}
|
|
#+end_src
|
|
|
|
*** Aspell
|
|
https://blog.qoba.lt/using_aspell_in_weechat.html
|
|
*** Notifications
|
|
https://github.com/s3rvac/weechat-notify-send
|
|
|
|
*** Deamon and Client
|
|
Weechat is started with the systemd service =weechat=.
|
|
It runs weechat inside tmux.
|
|
|
|
** TODO Using Emacs
|
|
* Redshift
|
|
http://jonls.dk/redshift/
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S redshift
|
|
#+END_SRC
|
|
|
|
* TODO [#A] Mail Setup
|
|
** Synchronize Mailboxes - Mbsync
|
|
http://isync.sourceforge.net/
|
|
https://wiki.archlinux.org/index.php/Isync
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S isync
|
|
#+END_SRC
|
|
|
|
*** TODO Configuration
|
|
=~/.mbsyncrc=
|
|
|
|
*** Automation using systemd
|
|
**** Retreive New mails
|
|
- =~/scripts/checkmail.sh=
|
|
- =~/.config/systemd/user/checkmail.service=
|
|
- =~/.config/systemd/user/checkmail.timer=
|
|
|
|
#+BEGIN_SRC bash
|
|
systemctl --user enable checkmail.timer
|
|
systemctl --user start checkmail.timer
|
|
#+END_SRC
|
|
|
|
**** Synchronize all the mailboxes
|
|
- =~/.config/systemd/user/syncmail.service=
|
|
- =~/.config/systemd/user/syncmail.timer=
|
|
|
|
#+BEGIN_SRC bash
|
|
systemctl --user enable syncmail.timer
|
|
systemctl --user start syncmail.timer
|
|
#+END_SRC
|
|
|
|
**** Alternative
|
|
https://github.com/rlue/little_red_flag
|
|
|
|
*** Documentation
|
|
https://bostonenginerd.com/posts/notmuch-of-a-mail-setup-part-1-mbsync-msmtp-and-systemd/
|
|
https://bostonenginerd.com/posts/notmuch-of-a-mail-setup-part-2-notmuch-and-emacs/
|
|
** Send Mails - Msmtp
|
|
https://marlam.de/msmtp/
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S msmtp
|
|
#+END_SRC
|
|
|
|
** Mail Indexer - Notmuch
|
|
https://notmuchmail.org/
|
|
https://wiki.archlinux.org/index.php/Notmuch
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S notmuch
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
Configuration file: =~/.notmuch-config=
|
|
|
|
*** Cheatsheet
|
|
| Command | Usage |
|
|
|-----------------+---------------------------------------------|
|
|
| =notmuch setup= | Initial Setup |
|
|
| =notmuch new= | Incorporate new email into notmuch database |
|
|
|
|
** TODO [#B] Mail Index, Search and Tagging - Mu
|
|
https://github.com/djcb/mu
|
|
|
|
** TODO [#A] Mail Client - NeoMutt
|
|
https://github.com/neomutt/neomutt
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S neomutt
|
|
#+END_SRC
|
|
|
|
*** TODO Vim Bindings
|
|
Unding toutes les touches (https://github.com/iagox86/mutt/blob/master/keybindings.conf) et rebind tout pour faire un truc coherent et documenté
|
|
Rajouter les keybindings de vim https://github.com/neomutt/neomutt/issues/56#issuecomment-250780838
|
|
|
|
*** TODO Mailcap configuration
|
|
*** Display html mails
|
|
#+BEGIN_SRC bash
|
|
yay -S w3m
|
|
#+END_SRC
|
|
|
|
*** Open PDF from mail
|
|
=~/scripts/openfile.sh=
|
|
|
|
*** TODO [#B] Integrate with contact manager
|
|
*** TODO Integration with org-mode
|
|
https://www.donarmstrong.com/posts/org_mode_mutt_capture/
|
|
https://upsilon.cc/~zack/blog/posts/2010/02/integrating_Mutt_with_Org-mode/
|
|
*** TODO Send HTML mails using Markdown
|
|
https://unix.stackexchange.com/questions/108485/send-email-written-in-markdown-using-mutt/424162
|
|
https://github.com/Roguelazer/muttdown
|
|
|
|
*** Attachments
|
|
**** Attach multiple files at once
|
|
First, tag the files you want to send using =t=, then =;= to apply the action on all tagged files and finally =<enter>= to add them all
|
|
**** TODO Add attachment using GUI file manager
|
|
**** Cheatsheet
|
|
| Command | Usage |
|
|
|---------+---------------|
|
|
| =<spc>= | Open the file |
|
|
|
|
*** Open Url from mail
|
|
#+BEGIN_SRC bash
|
|
yay -S urlview
|
|
#+END_SRC
|
|
|
|
*** TODO View emails while composing
|
|
https://wiki.archlinux.org/index.php/Mutt#Display_another_email_while_composing
|
|
|
|
*** TODO Searching mails with notmuch
|
|
https://github.com/tsto/notmuchfs
|
|
|
|
*** TODO Cheatsheet
|
|
| Command | Usage |
|
|
|---------+-------|
|
|
| | |
|
|
|
|
*** TODO Integration with calendar application
|
|
http://jasonwryan.com/blog/2014/04/05/calendar/
|
|
https://gist.github.com/guiniol/5109c5bd953af950e0530b720507d704
|
|
=~/scripts/printics.sh=
|
|
|
|
*** Ressources
|
|
- http://therandymon.com/woodnotes/mutt/using-mutt.html
|
|
- https://ankursinha.in/2017/12/16/transitioning-to-neomutt-and-friends-for-e-mail.html
|
|
- https://github.com/LukeSmithxyz/mutt-wizard
|
|
|
|
** TODO [#C] Mu4e
|
|
** TODO [#C] Notification system
|
|
A script (=~/scripts/checkmail.sh=) is used to retreive new mails and use =notify=send= is there are new received mails.
|
|
|
|
* TODO [#A] File Manager
|
|
** TODO [#B] Ranger
|
|
https://github.com/ranger/ranger
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S ranger
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
The configuration file is =~/.config/ranger/rc.conf=.
|
|
|
|
*** Display pdf
|
|
All the display of the files are defined in =~/.config/ranger/scope.sh=.
|
|
|
|
It seems that Ranger is not working well with Termite. The screen is not refreshing after viewing one image ([[https://github.com/ranger/ranger/issues/859][Github Issue]]).
|
|
|
|
It works better with Urxvt.
|
|
|
|
*** TODO [#B] Cheatsheet
|
|
| Command | Usage |
|
|
|---------+-------------------------|
|
|
| =X= | Extract archive |
|
|
| =Z= | Compress file or folder |
|
|
|
|
** TODO [#A] nnn
|
|
https://github.com/jarun/nnn
|
|
https://www.youtube.com/watch?v=U2n5aGqou9E
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S nnn
|
|
#+END_SRC
|
|
|
|
** TODO [#C] GUI File Manager: pcmanfm
|
|
https://wiki.archlinux.org/index.php/PCManFM
|
|
|
|
* TODO [#B] Image viewer
|
|
** TODO Write a script to open any type of image using the corresponding program
|
|
| Filetype | png | pdf | svg |
|
|
|----------+-----+---------+---------|
|
|
| Program | feh | zathura | inkview |
|
|
|
|
** Feh - Minimal Image Viewer
|
|
https://feh.finalrewind.org/
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S feh
|
|
#+END_SRC
|
|
|
|
*** Cheatsheet
|
|
| Command | Usage |
|
|
|---------+----------------|
|
|
| =f= | Fullscreen |
|
|
| =m= | Show menu |
|
|
| =spc= | next image |
|
|
| =bspc= | previous image |
|
|
| =w= | Fit image |
|
|
|
|
** sxiv
|
|
https://github.com/muennich/sxiv
|
|
https://www.youtube.com/watch?v=GYW9i_u5PYs
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S sxiv
|
|
#+END_SRC
|
|
|
|
*** Open Gif
|
|
#+begin_src bash
|
|
sxiv -a file.gif
|
|
#+end_src
|
|
|
|
*** Cheatsheet
|
|
| Command | Usage |
|
|
|--------------+--------------------------|
|
|
| =-t= | Start in Thumbmail mode |
|
|
| =f= | Toggle fullscreen |
|
|
| =Return= | Switch to thumbmail mode |
|
|
| =<=, =>= | Rotate the image |
|
|
| =\vert=, =_= | Flip the image |
|
|
| =n=, =p= | Next, Previous image |
|
|
|
|
* TODO [#B] Windows Manager - i3
|
|
** TODO Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S i3-gaps
|
|
#+END_SRC
|
|
|
|
** TODO Packages to install/understand
|
|
artwork-i3
|
|
i3-wallpapers
|
|
|
|
** TODO Configuration
|
|
=~/.i3/config=
|
|
|
|
** TODO [#C] Specific config per workspace
|
|
https://github.com/i3/i3/blob/next/contrib/per-workspace-layout.pl
|
|
For instance, default to tabbed windows for workspace dealing with matlab figures.
|
|
*** Figures / Matlab
|
|
|
|
** TODO [#B] CheatSheet
|
|
| Command | Usage |
|
|
|---------+-------|
|
|
|
|
* TODO [#B] Custom bar - Polybar
|
|
https://polybar.github.io/
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S polybar
|
|
#+END_SRC
|
|
|
|
** TODO [#C] Configuration
|
|
=~/.config/polybar/config=
|
|
|
|
Polybar is launched automatically from i3 config.
|
|
|
|
** TODO [#B] Add custom modules
|
|
- [ ] show passwords
|
|
- [ ] show bibliography
|
|
- [ ] show bookmarks
|
|
- [ ] switch theme (dark/light)
|
|
- [ ] suspend, restart, hibernate, lock
|
|
|
|
** TODO [#C] Add Conky to polybar
|
|
* TODO [#C] Compositor - Compton
|
|
https://wiki.archlinux.org/index.php/Compton
|
|
https://github.com/chjj/compton
|
|
|
|
** Installation
|
|
#+begin_src bash
|
|
yay -S compton
|
|
#+end_src
|
|
|
|
** TODO [#B] Configuration
|
|
=~/.config/compton.conf=
|
|
|
|
** TODO GUI Configuration
|
|
To install:
|
|
#+begin_src bash
|
|
yay -S compton-conf
|
|
#+end_src
|
|
|
|
Then run =compton-conf=
|
|
|
|
** Automatic run as daemon
|
|
Compton is run from i3 config in the background (=-b= option)
|
|
#+BEGIN_SRC bash
|
|
exec --no-startup-id compton -b
|
|
#+END_SRC
|
|
|
|
* TODO [#C] Notification Manager - Dunst
|
|
https://github.com/dunst-project/dunst
|
|
https://wiki.archlinux.org/index.php/Dunst
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S dunst
|
|
#+END_SRC
|
|
|
|
** Configuration
|
|
=~/.config/dunst/dunstrc=
|
|
|
|
** TODO [#C] Special notifications
|
|
- [ ] Mails
|
|
- [ ] New messages on slack
|
|
|
|
** TODO [#C] How to merge similar notifications like new mails?
|
|
* Office Suite
|
|
** LibreOffice
|
|
#+begin_src bash
|
|
yay -S libreoffice-fresh
|
|
#+end_src
|
|
|
|
** WPS Office
|
|
#+begin_src bash
|
|
yay -S wps-office wps-office-extension-french-dictionary ttf-wps-fonts
|
|
#+end_src
|
|
|
|
* SpreadSheet - SC-IM
|
|
https://github.com/andmarti1424/sc-im
|
|
https://www.youtube.com/watch?v=K_8_gazN7h0
|
|
|
|
It permits to open Excel files on the terminal very quickly.
|
|
|
|
#+begin_src bash
|
|
yay -S sc-im
|
|
#+end_src
|
|
|
|
* Managing Theme
|
|
** GTK Themes
|
|
Gtk2 themes are managed using the file =~/.gtkrc-2.0= while Gtk3 themes are managed using =~/.config/gtk-3.0/settings.ini=.
|
|
|
|
*** Gui Manager
|
|
|
|
To customize the look of the system using GUI application, run ~lxappearance~.
|
|
|
|
Installation:
|
|
#+BEGIN_SRC bash
|
|
yay -S lxappearance
|
|
#+END_SRC
|
|
|
|
*** Icons and themes
|
|
#+BEGIN_SRC bash
|
|
yay -S zukitwo-themes faenza-icon-theme
|
|
#+END_SRC
|
|
|
|
#+begin_src bash
|
|
yay -S arc-gtk-theme
|
|
#+end_src
|
|
|
|
** QT Themes
|
|
Run ~qt5ct~ to manage QT Themes.
|
|
|
|
** XFT Themes
|
|
Some configuration are located in =~/.Xresources=.
|
|
|
|
* TODO [#A] Advanced config
|
|
** TODO [#C] Printer
|
|
https://wiki.archlinux.org/index.php/CUPS
|
|
Web based administration: http://localhost:631/
|
|
=system-config-printer=
|
|
|
|
Check the queue
|
|
#+begin_src bash
|
|
lpq
|
|
lpq -a # on all queues
|
|
#+end_src
|
|
|
|
Clear the queue
|
|
#+begin_src bash
|
|
lprm # remove last entry only
|
|
lprm - # remove all entries
|
|
#+end_src
|
|
|
|
Print a file
|
|
#+begin_src bash
|
|
lpr -P printer_name filename.pdf
|
|
#+end_src
|
|
|
|
List available printers
|
|
#+begin_src bash
|
|
lpstat -a
|
|
#+end_src
|
|
|
|
Stats about the printer
|
|
#+begin_src bash
|
|
lpstat -p printer_name
|
|
#+end_src
|
|
|
|
|
|
*** TODO CheatSheet
|
|
| Command | Usage |
|
|
|---------+-------|
|
|
|
|
** TODO [#C] Kernel Management
|
|
https://wiki.manjaro.org/index.php/Manjaro_Kernels
|
|
|
|
*** TODO Cheatsheet
|
|
| Command | Usage |
|
|
|-------------------+--------------------------------|
|
|
| =mhwd-kernel -li= | Determine which kernel is used |
|
|
| | Change current kernel |
|
|
|
|
** TODO [#C] Power Consumption
|
|
https://wiki.manjaro.org/index.php?title=Power_Savings
|
|
|
|
** TODO [#C] Power Management Tool: TLP and Powertop
|
|
https://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html#commands
|
|
https://wiki.archlinux.org/index.php/Powertop
|
|
|
|
Alternative: pm-utils
|
|
|
|
** TODO [#A] Lid open/close
|
|
Should automatic show lock screen
|
|
=/etc/systemd/logind.conf=
|
|
|
|
** Automatically Mount devices - Udiskie
|
|
- udiskie - Mount and unmount disks (https://github.com/coldfix/udiskie)
|
|
#+begin_src bash
|
|
yay -S udiskie
|
|
#+end_src
|
|
|
|
And then, add that to =.xinitrc=
|
|
|
|
** TODO [#C] Format disks
|
|
https://gparted.org/
|
|
=sudo gparted= to format disks ()
|
|
|
|
Using command line:
|
|
- https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-storage-devices-in-linux
|
|
|
|
** TODO [#B] Bluetooth
|
|
Bluetooth: Gui: https://github.com/blueman-project/blueman
|
|
|
|
** TODO [#A] Temperature and Fan control
|
|
#+BEGIN_SRC bash
|
|
# Enable Automated Power Regulation
|
|
yay -S tlp
|
|
sudo systemctl enable tlp
|
|
sudo systemctl start tlp
|
|
sudo systemctl enable tlp-sleep
|
|
sudo systemctl start tlp-sleep
|
|
sudo tlp start
|
|
|
|
# Enable thermald (overheat shutoff)
|
|
yay -S thermald
|
|
sudo systemctl enable thermald
|
|
sudo systemctl start thermald
|
|
#+END_SRC
|
|
|
|
** TODO [#B] Lock Screen
|
|
https://github.com/pavanjadhaw/betterlockscreen
|
|
|
|
*** Installation
|
|
#+begin_src bash
|
|
yay -S betterlockscreen
|
|
#+end_src
|
|
|
|
* TODO [#C] LaTeX
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S texlive-most
|
|
#+END_SRC
|
|
|
|
Biber support for the bibliography:
|
|
#+BEGIN_SRC bash
|
|
yay -S biber
|
|
#+END_SRC
|
|
|
|
Support for source code using minted:
|
|
#+BEGIN_SRC bash
|
|
yay -S minted
|
|
#+END_SRC
|
|
|
|
** Personnal classes/packages
|
|
Every custom class or packages can be put under =~/texmf/tex/latex/local/= folder.
|
|
|
|
In order for LaTeX to be aware of new packages/classes, run =sudo texhash= each time a new custom package is added.
|
|
|
|
** TODO [#C] From screenshot to latex math formula
|
|
https://mathpix.com/
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S mathpix-snipping-tool
|
|
#+END_SRC
|
|
|
|
*** Usage
|
|
First, you have to run =mathpix-snipping-tool=. That will add something in the tray.
|
|
|
|
Then, use =<ctrl><alt>m= and then select a part of the screen to convert that area to latex formula.
|
|
|
|
*** TODO [#C] Think of a better way to run that program. Maybe disable the tray icon and add some polybar script that automatically run the program, and ask for selection of the screen.
|
|
|
|
** TODO [#B] Custom script to select latex symbol
|
|
https://github.com/superluserdo/Latex-picker
|
|
Maybe use that script for other things?
|
|
|
|
** Awesome LaTeX
|
|
[[file:awesome/latex.org][file:~/.config/dotfiles/awesome/latex.org]]
|
|
|
|
* Mathematical Software
|
|
** Insect
|
|
https://github.com/sharkdp/insect
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S insect
|
|
#+END_SRC
|
|
|
|
*** Usage
|
|
| Command | Usage |
|
|
|-----------------+--------------|
|
|
| =3 m/s to km/h= | Convert Unit |
|
|
|
|
** Matlab
|
|
https://wiki.archlinux.org/index.php/MATLAB#Installation
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S matlab
|
|
#+END_SRC
|
|
|
|
If there is a problem when opening a Simulink file, check the solution [[https://fr.mathworks.com/matlabcentral/answers/361053-can-t-reload-usr-local-matlab-r2017b-bin-glnxa64-libmwdastudio-so][here]].
|
|
|
|
** SageMath
|
|
http://www.sagemath.org/
|
|
https://wiki.archlinux.org/index.php/SageMath
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S sagemath
|
|
#+END_SRC
|
|
|
|
*** Usage
|
|
Run =sage -n jupyter= to run jupyter notebooks
|
|
|
|
*** Documentation
|
|
http://doc.sagemath.org/html/en/reference/plotting/sage/plot/plot.html#sage.plot.plot.plot
|
|
http://doc.sagemath.org/html/en/reference/calculus/sage/symbolic/expression.html
|
|
http://doc.sagemath.org/html/en/reference/calculus/sage/symbolic/assumptions.html
|
|
|
|
* TODO [#A] Cloud Backup / Sync - Rclone
|
|
https://github.com/ncw/rclone
|
|
https://rclone.org/docs/
|
|
gui: https://martins.ninja/RcloneBrowser/
|
|
|
|
Rclone is used to manage the online drives like Google Drive and Dropbox.
|
|
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S rclone
|
|
#+END_SRC
|
|
|
|
** Cheatsheet
|
|
| Command | Usage |
|
|
|-------------------------------------+------------------------------------------------------------|
|
|
| =rclone config= | Configuration |
|
|
| =rclone listremotes= | List configured remotes |
|
|
| =rclone about= | Informations about the remote |
|
|
| =rclone copy= | Copy files from source to dest |
|
|
| =rclone sync= | Make source and dest identical, modifying destination only |
|
|
| =rclone check= | Check if the files in the source and destination match |
|
|
| =rclone ls= | List all the objects in the path |
|
|
| =rclone size= | Return the total size and number of objects in remote:path |
|
|
| =rclone cleanup= | Clean up the remote if possible |
|
|
|
|
** Usefull commands
|
|
| Command | Usage |
|
|
|---------------------------------------------------------+-----------------------------------------------|
|
|
| =rclone sync ~/gdrive/ gdrive:/ -P= | Make Google Drive files to same as local ones |
|
|
| =rclone copy gdrive:/directory/ ~/gdrive/directory/ -P= | Copy directory from Google Drive to local |
|
|
| =rclone lsf gdrive:/ --max-depth 1= | List files and directory |
|
|
|
|
*** Progress bar for long synchronizations
|
|
Use =--progress --stats-one-line=.
|
|
|
|
* TODO Download Manager
|
|
** TODO [#B] Torrent - Transmission
|
|
https://www.youtube.com/watch?v=fpYbJCqpPS4&list=WL&index=14&t=0s
|
|
** TODO CLI Download Manager - Aria2
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S aria2
|
|
#+END_SRC
|
|
*** Usage
|
|
|
|
** TODO Torrent Client - deluge
|
|
https://github.com/deluge-torrent/deluge
|
|
https://wiki.archlinux.org/index.php/Deluge
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S deluge
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
=~/.config/deluge/=
|
|
|
|
*** Command Line Interface
|
|
https://whatbox.ca/wiki/deluge_console_documentation
|
|
|
|
Start the daemon using =deluge -d=.
|
|
Then run the CLI client using =deluge-console=.
|
|
|
|
*** GUI Client
|
|
=deluge=
|
|
|
|
** TODO CLI Torrent Client - btpd
|
|
https://github.com/btpd/btpd
|
|
|
|
** TODO Youtube-dl
|
|
#+begin_src bash
|
|
yay -S youtube-dl
|
|
#+end_src
|
|
*** Download best audio
|
|
#+begin_src bash
|
|
youtube-dl -f bestaudio url
|
|
#+end_src
|
|
|
|
*** Download best video with audio
|
|
#+begin_src bash
|
|
youtube-dl -f best url
|
|
#+end_src
|
|
|
|
*** Download playlist
|
|
|
|
* TODO [#A] Default Applications
|
|
https://wiki.archlinux.org/index.php/Default_applications
|
|
https://www.guyrutenberg.com/2018/01/20/set-default-application-using-xdg-mime/
|
|
** Mailcap file
|
|
** TODO [#A] XDG-OPEN
|
|
=~/.config/mimeapps.list=
|
|
|
|
** TODO Make QuteBrowser the default browser
|
|
* TODO Desktop files
|
|
=~/.local/share/applications/=
|
|
|
|
* TODO Bibliography Management
|
|
- https://github.com/JabRef/jabref
|
|
- https://github.com/t-wissmann/rofi-bibbrowser
|
|
** TODO Biblatex
|
|
http://www.gerd-neugebauer.de/software/TeX/BibTool/en/
|
|
|
|
** Papis
|
|
https://github.com/papis/papis
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
sudo pip3 install papis
|
|
#+END_SRC
|
|
|
|
* TODO Calendar
|
|
** Vdirsyncer - Sync calendars
|
|
https://github.com/pimutils/vdirsyncer
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S vdirsyncer
|
|
#+END_SRC
|
|
|
|
#+BEGIN_SRC bash
|
|
sudo pip install requests-oauthlib
|
|
#+END_SRC
|
|
|
|
*** Cheatsheet
|
|
| Command | Usage |
|
|
|-------------------+-------------|
|
|
| =vdirsyncer sync= | Synchronize |
|
|
|
|
*** Automation - Systemd
|
|
First, run
|
|
#+BEGIN_SRC bash
|
|
vdirsyncer discover google_calendar
|
|
#+END_SRC
|
|
|
|
#+BEGIN_SRC bash
|
|
systemctl --user enable vdirsyncer.timer
|
|
systemctl --user start vdirsyncer.timer
|
|
#+END_SRC
|
|
|
|
To check the status of the service:
|
|
#+BEGIN_SRC bash
|
|
systemctl --user status vdirsyncer.service
|
|
#+END_SRC
|
|
|
|
** TODO Calendar Client - Khal
|
|
https://github.com/pimutils/khal
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S khal
|
|
#+END_SRC
|
|
|
|
*** TODO Cheatsheet
|
|
| Command | Usage |
|
|
|---------+-------|
|
|
|
|
* TODO Presentation software
|
|
** Beamer
|
|
** Org Mode
|
|
https://orgmode.org/worg/exporters/beamer/tutorial.html
|
|
|
|
** WPS
|
|
** Presentation setup on computer
|
|
** PowerPoint Viewer
|
|
** Multi-monitor pdf presentation - pdfpc
|
|
https://github.com/pdfpc/pdfpc
|
|
|
|
pdfpc is a great tool for showing pdf presentations. It support:
|
|
- screen splitting
|
|
- support for videos in pdf presentations
|
|
- support for notes
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S pdfpc
|
|
#+END_SRC
|
|
|
|
*** Video support
|
|
#+BEGIN_SRC bash
|
|
yay -S gst-plugins-ugly gst-plugins-good gst-plugins-base-libs gst-plugins-base gst-plugins-bad gst-libav
|
|
#+END_SRC
|
|
|
|
*** Usage
|
|
#+BEGIN_SRC bash
|
|
pdfpc filename.pdf
|
|
#+END_SRC
|
|
|
|
* TODO RSS Reader
|
|
GUI:
|
|
- http://www.rssowl.org/
|
|
- https://github.com/jangernert/FeedReader
|
|
With Emacs:
|
|
- http://pragmaticemacs.com/emacs/read-your-rss-feeds-in-emacs-with-elfeed/
|
|
|
|
** Newsboat
|
|
https://github.com/newsboat/newsboat
|
|
https://wiki.archlinux.org/index.php/Newsboat
|
|
|
|
*** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S newboat
|
|
#+END_SRC
|
|
|
|
*** Configuration
|
|
https://newsboat.org/releases/2.12/docs/newsboat.html
|
|
=~/.newsboat/=
|
|
|
|
*** TODO Automatic Retrival of Feeds
|
|
Make a systemd service.
|
|
|
|
*** TODO Add reddit personnal RSS
|
|
https://www.reddit.com/prefs/feeds/
|
|
|
|
*** CheatSheet
|
|
https://newsboat.org/releases/2.12/docs/newsboat.html#available-operations
|
|
| Command | Usage |
|
|
|---------+-------|
|
|
|
|
* Manager Drives
|
|
https://wiki.archlinux.org/index.php/NFS
|
|
=sudo nvim /etc/fstab= to auto-mount drives
|
|
|
|
* TODO Task Manager
|
|
** OrgMode and Emacs
|
|
** Wunderlist
|
|
https://itsfoss.com/linux-client-wunderlist/
|
|
*** Wunderline
|
|
http://wayneashleyberry.github.io/wunderline/
|
|
|
|
**** Installation
|
|
#+begin_src bash
|
|
yay -S wunderline
|
|
#+end_src
|
|
|
|
**** Cheatsheet
|
|
=wunderline list=
|
|
#+begin_src bash :results raw
|
|
wunderline inbox
|
|
#+end_src
|
|
|
|
#+RESULTS:
|
|
INBOX (5)
|
|
Appeler les impôts ☆
|
|
Regarder les impôt Today ☆
|
|
Remboursement abonnement tram ? ☆
|
|
Prendre le Exploding Kittens / Seven Wonders Today ☆
|
|
Appeler Maman Today ☆
|
|
|
|
|
|
|
|
*** TODO Org-Wunderlist
|
|
https://github.com/myuhe/org-wunderlist.el?state=RANDOM&code=f03a4873e4fd70950641
|
|
* Background manager: nitrogen
|
|
https://github.com/l3ib/nitrogen/
|
|
|
|
** Configuration
|
|
=~/.config/nitrogen/nitrogen.cfg=
|
|
|
|
** Wallpapers
|
|
=~/scripts/wallpaper.sh=: script to automatically change wallpaper each x minutes.
|
|
|
|
* PDF Reader: Zathura
|
|
https://pwmt.org/projects/zathura/
|
|
** Installation
|
|
#+BEGIN_SRC bash
|
|
yay -S zathura
|
|
#+END_SRC
|
|
|
|
Then add dependecies to view specific files:
|
|
#+BEGIN_SRC bash
|
|
yay -S zathura-pdf-mupdf zathura-djvu zathura-ps zathura-cb
|
|
#+END_SRC
|
|
|
|
It seems that mupdf is better that poppler to view pdf.
|
|
|
|
** Configuration
|
|
=~/.config/zathura/zathurarc=
|
|
|
|
** Cheatsheet
|
|
| Command | Usage |
|
|
|---------+----------------------------|
|
|
| =p= | Print the current pdf |
|
|
| =tab= | Show the outline |
|
|
| =r= | Reload |
|
|
| =J/K= | Next/previous page |
|
|
| =H/L= | Zoom in/out |
|
|
| =a= | Fit height |
|
|
| =s= | Fit width |
|
|
| =D= | Double page |
|
|
| =f= | Follow link |
|
|
| =i= | Night Mode |
|
|
| =<n>gg= | Go to page n |
|
|
| =mm= | Mark current location to m |
|
|
| ='m= | Goto location m |
|
|
|
|
* TODO Theme manager
|
|
The idea would be to have a command that changes the theme of all the system.
|
|
|
|
There would be at least one light and one dark theme.
|
|
Applications that could change:
|
|
- [ ] terminal: https://github.com/khamer/base16-termite. TODO: this does not seems to work. Some is takken from config of termite, some from xresources. Also when reload the terminal is does not make the colors well: https://github.com/thestinger/termite/issues/273
|
|
It seems the color is due to this part of the script. Should then source this file somehow.
|
|
|
|
#+BEGIN_SRC bash
|
|
BASE16_SHELL="$HOME/.base16-manager/chriskempson/base16-shell/"
|
|
[ -n "$PS1" ] && \
|
|
[ -s "$BASE16_SHELL/profile_helper.sh" ] && \
|
|
eval "$("$BASE16_SHELL/profile_helper.sh")"
|
|
#+END_SRC
|
|
|
|
- [X] shell: https://github.com/chriskempson/base16-shell
|
|
- [X] ranger: uses colors of the shell
|
|
- [X] vim: https://github.com/chriskempson/base16-vim
|
|
- [ ] emacs: https://github.com/belak/base16-emacs
|
|
- [X] zathura: https://github.com/nicodebo/base16-zathura
|
|
- [ ] neomutt: https://github.com/josephholsten/base16-mutt
|
|
- [X] ncmpcpp: uses colors of terminal (termite) defined in =~/.config/termite/config=
|
|
- [X] polybar: uses colors of Xresources: =~/.Xressources.d/colors=
|
|
- [ ] dunst: https://github.com/khamer/base16-dunst
|
|
- [ ] fzf: https://github.com/nicodebo/base16-fzf
|
|
- [ ] i3: https://github.com/khamer/base16-i3
|
|
- [ ] qutebrowser: https://github.com/theova/base16-qutebrowser
|
|
- [ ] rofi: https://gitlab.com/0xdec/base16-rofi
|
|
- [ ] background: use custom script
|
|
- [ ] tmux
|
|
- [ ] GUI file manager?
|
|
|
|
Possible theme managers:
|
|
- https://github.com/mjswensen/themer
|
|
- https://github.com/dylanaraps/pywal
|
|
** TODO Theme script
|
|
=~/bin/theme=
|
|
|
|
** TODO Base16
|
|
https://github.com/chriskempson/base16
|
|
http://chriskempson.com/projects/base16/
|
|
https://www.youtube.com/watch?v=QcOxU1sOOuw
|
|
|
|
*** Base16 Philosophy
|
|
Define colors according to rules: http://chriskempson.com/projects/base16/
|
|
Then we can use these colors multiple applications.
|
|
|
|
*** Base16-shell
|
|
https://github.com/chriskempson/base16-shell
|
|
|
|
This changes the shell colors. This should be added to =~/.bashrc=:
|
|
#+BEGIN_SRC bash
|
|
# Base16 Shell
|
|
BASE16_SHELL="$HOME/.config/base16-shell/"
|
|
[ -n "$PS1" ] && \
|
|
[ -s "$BASE16_SHELL/profile_helper.sh" ] && \
|
|
eval "$("$BASE16_SHELL/profile_helper.sh")"
|
|
#+END_SRC
|
|
|
|
*** Base16-manager
|
|
https://github.com/AuditeMarlow/base16-manager
|
|
|
|
This help changes many applications colors at once.
|
|
|
|
* TODO Graphical Editor
|
|
- GIMP
|
|
- http://dia-installer.de/
|
|
- https://inkscape.org/
|
|
- https://krita.org/en/features/highlights/
|
|
- Tikz
|
|
|
|
* TODO [#B] System monitor: conky
|
|
https://github.com/brndnmtthws/conky
|
|
https://wiki.archlinux.org/index.php/Conky
|
|
|
|
Integration with polybar:
|
|
- https://www.reddit.com/r/unixporn/comments/92guq6/i3polybar_animated_polybar_drop_down_menus/
|
|
- https://github.com/ntcarlson/dotfiles
|
|
|
|
* TODO Bugs
|
|
** TODO Why the cursor is turning when on the background image?
|
|
Because something is executing without the --no-startup-id option
|
|
* TODO Games on Linux
|
|
https://www.protondb.com/
|
|
https://steamcommunity.com/games/221410/announcements/detail/1696055855739350561
|
|
|
|
* TODO VPN Setup
|
|
** NordVPN
|
|
https://aur.archlinux.org/packages/nordvpn-bin/
|
|
https://wiki.archlinux.org/index.php/NordVPN
|
|
|
|
*** Installation
|
|
#+begin_src bash
|
|
yay -S nordvpn-bin
|
|
#+end_src
|
|
|
|
*** Configuration
|
|
#+begin_src bash
|
|
sudo systemctl enable nordvpnd.service
|
|
sudo systemctl start nordvpnd.service
|
|
#+end_src
|
|
|
|
*** Usage
|
|
| Command | Usage |
|
|
|---------------------------+-------|
|
|
| =nordvpn login= | |
|
|
| =nordvpn connect country= | |
|
|
| =nordvpn disconnect= | |
|
|
| =nordvpn status= | |
|
|
| =nordvpn countries= | |
|
|
|
|
** TODO Maybe use NordVPM with openVPN Instead?
|
|
https://github.com/nstinus/nordvpn
|
|
https://github.com/jotyGill/openpyn-nordvpn
|
|
https://nordvpn.com/fr/tutorials/linux/openvpn/
|
|
|
|
* TODO NAS setup
|
|
Mount a shared drive
|
|
https://wiki.archlinux.org/index.php/NFS
|
|
|
|
* Others
|
|
** Reddit on terminal: rtv
|
|
#+BEGIN_SRC bash
|
|
yay -S rtv
|
|
#+END_SRC
|
|
|
|
** Interact with API
|
|
- GUI: https://github.com/getinsomnia/insomnia
|
|
- CLI: https://github.com/jakubroztocil/httpie
|
|
|
|
** Take Screenshot
|
|
https://github.com/naelstrof/maim
|
|
#+begin_src bash
|
|
yay -S maim
|
|
#+end_src
|
|
|
|
#+begin_src bash
|
|
man maim
|
|
#+end_src
|
|
|
|
* TODO Usefull commands
|
|
** Find files or directories
|
|
- https://github.com/sharkdp/fd
|
|
- https://github.com/BurntSushi/ripgrep
|
|
- https://github.com/ggreer/the\_silver\_searcher
|
|
- find
|
|
- fzf
|
|
|
|
** Show informations about the machine
|
|
- [[https://github.com/dylanaraps/neofetch][neofetch]]
|
|
|
|
** Work with PDF
|
|
=pdftk=
|
|
|
|
** Separate PDF
|
|
=pdfseparate -f 1 -l 6 file.pdf split%d.pdf=
|
|
Will create =split1.pdf= to =split6.pdf= files corresponding to correct pages of =file.pdf=.
|
|
|
|
** Readline
|
|
https://wiki.archlinux.org/index.php/Keyboard_shortcuts
|
|
|
|
| Keyboard | Shortcut Description |
|
|
|----------+----------------------|
|
|
| Ctrl+l | Clear the screen |
|
|
|
|
*** Cursor Movement
|
|
| Keyboard | Shortcut Description |
|
|
|----------+----------------------------------------|
|
|
| =Ctrl+b= | Move cursor one character to the left |
|
|
| =Ctrl+f= | Move cursor one character to the right |
|
|
| =Alt+b= | Move cursor one word to the left |
|
|
| =Alt+f= | Move cursor one word to the right |
|
|
| =Ctrl+a= | Move cursor to start of the line |
|
|
| =Ctrl+e= | Move cursor to end of the line |
|
|
|
|
*** Copy & Paste
|
|
| Keyboard | Shortcut Description |
|
|
|--------------+---------------------------------------------------|
|
|
| =Ctrl+u= | Cut everything from line start to cursor |
|
|
| =Ctrl+k= | Cut everything from the cursor to end of the line |
|
|
| =Alt+d= | Cut the current word after the cursor |
|
|
| =Ctrl+w= | Cut the current word before the cursor |
|
|
| =Ctrl+y= | Paste the previous cut text |
|
|
| =Alt+y= | Paste the second latest cut text |
|
|
| =Alt+Ctrl+y= | Paste the first argument of the previous command |
|
|
| =Alt+./= | Paste the last argument of the previous command |
|
|
|
|
*** History
|
|
| Keyboard | Shortcut Description |
|
|
|----------+---------------------------------------|
|
|
| =Ctrl+p= | Move to the previous line |
|
|
| =Ctrl+n= | Move to the next line |
|
|
| =Ctrl+s= | Search |
|
|
| =Ctrl+r= | Reverse search |
|
|
| =Ctrl+j= | End search |
|
|
| =Ctrl+g= | Abort search (restores original line) |
|
|
| =Alt+r= | Restores all changes made to line |
|
|
|
|
*** Completion
|
|
| Keyboard | Shortcut Description |
|
|
|----------+---------------------------------|
|
|
| =Tab= | Auto-complete a name |
|
|
| =Alt+?= | List all possible completions |
|
|
| =Alt+*= | Insert all possible completions |
|
|
|
|
** Google translate from the command line
|
|
#+begin_src bash
|
|
yay -S translate-shell
|
|
#+end_src
|
|
|
|
#+begin_src bash
|
|
trans englishwork en:fr
|
|
#+end_src
|
|
|
|
** Others
|
|
| [[https://github.com/tldr-pages/tldr][tldr]] | Community-driven man pages |
|
|
| [[https://github.com/dutchcoders/transfer.sh][transfer.sh]] | upload and share files from the command line |
|
|
| [[https://github.com/timvisee/ffsend][ffsend]] | share files from the command line |
|
|
| [[https://github.com/chubin/wttr.in][wttr.in]] | weather in terminal |
|
|
| [[https://github.com/michael-lazar/rtv][rtv]] | Reddit in terminal |
|
|
| awk | https://linuxhandbook.com/awk-command-tutorial/ |
|
|
| [[https://github.com/rupa/z][z]] | Jump around |
|
|
| [[https://github.com/nvbn/thefuck][thefuck]] | Magnificent app which corrects your previous console command |
|
|
| [[https://github.com/mrzool/bash-sensible][bash-sensible]] | An attempt at saner Bash defaults |
|
|
| [[https://github.com/greg-js/arch-wiki-man][awman]] | Arch Wiki man pages - Arch wiki offline |
|
|
| [[https://github.com/amanusk/s-tui/][s-tui]] | Terminal based CPU stress and monitoring utility |
|
|
| [[https://github.com/nicolargo/glances][glances]] | A top/htop alternative |
|
|
| [[https://github.com/asciinema/asciinema][asciinema]] | Reccord you terminal |
|
|
| [[https://dev.yorhel.nl/ncdu][ncdu]] | See what takes place on the disk |
|
|
| [[https://github.com/haikarainen/light][light]] | Program to easily change brightness on backlight-controllers |
|
|
| [[https://github.com/naelstrof/maim][maim]] | Take screenshots |
|
|
|
|
|
|
|-----------------------------------+-------------------------------------------|
|
|
| Command | Description |
|
|
|-----------------------------------+-------------------------------------------|
|
|
| =meteo= | Get the meteo |
|
|
| =sudo cputhrottle PID %PROC= | Limiter l'accès au proc pour un processus |
|
|
| =nmap -sP “192.168.1.*"= | Check all ip addresses on local netword |
|
|
| =rsync -a --progress source dest= | Copy folders with stats |
|
|
| =du -sh folder= | Return the size of the folder |
|
|
| =df -h= | Report disk usage |
|
|
|-----------------------------------+-------------------------------------------|
|
|
|
|
** Archive and Extract
|
|
Use =apack= and =aunpack=:
|
|
| | |
|
|
|-------------------------------+-----------------------------------|
|
|
| =aunpack foobar.tar.gz= | extract all files from archive |
|
|
| =apack myarchive.zip foo bar= | create a zip archive of two files |
|
|
|
|
** Hardware
|
|
| =dmesg= | Detected hardware and boot messages |
|
|
| =lshw= | Display information on hardware |
|
|
| =lsusb -tv= | Show usb devices |
|
|
|
|
** Network
|
|
| =ip addr show= | Show all network interfaces and ip address |
|
|
| =ethtooo eth0= | Tool to show ethernet status |
|
|
| =netstat -tulp= | List all active listening ports |
|
|
|
|
* TODO Custom scripts
|
|
** TODO [#A] Password completion with fzf
|
|
Make a script to use FZF for autocompletion of password (with pass program) and then send to current line or copy.
|
|
Maybe use tmux pane for that.
|
|
* TODO Bash Snippets
|
|
** For loop
|
|
#+BEGIN_SRC bash
|
|
for file in ./*; do
|
|
command ${file};
|
|
done
|
|
#+END_SRC
|