#+TITLE: My dotfiles #+HUGO_ALIASES: /config [[https://forthebadge.com/images/badges/works-on-my-machine.svg]] These are my GNU/Linux configuration files. [[https://github.com/SqrtMinusOne/dotfiles][View at GitHub]]. Most of the software is configured with [[https://leanpub.com/lit-config/read][literate configuration]] strategy via Emacs' [[https://orgmode.org/][Org Mode]]. This way has its pros and cons, but overall it's pretty nice to keep the configs interweaved with comments in a handful of files. The files themselves are managed and deployed via [[https://yadm.io/][yadm]], but I use Org Mode for things like config templating. My current GNU/Linux distribution is [[https://guix.gnu.org/][GNU Guix]]. I like Guix because, among other things, it allows [[https://guix.gnu.org/cookbook/en/html_node/Advanced-package-management.html#Advanced-package-management][declaring the required software]] in configuration files, so I can have the same set of programs across multiple machines (look for tables with "Guix dependency" in the header). The central program to all of that is, of course [[https://www.gnu.org/software/emacs/][GNU Emacs]]. As of the moment of this writing, it takes ~50% of my screen time and has the largest share of configuration here. Table of contents and software: - [[file:Emacs.org][Emacs.org]] - [[file:Emacs.org][GNU Emacs]] - [[file:Desktop.org][Desktop.org]] - /Active/: [[file:Desktop.org::*EXWM][EXWM]], [[file:Desktop.org::*Polybar][Polybar]], [[file:Desktop.org::*Rofi][Rofi]], [[file:Desktop.org::*Flameshot][Flameshot]], [[file:Desktop.org::*dunst][dunst]], [[file:Desktop.org::*Picom][Picom]], [[file:Desktop.org::*Zathura][Zathura]] - /In Limbo/: [[file:Desktop.org::*i3wm][i3wm]], [[file:Desktop.org::*keynav][keynav]] - [[file:Console.org][Console.org]] - /Active/: [[file:Console.org::*=.profile=][.profile]], [[file:Console.org::*Bash][Bash]], [[file:Console.org::*Fish][Fish]], [[file:Console.org::*Starship prompt][Starship]], [[file:Console.org::*Tmux][Tmux]], [[file:Console.org::*Alacritty][Alacritty]] - /In Limbo/: [[file:Console.org::*Nushell][Nushell]] - [[file:Guix.org][Guix.org]] - [[file:Mail.org][Mail.org]] - /Active/: [[file:Mail.org::*Lieer][Lieer]], [[file:Mail.org::*DavMail][DavMail]], [[file:Mail.org::*OfflineIMAP][OfflineIMAP]], [[file:Mail.org::*Notmuch][Notmuch]] (/Apparently, links on the second level work only in Emacs 🙁/) A few other repositories I may consider a part of my config: - [[https://github.com/SqrtMinusOne/channel-q][channel-q]] is my Guix channel - [[https://github.com/SqrtMinusOne/sqrt-data][sqrt-data]] is a home for my statistics gathering effort - Emacs packages that I wrote (some of them originated in my Emacs config): - [[https://github.com/SqrtMinusOne/lyrics-fetcher.el][lyrics-fetcher.el]] - [[https://github.com/SqrtMinusOne/pomm.el][pomm.el]] - [[https://github.com/SqrtMinusOne/perspective-exwm.el][perspective-exwm.el]] - [[https://github.com/SqrtMinusOne/exwm-modeline][exwm-modeline.el]] - [[https://github.com/SqrtMinusOne/org-journal-tags][org-journal-tags]] - [[https://github.com/SqrtMinusOne/elfeed-summary][elfeed-summary]] - [[https://github.com/SqrtMinusOne/password-store-ivy][password-store-ivy]] Posts about my configuration: - [[https://sqrtminusone.xyz/posts/2022-01-03-exwm/][Using EXWM and perspective.el on a multi-monitor setup]] - [[https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/][Getting a consistent set of keybindings between i3 and Emacs]] - [[https://sqrtminusone.xyz/posts/2021-09-07-emms/][My EMMS and elfeed setup]] - [[https://sqrtminusone.xyz/posts/2021-05-01-org-python/][Replacing Jupyter Notebook with Org Mode]] - [[https://sqrtminusone.xyz/posts/2021-02-27-gmail/][Multiple Gmail accounts & labels with Emacs]] * Some statistics [[https://sqrtminusone.xyz/stats/all.png]] [[https://sqrtminusone.xyz/stats/emacs-vim.png]] [[https://sqrtminusone.xyz/stats/literate-config.png]] * 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 Mail/thexcloud/.credentials.gmailieer.json Mail/progin6304/.credentials.gmailieer.json .emacs.d/private.org .emacs.d/private.el .emacs.d/.trello/sqrtminusone.el #+end_src