docs(*): update docs

This commit is contained in:
Pavel Korytov 2021-06-23 20:32:52 +03:00
parent c2231d32b9
commit d43a07adcf
14 changed files with 204 additions and 213 deletions

View file

@ -1,93 +0,0 @@
;; [[file:../../../Guix.org::*blue][blue:1]]
(use-modules (gnu))
(use-modules (gnu system nss))
(use-modules (gnu packages bash))
(use-modules ((gnu packages base) #:select (coreutils glibc)))
(use-modules (gnu packages certs))
(use-modules (gnu packages version-control))
(use-modules (gnu packages vim))
(use-modules (gnu packages gnome))
(use-modules (gnu packages xorg))
(use-modules (gnu packages wm))
(use-modules (gnu packages openbox))
(use-modules (srfi srfi-1))
(use-modules (guix channels))
(use-modules (guix inferior))
(use-modules (nongnu packages linux))
(use-modules (nongnu system linux-initrd))
(use-service-modules desktop networking ssh xorg)
(use-package-modules ssh)
(define %my-desktop-services
(modify-services %desktop-services
(network-manager-service-type config =>
(network-manager-configuration (inherit config)
(vpn-plugins (list network-manager-openvpn))))))
(operating-system
(kernel
(let*
((channels
(list (channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
(commit "46c1d8bcca674d3a71cd077c52dde9552a89873d"))
(channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(commit "f463f376e91ccc1fe4ab68d5e822b5d71a1234f5"))))
(inferior
(inferior-for-channels channels)))
(first (lookup-inferior-packages inferior "linux" "5.12.8"))))
;; (kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(locale "en_US.utf8")
(timezone "Europe/Moscow")
(keyboard-layout (keyboard-layout "us,ru" #:options '("grp:alt_shift_toggle")))
(users (cons* (user-account
(name "pavel")
(comment "Pavel")
(group "users")
(home-directory "/home/pavel")
(supplementary-groups
'("wheel" ;; sudo
"netdev" ;; network devices
"audio"
"video"
"input"
"tty"
;; "docker"
"lp")))
%base-user-accounts))
(packages
(append
(list nss-certs
git
i3-gaps
openbox
xterm
vim)
%base-packages))
(host-name "blue")
(bootloader
(bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/sda")
(keyboard-layout keyboard-layout)))
(swap-devices
(list (uuid "d9ca4f8b-4bb1-420e-9371-3558731bada1")))
(file-systems
(cons* (file-system
(mount-point "/")
(device
(uuid "179fbd75-3c7f-4de2-8c4f-4c30939b8a3f"
'ext4))
(type "ext4"))
%base-file-systems)))
;; blue:1 ends here

View file

@ -7,4 +7,4 @@ Mail/progin6304/.credentials.gmailieer.json
.msmtprc
secrets/*
.emacs.d/dired-bookmarks.el
.emacs.d/elfeed.org
.emacs.d/elfeed.org

View file

@ -7,6 +7,7 @@
#+PROPERTY: header-args:python+ :tangle yes
#+PROPERTY: header-args:python+ :async yes
#+PROPERTY: header-args:python+ :eval never-export
#+PROPERTY: header-args:python+ :kernel python3
#+begin_src elisp :exports none
(setq-local org-image-actual-width '(1024))

View file

@ -18,8 +18,12 @@ Parts prefixed with (OFF) are not used, but kept for historic purposes. For some
:END:
:CONTENTS:
- [[#contents][Contents]]
- [[#colors][Colors]]
- [[#global-customization][Global customization]]
- [[#colors][Colors]]
- [[#xresources][Xresources]]
- [[#colors-in-xresources][Colors in Xresources]]
- [[#fonts][Fonts]]
- [[#themes][Themes]]
- [[#i3wm][i3wm]]
- [[#general-settings][General settings]]
- [[#managing-windows][Managing windows]]
@ -79,6 +83,24 @@ Parts prefixed with (OFF) are not used, but kept for historic purposes. For some
- [[#opacity][Opacity]]
- [[#general-settings][General settings]]
- [[#zathura][Zathura]]
- [[#various-software][Various software]]
- [[#browsers][Browsers]]
- [[#office][Office]]
- [[#latex][LaTeX]]
- [[#dev][Dev]]
- [[#manifests][Manifests]]
- [[#flatpak][Flatpak]]
- [[#nix][Nix]]
- [[#services][Services]]
- [[#music][Music]]
- [[#gnu-mcron][GNU Mcron]]
- [[#activitywatch][ActivityWatch]]
- [[#pulseeffects][PulseEffects]]
- [[#xsettingsd][xsettingsd]]
- [[#discord-rich-presence][Discord rich presence]]
- [[#shepherd-config][Shepherd config]]
- [[#sync][Sync]]
- [[#guix-settings][Guix settings]]
:END:
* Global customization
** Colors
@ -172,7 +194,7 @@ A few programs I use to customize the apperance are listed below.
| papirus-icon-theme | My preferred Icon theme |
| xsettingsd | X11 settings daemon |
[[https://github.com/derat/xsettingsd][xsettingsd]] is a lightweight daemon which configures X11 applications. It is launched with shepherd in the sevices config below.
[[https://github.com/derat/xsettingsd][xsettingsd]] is a lightweight daemon which configures X11 applications. It is launched with shepherd in the [[*Services][Services]] section.
#+begin_src conf-space :tangle ~/.config/xsettingsd/xsettingsd.conf
Net/ThemeName "Matcha-dark-azul"
@ -2054,8 +2076,6 @@ This section generates manifests for various desktop software that I'm using.
| dev | docker-compose |
| dev | python |
| dev | postgresql |
| dev | jupyter |
| dev | python-pyqt |
** Manifests
#+NAME: packages
#+begin_src emacs-lisp :tangle no :var category=""
@ -2138,6 +2158,10 @@ flatpak install --user flathub us.zoom.Zoom
flatpak install --user flathub com.slack.Slack
#+end_example
** Nix
| Type | Description |
|------+--------------------|
| TODO | Make nix manifest? |
I probably should've used nix, as almost every program I packaged so far exists in the Nix repo.
But it's easy enough to use Nix on Guix.

View file

@ -327,6 +327,7 @@ References:
(setq conda-anaconda-home (string-replace "/bin/conda" "" (executable-find "conda")))
(setq conda-env-home-directory (expand-file-name "~/.conda/"))
(setq conda-env-subdirectory "envs")
(setenv "INIT_CONDA" "true")
(unless (getenv "CONDA_DEFAULT_ENV")
(conda-env-activate "general")))
#+end_src

128
Guix.org
View file

@ -1,3 +1,6 @@
:PROPERTIES:
:TOC: :include all :depth 3
:END:
#+TITLE: Guix
#+PROPERTY: header-args :mkdirp yes
#+PROPERTY: header-args:bash :tangle-mode (identity #o755) :comments link :shebang "#!/usr/bin/env bash"
@ -14,8 +17,38 @@ References:
- [[https://gitlab.com/pjotrp/guix-notes][Pjotr Prins' Guix notes]]
- [[https://www.youtube.com/watch?v=iBaqOK75cho&list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU][Davil Wilson's YouTube series]]
* Contents
:PROPERTIES:
:TOC: :include all :depth 3
:END:
:CONTENTS:
- [[#contents][Contents]]
- [[#profiles][Profiles]]
- [[#activate-profiles][Activate profiles]]
- [[#update-profiles][Update profiles]]
- [[#channels][Channels]]
- [[#systems][Systems]]
- [[#base-configuration][Base configuration]]
- [[#azure][azure]]
- [[#indigo][indigo]]
- [[#system-installation][System installation]]
- [[#preparation][Preparation]]
- [[#installation][Installation]]
- [[#after-installation][After installation]]
- [[#misc-software--notes][Misc software & notes]]
- [[#vpn][VPN]]
- [[#vpn-start][vpn-start]]
- [[#vpn-stop][vpn-stop]]
- [[#flatpak][flatpak]]
- [[#conda][conda]]
- [[#slack][Slack]]
- [[#wakatime-cli][wakatime-cli]]
- [[#manifest][Manifest]]
:END:
* Profiles
A profile is way to group Guix packages. Amongst many advantages, profiles can be defined by manifests, which in turn can be stored in VCS.
A profile is a way to group Guix packages. Amongst its advantages, profiles can be defined by manifests, which in turn can be stored in VCS.
References:
- [[https://guix.gnu.org/en/cookbook/en/html_node/Guix-Profiles-in-Practice.html][Guix Profiles in Practice]]
@ -29,7 +62,7 @@ activate-profiles [profile1] [profile2] ...
Source: [[https://github.com/daviwil/dotfiles/blob/master/Systems.org#activating-profiles][David Wilson's config]]
#+begin_src bash :tangle ./bin/scripts/activate-profles
#+begin_src bash :tangle ./bin/scripts/activate-profiles
GREEN='\033[1;32m'
RED='\033[1;30m'
NC='\033[0m'
@ -100,12 +133,12 @@ done
* Channels
Specifying additional channels.
[[https://github.com/SqrtMinusOne/channel-q][channel-q]] is my Guix channel. Don't use it at home.
References:
- [[https://gitlab.com/nonguix/nonguix][nonguix channel repo]]
- [[https://guix.gnu.org/manual/en/html_node/Channels.html][Guix channels reference]]
Nonguix channel is pinned to a particular commit to avoid recompiling stuff more than necessary.
#+begin_src scheme :tangle .config/guix/channels.scm
(cons*
(channel
@ -138,7 +171,7 @@ Yes, all my machines are named after colors I like.
** Base configuration
The base configuration is shared between all the machines.
While it's possible to make a single =.scm= file with base confguration and load it, I noticed that it produces more cryptic error messages whenever there is an error in the base file, so I opt in for noweb.
While it's possible to make a single =.scm= file with base configuration and load it, I noticed that it produces more cryptic error messages whenever there is an error in the base file, so I opt-in for noweb.
=guix system= invocation is as follows:
@ -173,11 +206,11 @@ Common modules:
In principle, we could define a variable called =base-operating-system= and extend it in ancestors. However, then we would have to define mandatory fields like =host-name=, =bootloader= with dummy values. Since I'm already using noweb, there is little point.
The following code will be inserted in the top of the =operating-system= definition.
The following code will be inserted at the top of the =operating-system= definition.
Use the fulll Linux kernel. I hope I'll be able to use Libre kernel somewhere later.
Use the full Linux kernel. I hope I'll be able to use Libre kernel somewhere later.
Inferior in kernel is used to avoid recompilation. It looks like I can pin these to diffent commits than in my =channels.scm=
Inferior in the kernel is used to avoid recompilation. It looks like I can pin these to different commits than in my =channels.scm=
#+begin_src scheme :tangle no :noweb-ref system-base
(kernel
(let*
@ -245,7 +278,7 @@ Default services for each machine:
- add nix service
- add docker service
- add CUPS service
- add a symlink to ELF interpeter to where most Linux binaries expect it
- add a symlink to ELF interpreter to where most Linux binaries expect it
#+begin_src scheme :tangle no :noweb-ref system-common
(define %my-base-services
(cons*
@ -355,37 +388,9 @@ Default services for each machine:
(type "vfat"))
%base-file-systems)))
#+end_src
** blue
A VM on which I test Guix. Will probably be deleted sooner or later.
#+begin_src scheme :noweb yes :tangle ~/.config/guix/systems/blue.scm
<<system-common>>
(operating-system
<<system-base>>
(host-name "blue")
(bootloader
(bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/sda")
(keyboard-layout keyboard-layout)))
(swap-devices
(list (uuid "d9ca4f8b-4bb1-420e-9371-3558731bada1")))
(file-systems
(cons* (file-system
(mount-point "/")
(device
(uuid "179fbd75-3c7f-4de2-8c4f-4c30939b8a3f"
'ext4))
(type "ext4"))
%base-file-systems)))
#+end_src
* System installation
** Preparation
In my cases the provided ISO doesn't work because of Libre kernel.
In my case, the provided ISO doesn't work because of the Libre kernel.
Fortunately, David Wilson has made [[https://github.com/SystemCrafters/guix-installer][a repository]] with a toolchain to make an ISO with the full kernel. In case it won't be an option, the [[https://gitlab.com/nonguix/nonguix][nonguix repo]] also has instructions on how to do that.
@ -402,7 +407,7 @@ Going further, the official instructions for installation & SystemCrafters wiki
** After installation
After the installation, the strategy is as follows.
Set a password for the main user (pavel). Login with openbox to get a tolerable interface, because i3 default config is horrible.
Set a password for the main user (pavel). Login with openbox to get a tolerable interface because the i3 default config is horrible.
[[https://guix.gnu.org/en/manual/en/html_node/Keyboard-Layout-and-Networking-and-Partitioning.html#Keyboard-Layout-and-Networking-and-Partitioning][Connect to the internet]].
@ -428,11 +433,17 @@ guix clone https://github.com/SqrtMinusOne/dotfiles.git
And activate the required profiles. Again, downloading & building Emacs, Starship and stuff will take a while.
Don't forget to install =JetBrainsMono Nerd Font=.
* Misc software
* Misc software & notes
| Category | Guix dependency | Description |
|----------+-----------------+----------------------------------------------------|
| system | patchelf | A program to modify existsing ELF executables |
| system | glibc | A lot of stuff, including ELF interpeter and ~ldd~ |
** VPN
| Category | Guix dependency |
|----------+-----------------|
| system | openvpn |
** VPN
I'm not sure how to properly spin up VPN on Guix, so here is what I'm doing now.
I'm currently using CyberGhost VPN. =~/.vpn= folder stores its OpenVPN config, modified as follows:
@ -440,7 +451,7 @@ I'm currently using CyberGhost VPN. =~/.vpn= folder stores its OpenVPN config, m
- added =auth-user-pass= with a link to login info
*** vpn-start
To start VPN propely, we have to use DNS given by CyberGhost to prevent DNS leaks and disabled ipv6. The thing is that the manual method requires also manual setting of the IP address and gateway.
To start VPN properly, we have to use DNS given by CyberGhost to prevent DNS leaks and disabled ipv6. The thing is that the manual method requires also the manual setting of the IP address and gateway.
So this script:
- gets an active connection
@ -448,11 +459,11 @@ So this script:
- gets an IP from that device
- gets a gateway
- modifies the connection
- runs openvpn
- runs OpenVPN
This isn't tested and probably will fail if there are multiple active connections, for instance.
Also I'm a bit concerned with running openvpn as sudo, but I shall see if that screws me up somehow.
Also, I'm a bit concerned with running OpenVPN as sudo, but I shall see if that screws me up somehow.
#+begin_src bash :tangle ~/bin/scripts/vpn-start
CONN=$(nmcli -f NAME con show --active | grep -Ev "(.*docker.*|NAME|br-.*|veth.*|tun.*)" | sed 's/ *$//g')
@ -512,23 +523,6 @@ nmcli con modify "$CONN" ipv4.method auto
nmcli con modify "$CONN" ipv6.method auto
nmcli connection up "$CONN"
#+end_src
** Manifest
#+NAME: packages
#+begin_src emacs-lisp :tangle no :var category=""
(my/format-guix-dependencies category)
#+end_src
System
#+begin_src scheme :tangle .config/guix/manifests/system.scm :noweb yes
(specifications->manifest
'(
<<packages("system")>>))
#+end_src
* Notes on installing software
| Category | Guix dependency | Description |
|----------+-----------------+----------------------------------------------------|
| system | patchelf | A program to modify existsing ELF executables |
| system | glibc | A lot of stuff, including ELF interpeter and ~ldd~ |
** flatpak
As for now, the easiest way to install most of proprietary software is via flatpak. See the relevant section in [[file:Desktop.org][Desktop.org]].
** conda
@ -572,3 +566,15 @@ Before I figure out how to package this for Guix:
- Clone [[https://github.com/wakatime/wakatime-cli][the repo]]
- Run ~go build~
- Copy the binary to the =~/bin= folder
** Manifest
#+NAME: packages
#+begin_src emacs-lisp :tangle no :var category=""
(my/format-guix-dependencies category)
#+end_src
System
#+begin_src scheme :tangle .config/guix/manifests/system.scm :noweb yes
(specifications->manifest
'(
<<packages("system")>>))
#+end_src

View file

@ -1,3 +1,6 @@
:PROPERTIES:
:TOC: :include all :depth 3
:END:
#+TITLE: Mail
#+PROPERTY: header-args :mkdirp yes
#+PROPERTY: header-args:conf-unix :comments link
@ -8,11 +11,32 @@ My email configuration with [[https://notmuchmail.org/][notmuch]] + [[https://gi
References:
- [[https://sqrtminusone.xyz/posts/2021-02-27-gmail/][My post]] about email configuration. I wrote it some time ago, but the general idea remains.
* Contents
:PROPERTIES:
:TOC: :include all
:END:
:CONTENTS:
- [[#contents][Contents]]
- [[#lieer][Lieer]]
- [[#notmuch][Notmuch]]
- [[#config][Config]]
- [[#hooks][Hooks]]
- [[#pre_new][pre_new]]
- [[#post_new][post_new]]
- [[#sync-script][Sync script]]
- [[#mstp][MSTP]]
- [[#emacs][Emacs]]
- [[#mailcap][mailcap]]
- [[#guix-settings][Guix settings]]
:END:
* Lieer
| Guix dependency |
|-----------------|
| python-lieer |
Lieer is a program to link up Gmail and notmuch. Basically, it dowloads mail from Gmail via API, stores them in maildir and syncronizes labels with notmuch.
Lieer is a program to link up Gmail and notmuch. Basically, it downloads mail from Gmail via API, stores them in Maildir, and synchronizes labels with notmuch.
I have a separate directory in my =~/Mail= for each address. To init lieer, run the following command in the directory:
#+begin_example
@ -27,14 +51,14 @@ gmi set --replace-slash-with-dot
gmi set --ignore-tags-local new
#+end_example
Running =gmi sync= in the required directory performs the syncronization. The first sync takes a while, the subsequent syncs are pretty fast.
Running =gmi sync= in the required directory performs the synchronization. The first sync takes a while, the subsequent syncs are pretty fast.
* Notmuch
| Guix dependency |
|-----------------|
| notmuch |
| parallel |
Notmuch is a CLI email indexer program, which handles labels in a way not unlike Gmail. It also provides a frontend for Emacs, but it's not the only one available.
Notmuch is an email indexer program, which handles labels in a way somewhat like Gmail. It also provides a frontend for Emacs, but it's not the only one available.
** Config
:PROPERTIES:
@ -49,7 +73,7 @@ First, the database path.
path=/home/pavel/Mail
#+end_src
Name and list of emails. It's not like it's a secret anyhow.
My name and list of emails. It's not like it's a secret anyhow.
#+begin_src conf-unix
[user]
name=Pavel Korytov

View file

@ -6,55 +6,53 @@ A set of my GNU/Linux configuration files.
The majority of the software is configured with [[https://leanpub.com/lit-config/read][literate configuration]] strategy via Emacs' Org Mode. This way has its advantages and disadvantages, but overall it's pretty nice to keep the configs interweaved with comments in a handful of files.
The files themselved are managed and deployed via [[https://yadm.io/][yadm]], but I mostly use Org Mode rich noweb whenever I can instead of what yadm offers.
The files themselves are managed and deployed via [[https://yadm.io/][yadm]], but I mostly use Org Mode rich noweb whenever I can instead of what yadm offers.
My current GNU/Linux distribution is [[https://guix.gnu.org/][GNU Guix]]. In the context of this repo, Guix allows to list all the used programs in manifests, which means I have the same set of programs across multiple machines. Looks for Org tables with "Guix dependency" in the header.
My current GNU/Linux distribution is [[https://guix.gnu.org/][GNU Guix]]. In the context of this repo, Guix allows me to list all the used programs in manifests, which means I have the same set of programs across multiple machines. Looks for Org tables with "Guix dependency" in the header.
Literate configuration files:
- [[file:Emacs.org][Emacs.org]]
- [[file:Desktop.org][Desktop.org]]
- [[file:Console.org][Console.org]]
- [[file:Guix.org][Guix.org]]
- [[file:Mail.org][Mail.org]]
* Programs used
Some of the notable programs are listed in the table below.
| Group | Program | Purpose | Status | Documented? | Notes |
|-----------+----------------+-----------------------------+------------------+-------------+-----------------------------------------------------------|
| console | bash | shell | launches fish :) | [[file:Console.org::*Bash][Console.org]] | |
| console | [[https://fishshell.com/][fish]] | shell | *active* | [[file:Console.org::*Fish][Console.org]] | |
| console | [[https://github.com/starship/starship][starship]] | prompt | *active* | [[file:Console.org::*Starship][Console.org]] | |
| console | [[https://github.com/tmux/tmux][tmux]] | terminal multiplexer | *active* | [[file:Console.org::*Tmux][Console.org]] | |
| console | [[https://github.com/alacritty/alacritty][alacritty]] | terminal emulator | *active* | [[file:Console.org::*Alacritty][Console.org]] | |
| mail | [[https://notmuchmail.org/][notmuch]] | mail indexer | *active* | [[https://sqrtminusone.xyz/posts/2021-02-27-gmail/][post]] | |
| mail | [[https://github.com/gauteh/lieer][lieer]] | gmail API client | *active* | [[https://sqrtminusone.xyz/posts/2021-02-27-gmail/][post]] | credentials are encrypted |
| mail | [[https://marlam.de/msmtp/][msmtp]] | SMTP client | *active* | - | encrypted |
| editor | [[https://www.gnu.org/software/emacs/][emacs]] | everything | *active* | [[file:Emacs.org][Emacs.org]] | GitHub renders .org files without labels and =tangle: no= |
| editor | [[https://www.vim.org/][vim]] | text edtior | *active* | - | A minimal config to have a lightweight terminal $EDITOR |
| editor | [[https://neovim.io/][neovim]] | text edtior | archive | - | |
| documents | [[https://mg.readthedocs.io/latexmk.html][latexmk]] | LaTeX build tool | *active* | - | |
| documents | [[https://pwmt.org/projects/zathura/][zathura]] | pdf viewer | *active* | [[file:Desktop.org::*dunst][Desktop.org]] | |
| desktop | [[https://github.com/dunst-project/dunst][dunst]] | notification manager | *active* | [[file:Desktop.org::*dunst][Desktop.org]] | |
| desktop | [[https://i3wm.org/][i3wm]] | tiling WM | *active* | [[file:Desktop.org::*i3wm][Desktop.org]] | |
| desktop | [[https://github.com/jordansissel/keynav][keynav]] | control mouse with keyboard | *active* | [[file:Desktop.org::*keynav][Desktop.org]] | |
| desktop | [[https://github.com/polybar/polybar][polybar]] | status bar | *active* | [[file:Desktop.org::*Polybar][Desktop.org]] | |
| desktop | [[https://github.com/davatorium/rofi][rofi]] | generic menu | *active* | [[file:Desktop.org::*Rofi][Desktop.org]] | |
| desktop | [[https://github.com/flameshot-org/flameshot][flameshot]] | screenshot | *active* | [[file:Desktop.org::Flameshot][Desktop.org]] | |
| desktop | [[https://github.com/yshui/picom][picom]] | X11 compositor | *active* | [[file:Desktop.org::*Picom][Desktop.org]] | |
| desktop | [[https://github.com/vivien/i3blocks][i3blocks]] | status bar | archive | - | |
| internet | [[https://github.com/tridactyl/tridactyl][tridactyl]] | vim bindings for Firefox | *active* | - | templated with yadm |
| internet | [[https://newsboat.org/][newsboat]] | terminal RSS reader | archive | - | urls are encrypted |
| internet | [[https://qutebrowser.org/][qutebrowser]] | browser with vim bindings | archive | - | |
| internet | [[https://github.com/jarun/buku][buku]] | bookmarks manager | archive | - | |
| internet | [[https://tabliss.io/][tabliss]] | new tab page | *active* | - | runned as server to work with tridactyl |
| audio | [[https://www.musicpd.org/][mpd]] | music player daemon | *active* | - | |
| audio | [[https://github.com/ncmpcpp/ncmpcpp][ncmpcpp]] | MPD frontend | *active* | - | |
| audio | [[https://github.com/graysky2/pulseaudio-ctl][pulseaudio-ctl]] | PulseAudio controller | archive | - | |
| dev | [[https://github.com/prompt-toolkit/ptpython][ptpython]] | Python REPL | archive | - | |
| dev | [[https://github.com/inducer/pudb][pudb]] | Python Debugger | archive | - | |
| misc | [[https://yadm.io][yadm]] | dotfiles manager | *active* | - | |
| misc | [[https://github.com/risacher/sunwait][sunwait]] | sunrise calculator | *active* | - | |
| misc | [[https://github.com/vergoh/vnstat][vnstat]] | traffic stats | *active* | - | |
| Group | Program | Purpose | Status | Documented? | Notes |
|-----------+----------------+-----------------------------+-------------------+----------------+-----------------------------------------------------------|
| console | bash | shell | launches fish :) | [[file:Console.org::*Bash][Console.org]] | |
| console | [[https://fishshell.com/][fish]] | shell | *active* | [[file:Console.org::*Fish][Console.org]] | |
| console | [[https://github.com/starship/starship][starship]] | prompt | *active* | [[file:Console.org::*Starship][Console.org]] | |
| console | [[https://github.com/tmux/tmux][tmux]] | terminal multiplexer | *active* | [[file:Console.org::*Tmux][Console.org]] | |
| console | [[https://github.com/alacritty/alacritty][alacritty]] | terminal emulator | *active* | [[file:Console.org::*Alacritty][Console.org]] | |
| mail | [[https://notmuchmail.org/][notmuch]] | mail indexer | *active* | [[file:Mail.org][Mail.org,]] [[https://sqrtminusone.xyz/posts/2021-02-27-gmail/][post]] | |
| mail | [[https://github.com/gauteh/lieer][lieer]] | gmail API client | *active* | [[file:Mail.org][Mail.org]], [[https://sqrtminusone.xyz/posts/2021-02-27-gmail/][post]] | credentials are encrypted |
| mail | [[https://marlam.de/msmtp/][msmtp]] | SMTP client | *active* | [[file:Mail.org][Mail.org]] | encrypted |
| editor | [[https://www.gnu.org/software/emacs/][emacs]] | everything | *active* | [[file:Emacs.org][Emacs.org]] | GitHub renders .org files without labels and =tangle: no= |
| editor | [[https://www.vim.org/][vim]] | text edtior | *active* | - | A minimal config to have a lightweight terminal $EDITOR |
| editor | [[https://neovim.io/][neovim]] | text edtior | archive | - | |
| documents | [[https://mg.readthedocs.io/latexmk.html][latexmk]] | LaTeX build tool | *active* | - | |
| documents | [[https://pwmt.org/projects/zathura/][zathura]] | pdf viewer | *active* | [[file:Desktop.org::*dunst][Desktop.org]] | |
| desktop | [[https://github.com/dunst-project/dunst][dunst]] | notification manager | *active* | [[file:Desktop.org::*dunst][Desktop.org]] | |
| desktop | [[https://i3wm.org/][i3wm]] | tiling WM | *active* | [[file:Desktop.org::*i3wm][Desktop.org]] | |
| desktop | [[https://github.com/jordansissel/keynav][keynav]] | control mouse with keyboard | *active* | [[file:Desktop.org::*keynav][Desktop.org]] | |
| desktop | [[https://github.com/polybar/polybar][polybar]] | status bar | *active* | [[file:Desktop.org::*Polybar][Desktop.org]] | |
| desktop | [[https://github.com/davatorium/rofi][rofi]] | generic menu | *active* | [[file:Desktop.org::*Rofi][Desktop.org]] | |
| desktop | [[https://github.com/flameshot-org/flameshot][flameshot]] | screenshot | *active* | [[file:Desktop.org::Flameshot][Desktop.org]] | |
| desktop | [[https://github.com/yshui/picom][picom]] | X11 compositor | *active* | [[file:Desktop.org::*Picom][Desktop.org]] | |
| desktop | [[https://github.com/vivien/i3blocks][i3blocks]] | status bar | archive | - | |
| internet | [[https://github.com/tridactyl/tridactyl][tridactyl]] | vim bindings for Firefox | *active* | - | templated with yadm |
| internet | [[https://newsboat.org/][newsboat]] | terminal RSS reader | archive | - | urls are encrypted |
| internet | [[https://qutebrowser.org/][qutebrowser]] | browser with vim bindings | archive | - | |
| internet | [[https://github.com/jarun/buku][buku]] | bookmarks manager | archive | - | |
| internet | [[https://tabliss.io/][tabliss]] | new tab page | *active* | - | runned as server to work with tridactyl |
| audio | [[https://www.musicpd.org/][mpd]] | music player daemon | *active* | - | |
| audio | [[https://github.com/ncmpcpp/ncmpcpp][ncmpcpp]] | MPD frontend | *active* | - | |
| misc | [[https://yadm.io][yadm]] | dotfiles manager | *active* | - | |
| misc | [[https://github.com/risacher/sunwait][sunwait]] | sunrise calculator | *active* | - | |
| misc | [[https://github.com/vergoh/vnstat][vnstat]] | traffic stats | *active* | - | |
* Posts about my configuration
- [[https://sqrtminusone.xyz/posts/2021-05-01-org-python/][Replacing Jupyter Notebook with Org Mode]]
@ -71,8 +69,23 @@ Run the following to show the pictures with reasonable width:
[[./dot-stats/img/emacs-vim.png]]
* Notes
* Misc
** Notes
- =M-u C-c C-v t= to tangle a particular block
- =M-u M-u C-c C-v t= to tangle a particular file
- =C-c C-v d= to demarcate a block
Uses yadm's =post_alt= hook to create symlinks
** Encrypted files
#+begin_src text :tangle ~/.config/yadm/encrypt
.config/newsboat/urls
.config/filezilla/sitemanager.xml
.config/filezilla/filezilla.xml
Mail/thexcloud/.credentials.gmailieer.json
Mail/progin6304/.credentials.gmailieer.json
.wegorc
.msmtprc
secrets/*
.emacs.d/dired-bookmarks.el
.emacs.d/elfeed.org
#+end_src

View file

@ -4,6 +4,7 @@
#+PROPERTY: header-args:python+ :exports both
#+PROPERTY: header-args:python+ :tangle yes
#+PROPERTY: header-args:python+ :async yes
#+PROPERTY: header-args:python+ :kernel python3
#+begin_src elisp :exports none
(setq-local org-image-actual-width '(1024))
@ -15,7 +16,7 @@
* Get the data
** Commit history
#+begin_src sh
REPO='/home/pavel/.config/yadm/repo.git'
REPO='/home/pavel/.local/share/yadm/repo.git'
if [ ! -d "data" ]; then
mkdir data
@ -37,6 +38,8 @@ paths["init.el"]=".emacs.d/init.el;config/.emacs.d/init.el"
paths["init.vim"]=".config/nvim/init.vim;config/nvim/init.vim;nvim/init.vim"
paths["Desktop.org"]="Desktop.org"
paths["Console.org"]="Console.org"
paths["Guix.org"]="Guix.org"
paths["Mail.org"]="Mail.org"
#+end_src
#+RESULTS:
@ -70,7 +73,7 @@ echo $(git -C $REPO log --pretty="%H %cI" | tail -n 1 | get_lengths)
#+RESULTS:
:
: e49d12622ee3e14751215df9aed907e3fa069e14,2021-04-21T18:01:56+03:00,2781,1801,1053,1857,544
: > > > > > > > > > > > > > > > > > > > sh-5.0$ sh-5.0$ c2231d32b9f7cf9361a404926077f7d4cf70e05a,2021-06-23T20:01:12+03:00,3900,2602,1053,2331,711
: 5044283019dc34c95d2836485ed492b34f49230e,2019-03-31T13:52:50+03:00,0,0,62,0,0
#+begin_src sh :results output verbatim
@ -159,13 +162,13 @@ with pd.option_context('display.max_rows', 10):
| 2019-04-03 10:36:35+03:00 | NaN | NaN | 91 | NaN | NaN |
| 2019-04-09 12:47:05+03:00 | NaN | NaN | 91 | NaN | NaN |
| ... | ... | ... | ... | ... | ... |
| 2021-04-22 22:01:59+03:00 | 2862.0 | 1909.0 | 1053 | 1857.0 | 544.0 |
| 2021-04-25 21:39:47+03:00 | 2888.0 | 1923.0 | 1053 | 1857.0 | 544.0 |
| 2021-04-26 16:16:10+03:00 | 2934.0 | 1945.0 | 1053 | 1857.0 | 544.0 |
| 2021-04-26 16:33:34+03:00 | 2935.0 | 1959.0 | 1053 | 1857.0 | 544.0 |
| 2021-04-29 20:43:34+03:00 | 2996.0 | 1990.0 | 1053 | 1857.0 | 544.0 |
| 2021-06-21 09:23:36+03:00 | 3901.0 | 2602.0 | 1053 | 2323.0 | 686.0 |
| 2021-06-22 08:54:38+03:00 | 3900.0 | 2602.0 | 1053 | 2323.0 | 696.0 |
| 2021-06-22 08:54:46+03:00 | 3900.0 | 2602.0 | 1053 | 2326.0 | 711.0 |
| 2021-06-23 19:59:48+03:00 | 3900.0 | 2602.0 | 1053 | 2331.0 | 711.0 |
| 2021-06-23 20:01:12+03:00 | 3900.0 | 2602.0 | 1053 | 2331.0 | 711.0 |
251 rows × 5 columns
323 rows × 5 columns
:END:
** Plot

View file

@ -2,11 +2,21 @@
{
"title": "OS/Distro",
"elements": [
{
"name": "GNU Guix",
"states": [
{
"startDate": "2021-06-11"
}
],
"color": "y"
},
{
"name": "Manjaro",
"states": [
{
"startDate": "2020-08-24"
"startDate": "2020-08-24",
"endDate": "2021-06-11"
}
],
"color": "g"
@ -350,7 +360,8 @@
"color": "r",
"states": [
{
"startDate": "2021-01-22"
"startDate": "2021-01-22",
"endDate": "2021-05-24"
}
]
},

View file

@ -3,6 +3,7 @@
#+PROPERTY: header-args:python+ :exports both
#+PROPERTY: header-args:python+ :tangle yes
#+PROPERTY: header-args:python+ :async yes
#+PROPERTY: header-args:python+ :kernel python3
#+begin_src elisp :exports none
(setq-local org-image-actual-width '(1024))
@ -204,7 +205,7 @@ notes
#+RESULTS:
:RESULTS:
| Dual boot, rarely used |
[[file:./.ob-jupyter/c1be31055726c333300f950d82c2c9d15f9b0205.png]]
[[file:./.ob-jupyter/e4f672eaf133c3b6321d2a80f9cca8c777fc3240.png]]
:END:
* Plot all separately

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 56 KiB