dotfiles/README.org

130 lines
6.2 KiB
Org Mode
Raw Normal View History

2021-07-29 10:45:26 +00:00
* Dotfiles
Welcome to Janek's dotfiles,
thousands of lines of handcraft shell code
to make the live of a linux sysadmin
and developer easier!
2021-07-29 10:45:26 +00:00
I mainly use Arch Linux,
currently with the KDE desktop environment with tiling extension
with the intention of moving a proper tiling WM (Awesome or Sway) soon.
This config is opinionated,
but currently deployed on multiple machines
including some other eager users
who run Manjaro Sway.
Thus I am progressively generalising it.
If you are not one of those,
you can safely skip the following section.
** Usage
Here are some basic commands you should remember:
- ~u~ to upgrade everything (works on arch-based systems with topgrade installed and any debian-based system, with safeguards to ensure upgrade stability even on longtime dormant machines)
- yas :: interactively install software packages
- yar :: interactively uninstall software packages
- loc :: quickly find a file on your system, case-insensitive
- loca :: do a deep search for a file on the whole system, case-insensitive
- loce :: find a file/directory with exact name match
2022-09-09 19:49:37 +00:00
- moul :: mount a device interatively (unmount with ~umoul~)
*** Mounting Manually
To mount a device,
first check ~ds~ ([d]isk [s]tats, a prettification of ~lsblk --fs~)
and find your device,
then call ~moul~ with the respective name or label,
e.g. ~moul my-usb~ or ~moul sdc2~.
This will mount the device and jump to the mounted directory.
As long as you are in the device directory
you can unmount it simply by calling ~umoul~,
otherwise provide the argument used above again.
* Overview
2021-07-29 14:02:20 +00:00
If you are looking to snag some of my handy tools,
focus on [[./.local/bin/scripts][.local/bin/scripts]] and [[./.config/shell][.config/shell]].
Among daily use are ~b~, ~edit-*~, ~help~, [[./.config/shell/arch][~yas~]]
2021-08-09 22:32:56 +00:00
and [[https://github.com/ajeetdsouza/zoxide][zoxide]]-based ~d~ / ~di~
which in turn use ~zfz~, ~zf~ and ~locz~.
~ex~, ~m~, ~moul~, ~grpr~ / ~rpl~, ~s~, ~sd~, ~tl~ are also commonly used conveniences.
2021-07-29 14:02:20 +00:00
Below is an overview of the structure
** Home
2021-07-29 10:45:26 +00:00
I am trying to keep my home clean,
but some files unfortunately cannot be moved.
Out of these, only [[.zprofile][.zprofile]] is of interest,
it contains lots of mappings to store files according to XDG
and configuration for ~less~ and ~fzf~.
** .config
- [[.config/shell][shell]] :: shell aliases & functions grouped into a few different areas, focused on zsh but mostly usable with bash
2021-07-29 14:02:20 +00:00
- [[.config/zsh][zsh]] :: zsh plugin configuration & custom completions
- [[.config/doom][doom]] :: [[https://github.com/hlissner/doom-emacs][Doom Emacs]] configuration with personalized snippets
2021-07-29 10:45:26 +00:00
- ideavim, vifm, nvim :: vi-related tools
- git, yadm :: version control
** .local
2021-09-18 19:58:30 +00:00
- [[.local/bin/scripts][scripts]] :: lots of useful scripts,
most have a short documentation header -
including many essential git scripts
* Package Setup (moving to [[https://git.jfischer.org/xeruf/instalee][Instalee]])
2022-11-23 09:02:48 +00:00
By Size:
: LC_ALL=C pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | sort -h
Copy list:
2021-10-08 10:28:22 +00:00
: pacman -Qe | cut -d\ -f1 | xclip -selection clipboard
- dotfiles :: yadm
2022-02-12 08:35:40 +00:00
: yadm clone --bootstrap git@git.jfischer.org:xeruf/dotfiles.git
: yadm clone --bootstrap https://git.jfischer.org/xeruf/dotfiles.git
Run ~bootstrap~ after starting ZSH
2022-11-30 10:23:38 +00:00
Basics: diffr fzf
2021-10-08 10:28:22 +00:00
** Applications
2022-04-10 09:36:25 +00:00
- utilities :: youtube-dl dos2unix rlwrap
2021-12-10 23:59:42 +00:00
- powertools :: hexedit hexyl [[https://lftp.yar.ru/][lftp]] glances zsh-doc pacman-contrib
- multitools :: ffmpeg imagemagick pandoc
2022-03-25 08:14:30 +00:00
- documents :: pdftk java-commons-lang
2021-12-10 12:29:31 +00:00
- music :: mpd mpc ncmpc vlc phonon-qt5-vlc mpdris2
: mkdir -p ~/.local/state/mpd && systemctl --user enable --now mpd mpDris2
#+begin_src sh YAY for AUR
git clone https://aur.archlinux.org/yay.git /tmp/yay
cd /tmp/yay
makepkg -si
#+end_src
2022-04-12 16:59:02 +00:00
- aur recommendations :: [[https://github.com/mookid/diffr][diffr]] tldr++ sc-im espanso-bin timg audiowaveform python-dictcc dragon-drop
2021-12-10 12:29:31 +00:00
- bluetooth :: bluez bluez-utils pulseaudio-bluetooth
- git tools :: git-bug git-lfs git-crypt git-remote-gcrypt github-cli
- pass :: pass pass-otp pass-extension-tail pass-clip
-> interesting: pass-steam, pass-autotype, pass-file, pass-qr, pass-ssh, pass-rotate
- ssh :: openssh sshfs lemonade-git
2022-02-01 10:35:28 +00:00
- sync :: syncthing syncthingtray
: sudo systemctl enable --now syncthing@$USER
2022-01-08 20:54:39 +00:00
- productivity :: activitywatch-bin jrnl
2022-01-08 01:33:23 +00:00
- personal aur utils (only useful with dotfiles) :: bat-extras neovim-symlinks stderred-git
2022-01-12 11:44:28 +00:00
- needs extra setup :: rdictcc-git
- experiments :: kakoune
2021-09-29 16:38:57 +00:00
** Graphical
- fonts :: fontpreview noto-fonts noto-fonts-emoji ttf-dejavu adobe-source-code-pro-fonts texlive-myriadpro-git
- music management :: puddletag beets picard ffmpegthumbnailer sox
: sudo npm install -g bpm
2021-10-15 12:28:18 +00:00
- health :: stretchly-xeruf-git redshift acpilight light
2021-10-08 10:28:22 +00:00
: scu enable --now redshift
2021-10-15 12:28:18 +00:00
-> https://www.reddit.com/r/linuxquestions/comments/pm1bxn/setting_brightness_on_amd_ryzen_7_5800h_with
2021-12-10 12:29:31 +00:00
*** Desktop
- xorg :: xorg-xserver xorg-xkill xorg-setxkbmap xorg-xinit xterm xclip xprintidle light
2022-02-01 10:35:28 +00:00
- wayland :: sway azote dex
- kde :: okular spectacle
- kde desktop :: plasma-desktop plasma-nm breeze systemsettings ktorrent dolphin kdeplasma-addons kinfocenter partitionmanager kdeconnect kwallet-pam kwalletmanager ksshaskpass bluedevil
*** Emacs
emacs emacs-pdf-tools-git
2022-01-15 21:12:41 +00:00
texlive-core texlive-latexextra texlive-most-doc
context-bin
2021-12-10 12:29:31 +00:00
: git clone --depth 1 https://github.com/hlissner/doom-emacs ${XDG_CONFIG_HOME:-$HOME/.config}/emacs && ${XDG_CONFIG_HOME:-$HOME/.config}/emacs/bin/doom -y install
- mail :: offlineimap mu
2021-12-10 12:29:31 +00:00
*** [[id:firefox][Firefox]] Addons
2021-10-15 12:28:18 +00:00
**** Password management
***** Pass - the unix password manager
2021-10-08 10:28:22 +00:00
Store all kinds of secrets in plain text
https://addons.mozilla.org/firefox/addon/passff
: passff-host
2021-10-15 12:28:18 +00:00
***** MasterPassword - the stateless password manager
2021-10-08 10:28:22 +00:00
> Keep different passwords for every site you log into without having to remember anything but a single master password.
> And without the risk of your getting your password list stolen.
https://addons.mozilla.org/firefox/addon/masterpassword-firefox
2021-10-15 12:28:18 +00:00
**** [[https://addons.mozilla.org/en-US/firefox/collections/15727735/integration?collection_sort=-popularity][System Integration]]
**** [[https://addons.mozilla.org/en-US/firefox/collections/15727735/privacy?collection_sort=-popularity][Privacy]]