From 2867f6629a0427f84f15b1e7d23b2a0bc48ad735 Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Thu, 30 Jan 2020 13:12:09 +0100 Subject: [PATCH] Moved org files, added proper README Org files are moved from org/config-website to org/config. Symlink img was changed accordingly. org/config/index.org is no longer a symlink and was replaced by the former README.org which is now shorter and more consice. org/config/header.org was cleaned, no more lines related to LaTeX exports and no unused macros --- README.org | 345 +++--------------- img | 2 +- org/config-website/index.org | 1 - org/{config-website => config}/bin.org | 0 org/{config-website => config}/fish.org | 0 org/{config-website => config}/headers.org | 24 +- org/{config-website => config}/i3.org | 0 org/{config-website => config}/img/emacs.png | Bin .../img/neofetch.png | Bin org/{config-website => config}/img/rofi.png | Bin org/config/index.org | 326 +++++++++++++++++ .../installation.org | 0 org/{config-website => config}/nano.org | 0 org/{config-website => config}/polybar.org | 0 org/{config-website => config}/spacemacs.org | 27 +- org/{config-website => config}/tmux.org | 0 16 files changed, 386 insertions(+), 339 deletions(-) delete mode 120000 org/config-website/index.org rename org/{config-website => config}/bin.org (100%) rename org/{config-website => config}/fish.org (100%) rename org/{config-website => config}/headers.org (62%) rename org/{config-website => config}/i3.org (100%) rename org/{config-website => config}/img/emacs.png (100%) rename org/{config-website => config}/img/neofetch.png (100%) rename org/{config-website => config}/img/rofi.png (100%) create mode 100644 org/config/index.org rename org/{config-website => config}/installation.org (100%) rename org/{config-website => config}/nano.org (100%) rename org/{config-website => config}/polybar.org (100%) rename org/{config-website => config}/spacemacs.org (99%) rename org/{config-website => config}/tmux.org (100%) diff --git a/README.org b/README.org index 1f50b7c..0b855bf 100644 --- a/README.org +++ b/README.org @@ -1,323 +1,66 @@ #+TITLE: Phundrak’s dotfiles -#+INCLUDE: ~/org/config-website/headers.org -#+OPTIONS: auto-id:t -#+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: +#+AUTHOR: Lucien Cartier-Tilet +#+EMAIL: lucien@phundrak.com +#+CREATOR: Lucien Cartier-Tilet +#+LANGUAGE: en +#+OPTIONS: auto-id:t H:4 broken_links:mark email:t ^:{} +#+KEYWORDS: dotfiles linux emacs configuration phundrak drakpa * Table of Contents :TOC_4_gh:noexport: :PROPERTIES: - :CUSTOM_ID: h-400070eb-725f-4416-a4c6-da3053df750b + :CUSTOM_ID: h-8044ee9a-2ee8-4d52-bad1-666c41a2a6a6 :END: - [[#presentation][Presentation]] -- [[#screenshots][Screenshots]] -- [[#features][Features]] - - [[#custom-scripts-in-path][Custom scripts in =PATH=]] - - [[#emacs-configuration][Emacs configuration]] - - [[#email-signature][Email signature]] - - [[#fish-configuration-with-useful-abbreviations][Fish configuration with useful abbreviations]] - - [[#global-gitignore][Global gitignore]] - - [[#i3-configuration][i3 configuration]] - - [[#nano][Nano]] - - [[#rustfmt][Rustfmt]] - - [[#tmux-configuration][Tmux configuration]] - - [[#xresources][Xresources]] -- [[#dependencies][Dependencies]] -- [[#installation][Installation]] -- [[#licence][Licence]] +- [[#wheres-the-config-file-for-x][Where’s the config file for X?]] +- [[#some-more-info-please][Some more info please?]] +- [[#neat-whats-the-license][Neat, what’s the license?]] * Presentation :PROPERTIES: - :CUSTOM_ID: h-536e69f5-c012-4b7d-8a45-3a340d3bc7ee + :CUSTOM_ID: h-fbbf65b3-bf05-4466-80fb-b8f3d3094e47 :END: - [[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]] + This repository is where I keep most of my configuration files. With what is + stored here, anyone can recreate a working desktop configuration similar to my + daily one. - This is my collection of dotfiles for my daily GNU/Linux environment, tweaked - to my liking. If you wish to get the same setup as mine, follow the - instructions below. + My dotfiles are managed by [[https://yadm.io/][yadm]], and although I don’t use its alternate files + features (which is pretty neat btw), it allows me to painlessly manage my + dotfiles right where they are and not in a separate Git repository somewhere + with everything symlinked. Another advantage of yadm is it will automatically + execute (with your authorization, of course) my homemade bootstrap when my + dotfiles are cloned through yadm. - As you can see, I personally use [[https://fishshell.com/][fish]] as my shell of choice, and [[https://www.gnu.org/software/emacs/][Emacs]] using - [[http://spacemacs.org][Spacemacs]] (still with Emacs keybinding) as my main text editor. - - I also use [[https://github.com/resloved/i3][Resloved]]’s [[https://github.com/resloved/i3][fork]] of [[https://github.com/Airblader/i3][i3-gaps]] with two [[https://github.com/jaagr/polybar][polybar]] bars and [[https://github.com/tryone144][Tryone144]]’s - [[https://github.com/tryone144/compton][fork]] of [[https://github.com/chjj/compton][Compton]]. The colors scheme for [[https://github.com/davatorium/rofi][rofi]], Emacs and polybar are chosen from - the wallpapers using [[https://github.com/dylanaraps/pywal][pywal]]. - -* Screenshots +* Where’s the config file for X? :PROPERTIES: - :CUSTOM_ID: h-ee37502b-09a4-4668-88e2-1d4406252bd2 + :CUSTOM_ID: h-42508121-fe51-48bb-bd22-9f8894902789 :END: + As you may have noticed, I am striving for a 100% amount of configuration + files exported from Org files, that is, through literary programming. This is + still very much a work in progress, but so far I achieved this for the + following configuration files: + - Email signature (not very hard I must admit) ([[file:org/config/index.org]]) + - ~.gitignore_global~ (not very hard either) ([[file:org/config/index.org]]) + - ~.rustfmt.toml~ ([[file:org/config/index.org]]) + - My Xresources file ([[file:org/config/index.org]]) + - [[file:org/config/bin.org][My custom scripts]] + - [[file:org/config/fish.org][My fish config]] + - [[file:org/config/i3.org][My i3 config]] + - [[file:org/config/installation.org][The installation bootstrap]] + - [[file:org/config/nano.org][My nano config]] + - [[file:org/config/polybar.org][My Polybar config]] + - [[file:org/config/polybar.org][My Emacs (Spacemacs) config]] + - And finally [[file:org/config/tmux.org][my Tmux config]] - #+ATTR_HTML: :width 100% - #+CAPTION: Desktop with Neofetch in the terminal - [[./img/neofetch.png]] - - #+CAPTION: Desktop with Emacs opened - #+ATTR_HTML: :width 100% - [[./img/emacs.png]] - - #+CAPTION: Desktop with Rofi - #+ATTR_HTML: :width 100% - [[./img/rofi.png]] - -* Features +* Some more info please? :PROPERTIES: - :CUSTOM_ID: h-8539dd6f-4fcb-4dc7-a3ef-b8ad198c91d4 + :CUSTOM_ID: h-2b8488ed-8a5c-4292-ac4f-e47b7009c496 :END: - - Emacs configuration perfectly tailored for my own use - - Beautiful and comfy i3 and polybar configuration - - And enough information below to get basically the same distro install as I - have on my main computer and my travel laptop. + Everything you need to know is in my [[file:org/config/]] folder, and my Org files + are also available in web format on my website [[https://phundrak.com/config][phundrak.com/config]]. - Most of the org files you will find in this repos are the actual source code - of much of my config files. For instance, the bootstrap found in - [[file:installation.org][installation.org]] exports almost all of its code snippets to - [[file:.config/yadm/bootstrap][.config/yadm/bootstrap]] thanks to =M-x org-babel-tangle= from within Emacs. - Below I will also present and comment some of my short config files which do - not deserve to have a full org file dedicated to them. - -** Custom scripts in =PATH= - :PROPERTIES: - :CUSTOM_ID: h-d582e107-fa66-4f79-869e-2b49116ed1ec - :END: - I have written some scripts that help me daily accomplish some simple tasks, - like mounting and unmounting a drive or Android device, an emoji picker, a - utility to set up my Wacom tablet, and so on. You can find them stored in - [[file:.local/bin/README.org][.local/bin]] along with their detailed explanation in the README placed in the - same folder —which is actually their source code once the org-mode file gets - tangled. - -** Emacs configuration - :PROPERTIES: - :CUSTOM_ID: h-f6d2561f-5c02-4540-8287-4acf3037b3d5 - :END: - Emacs is my main text editor, which I use for almost everything. Because, you - know… - #+begin_quote - Emacs is a great operating system, it just lacks a good text editor. - #+end_quote - You can find my Emacs config, based on Spacemacs, in my [[https://labs.phundrak.com/phundrak/dotfiles/src/branch/master/.spacemacs][.spacemacs]] file, and - my user configuration in my [[file:~/org/config-website/spacemacs.org][spacemacs.org]] file. - -** Email signature - :PROPERTIES: - :CUSTOM_ID: h-f6c48286-a320-493f-b330-ee0a697e6d79 - :HEADER-ARGS: :tangle ~/.signature - :END: - This file gets inserted automatically at the end of my emails. - #+BEGIN_SRC text - Lucien “Phundrak” Cartier-Tilet - https://phundrak.com (Français) - https://en.phundrak.com (English) - - Pensez à notre planète, avez-vous vraiment besoin d’imprimer ce courriel ? - Please mind our planet, do you really need to print this email? - #+END_SRC - -** Fish configuration with useful abbreviations - :PROPERTIES: - :CUSTOM_ID: h-f35ed9a3-c9fc-458c-8a62-693f679f6992 - :END: - You can also find in my Fish shell configuration in my [[file:~/org/config-website/fish.org][fish.org]] file, which - contains my usual abbreviations. - -** Global gitignore - :PROPERTIES: - :CUSTOM_ID: h-4f92eb29-7cfa-48ec-b39d-39037ace3682 - :HEADER-ARGS: :tangle ~/.gitignore_global - :END: - Sometimes, there are some lines that always reappear in gitignores. So, - instead of always adding them, let git now that some elements are to be - ignored by default, hence the [[file:.gitignore_global][~/.gitignore_global]] file. First, we don’t want - nano’s backup files. - #+BEGIN_SRC text - ~* - #+END_SRC - - And output binaries generated by =gcc= and the likes aren’t welcome either. - #+BEGIN_SRC text - ,*.out - #+END_SRC - -** i3 configuration - :PROPERTIES: - :CUSTOM_ID: h-c918e370-d867-412c-8b0e-078e4e3772e0 - :END: - The i3 configuration is detailed in its corresponding README which you can - find at [[file:.config/i3/README.org][.config/i3/README.org]]. - -** Nano +* Neat, what’s the license? :PROPERTIES: - :CUSTOM_ID: h-1724166b-55b7-4a64-9ff1-47c2a9e76f46 - :END: - Although it is a very simple piece of software, nano does offer some - customization. Mine can be found in my [[file:~/org/config-website/nano.org][nano.org]] file. - -** Rustfmt - :PROPERTIES: - :CUSTOM_ID: h-0ae9005c-76a6-49f6-947c-0c8464616e10 - :HEADER-ARGS: :tangle ~/.rustfmt.toml - :END: - In my [[file:.rustfmt.toml][.rustfmt.toml]], you can find some custom rules on how my Rust code - should be formatted. - - First, we are using the 2018 edition of Rust. - #+BEGIN_SRC toml - edition = "2018" - #+END_SRC - - The maximum length of enum variant having discriminant, that gets vertically - aligned with others. Variants without discriminants would be ignored for the - purpose of alignment. - - Note that this is not how much whitespace is inserted, but instead the - longest variant name that doesn't get ignored when aligning. - #+BEGIN_SRC toml - enum_discrim_align_threshold = 20 - #+END_SRC - - Put single-expression functions on a single line. - #+BEGIN_SRC toml - fn_single_line = true - #+END_SRC - - Format code snippet included in doc comments. - #+BEGIN_SRC toml - format_code_in_doc_comments = true - #+END_SRC - - Format string literals where necessary. - #+BEGIN_SRC toml - format_strings = true - #+END_SRC - - Use tab characters for indentation, spaces for alignment. - #+BEGIN_SRC toml - hard_tabs = true - #+END_SRC - - Maximum width of each line - #+BEGIN_SRC toml - max_width = 80 - #+END_SRC - - Merge multiple imports into a single nested import. - #+BEGIN_SRC toml - merge_imports = true - #+END_SRC - - My newline style will always be Unix. - #+BEGIN_SRC toml - newline_style = Unix - #+END_SRC - - Convert =/* */= comments to =//= comments where possible. - #+BEGIN_SRC toml - normalize_comments = true - #+END_SRC - - Convert =#![doc]= and =#[doc]= attributes to =//!= and =///= doc comments. - #+BEGIN_SRC toml - normalize_doc_attributes = true - #+END_SRC - - Reorder impl items. =type= and =const= are put first, then macros and - methods. - #+BEGIN_SRC toml - reorder_impl_items = true - #+END_SRC - - Report =FIXME= items in comments. - #+BEGIN_SRC toml - report_fixme = "Always" - #+END_SRC - - Report =TODO= items in comments. - #+BEGIN_SRC toml - todo = "Always" - #+END_SRC - - The maximum diff of width between struct fields to be aligned with each - other. - #+BEGIN_SRC toml - struct_field_align_threshold = 20 - #+END_SRC - - Number of spaces per tab. - #+BEGIN_SRC toml - tab_spaces = 2 - #+END_SRC - - Break comments to fit on the line. - #+BEGIN_SRC toml - wrap_comments = true - #+END_SRC - -** Tmux configuration - :PROPERTIES: - :CUSTOM_ID: h-4f48b912-b67b-4549-a671-802e76221f46 - :END: - You can find my tmux configuration in [[file:tmux.org][tmux.org]]. It depends on the submodule - [[https://github.com/gpakosz/.tmux.git][.tmux]] by [[https://pempek.net/][Gregory Pakosz]]. - -** Xresources - :PROPERTIES: - :CUSTOM_ID: h-e6f48975-3b86-4a75-a7e5-5cc9edbd9869 - :HEADER-ARGS: :tangle ~/.Xresources :exports code - :END: - My Xresources file is very short. Indeed, it only contains two lines which - are dedicated to my =st= terminal to set its font and shell. The font is set - as follows. - #+BEGIN_SRC conf - st.font: Source Code Pro for Powerline:style=book - #+END_SRC - And I will set my shell like this: - #+BEGIN_SRC conf - st.shell: /usr/bin/fish - #+END_SRC - - I used to have lines dedicated to UXTerm and URxvt, but I cast them out of my - system. - -* Dependencies - :PROPERTIES: - :CUSTOM_ID: h-5849dbcf-a650-4323-9a90-bec549a7b982 - :END: - Of course, some dependencies are needed for my dotfiles to work well. Here is - a non-exhaustive list of software needed by these configuration files: - - [[https://www.gnu.org/software/emacs/][GNU/Emacs]] >= 26.2 - - [[http://spacemacs.org][Spacemacs]] (develop branch) - - My [[https://labs.phundrak.com/phundrak/conlang-layer][conlanging layer]] - - [[https://github.com/venmos/w3m-layer][Venmos]]’ [[https://github.com/venmos/w3m-layer][w3m layer]] - - The [[https://fishshell.com/][Fish shell]], using [[https://github.com/jorgebucaran/fisher][fisher]] - - [[https://lukesmith.xyz/][Luke Smith]]’s [[https://github.com/LukeSmithxyz/st][fork]] of [[https://st.suckless.org/][st]] - - [[https://resloved.info/][Resloved]]’s [[https://github.com/resloved/i3][i3-gaps-rounded]] fork of [[https://github.com/Airblader/i3][Airblader]]’s [[https://github.com/Airblader/i3][i3-gaps]], itself a fork of [[https://i3wm.org/][i3]] - - [[https://github.com/yshui/compton][Compton]], more specificaly [[https://github.com/tryone144/compton][Tryone]]’s [[https://github.com/tryone144/compton][fork]] - - [[https://github.com/dylanaraps/pywal/][pywal]] - - [[https://tools.suckless.org/dmenu/][dmenu]] - - [[https://github.com/enkore/j4-dmenu-desktop][j4-dmenu-desktop]] - - [[https://github.com/davatorium/rofi][Rofi]] - - [[https://github.com/gpoore/minted][minted]] - - [[https://www.rust-lang.org/][Rust]] (stable and nightly) - - [[https://www.latex-project.org/][LaTeX]] and [[http://xetex.sourceforge.net/][XeTeX]] (=texlive= packages on Arch Linux) - - [[https://github.com/tmux/tmux][tmux]], based on [[https://github.com/gpakosz/.tmux][this repo]]’s configuration by [[https://pempek.net/][Grégory Pakosz]]. - - And a bunch of other stuff, see below - And some other stuff scattered around in my dotfiles. - - BTW, I use Arch. - -* Installation - :PROPERTIES: - :CUSTOM_ID: h-bfb2e09b-d5d7-4d6f-8b29-763c49b3fd09 - :END: - For an installation walkthrough of my Arch Linux installation, check out my - [[file:installation.org][installation.org]] file where I walk you through the first manual steps and - through the bootstrap you can execute to automatically take care of a lot of - elements. - -* Licence - :PROPERTIES: - :CUSTOM_ID: h-a3438126-ee60-4f11-a2f6-f52e49dade59 + :CUSTOM_ID: h-fc461244-3932-4680-88bc-73dc5e175213 :END: All of my dotfiles (and my dotfiles only) are available under the GNU GPLv3 Licence. Please consult [[file:LICENCE.md]] for more information. In short: you diff --git a/img b/img index 36acd98..39fe28c 120000 --- a/img +++ b/img @@ -1 +1 @@ -/home/phundrak/org/config-website/img \ No newline at end of file +/home/phundrak/org/config/img \ No newline at end of file diff --git a/org/config-website/index.org b/org/config-website/index.org deleted file mode 120000 index 2e89921..0000000 --- a/org/config-website/index.org +++ /dev/null @@ -1 +0,0 @@ -/home/phundrak/README.org \ No newline at end of file diff --git a/org/config-website/bin.org b/org/config/bin.org similarity index 100% rename from org/config-website/bin.org rename to org/config/bin.org diff --git a/org/config-website/fish.org b/org/config/fish.org similarity index 100% rename from org/config-website/fish.org rename to org/config/fish.org diff --git a/org/config-website/headers.org b/org/config/headers.org similarity index 62% rename from org/config-website/headers.org rename to org/config/headers.org index d531a68..f92656b 100644 --- a/org/config-website/headers.org +++ b/org/config/headers.org @@ -1,27 +1,13 @@ #+AUTHOR: Lucien Cartier-Tilet #+EMAIL: lucien@phundrak.com #+CREATOR: Lucien Cartier-Tilet -#+LANGUAGE: fr +#+LANGUAGE: en # ### ORG OPTIONS ############################################################## -#+OPTIONS: H:4 broken_links:mark email:t ^:{} tex:dvisvgm +#+OPTIONS: H:4 broken_links:mark email:t ^:{} #+KEYWORDS: dotfiles linux emacs configuration phundrak drakpa -# ### LaTeX #################################################################### - -#+LATEX_CLASS: conlang -#+LaTeX_CLASS_OPTIONS: [a4paper,twoside] -#+LATEX_HEADER_EXTRA: \usepackage{xltxtra} -#+LATEX_HEADER_EXTRA: \usepackage[total={17cm,24cm}]{geometry} -#+LATEX_HEADER_EXTRA: \setmainfont{Charis SIL} -#+LATEX_HEADER_EXTRA: \usepackage{newunicodechar} -#+LATEX_HEADER_EXTRA: \newunicodechar{’}{'} -#+LATEX_HEADER_EXTRA: \usepackage{xcolor} -#+LATEX_HEADER_EXTRA: \usepackage{hyperref} -#+LATEX_HEADER_EXTRA: \hypersetup{colorlinks=true,linkbordercolor=red,linkcolor=blue,pdfborderstyle={/S/U/W 1}} -#+LATEX_HEADER_EXTRA: \usepackage{indentfirst} - # ### HTML ##################################################################### #+HTML_DOCTYPE: html5 @@ -41,9 +27,3 @@ # ### MACROS ################################################################### #+MACRO: newline @@latex:\hspace{0pt}\\@@ @@html:
@@ -#+MACRO: newpage @@latex:\newpage@@ -#+MACRO: latex-html @@latex:$1@@@@html:$2@@ -#+MACRO: phon @@latex:/$1/@@@@html:/$1/@@@@ascii:/$1/@@ -#+MACRO: v @@latex:\rotatebox[origin=c]{270}{$1}@@@@html:$1@@ -#+MACRO: begin-largetable @@html:
@@ -#+MACRO: end-largetable @@html:
@@ diff --git a/org/config-website/i3.org b/org/config/i3.org similarity index 100% rename from org/config-website/i3.org rename to org/config/i3.org diff --git a/org/config-website/img/emacs.png b/org/config/img/emacs.png similarity index 100% rename from org/config-website/img/emacs.png rename to org/config/img/emacs.png diff --git a/org/config-website/img/neofetch.png b/org/config/img/neofetch.png similarity index 100% rename from org/config-website/img/neofetch.png rename to org/config/img/neofetch.png diff --git a/org/config-website/img/rofi.png b/org/config/img/rofi.png similarity index 100% rename from org/config-website/img/rofi.png rename to org/config/img/rofi.png diff --git a/org/config/index.org b/org/config/index.org new file mode 100644 index 0000000..7d3a102 --- /dev/null +++ b/org/config/index.org @@ -0,0 +1,326 @@ +#+TITLE: Phundrak’s dotfiles +#+INCLUDE: ~/org/config-website/headers.org +#+OPTIONS: auto-id:t +#+HTML_HEAD_EXTRA: +#+HTML_HEAD_EXTRA: +#+HTML_HEAD_EXTRA: + +* Table of Contents :TOC:noexport: + :PROPERTIES: + :CUSTOM_ID: h-400070eb-725f-4416-a4c6-da3053df750b + :END: +- [[#presentation][Presentation]] +- [[#screenshots][Screenshots]] +- [[#features][Features]] + - [[#custom-scripts-in-path][Custom scripts in =PATH=]] + - [[#emacs-configuration][Emacs configuration]] + - [[#email-signature][Email signature]] + - [[#fish-configuration-with-useful-abbreviations][Fish configuration with useful abbreviations]] + - [[#global-gitignore][Global gitignore]] + - [[#i3-configuration][i3 configuration]] + - [[#nano][Nano]] + - [[#rustfmt][Rustfmt]] + - [[#tmux-configuration][Tmux configuration]] + - [[#xresources][Xresources]] +- [[#dependencies][Dependencies]] +- [[#installation][Installation]] +- [[#licence][Licence]] + +* Presentation + :PROPERTIES: + :CUSTOM_ID: h-536e69f5-c012-4b7d-8a45-3a340d3bc7ee + :END: + [[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]] + + This is my collection of dotfiles for my daily GNU/Linux environment, tweaked + to my liking. If you wish to get the same setup as mine, follow the + instructions below. + + As you can see, I personally use [[https://fishshell.com/][fish]] as my shell of choice, and [[https://www.gnu.org/software/emacs/][Emacs]] using + [[http://spacemacs.org][Spacemacs]] (still with Emacs keybinding) as my main text editor. + + I also use [[https://github.com/resloved/i3][Resloved]]’s [[https://github.com/resloved/i3][fork]] of [[https://github.com/Airblader/i3][i3-gaps]] with two [[https://github.com/jaagr/polybar][polybar]] bars and [[https://github.com/tryone144][Tryone144]]’s + [[https://github.com/tryone144/compton][fork]] of [[https://github.com/chjj/compton][Compton]]. The colors scheme for [[https://github.com/davatorium/rofi][rofi]], Emacs and polybar are chosen from + the wallpapers using [[https://github.com/dylanaraps/pywal][pywal]]. + +* Screenshots + :PROPERTIES: + :CUSTOM_ID: h-ee37502b-09a4-4668-88e2-1d4406252bd2 + :END: + + #+ATTR_HTML: :width 100% + #+CAPTION: Desktop with Neofetch in the terminal + [[./img/neofetch.png]] + + #+CAPTION: Desktop with Emacs opened + #+ATTR_HTML: :width 100% + [[./img/emacs.png]] + + #+CAPTION: Desktop with Rofi + #+ATTR_HTML: :width 100% + [[./img/rofi.png]] + +* Features + :PROPERTIES: + :CUSTOM_ID: h-8539dd6f-4fcb-4dc7-a3ef-b8ad198c91d4 + :END: + - Emacs configuration perfectly tailored for my own use + - Beautiful and comfy i3 and polybar configuration + - And enough information below to get basically the same distro install as I + have on my main computer and my travel laptop. + + Most of the org files you will find in this repos are the actual source code + of much of my config files. For instance, the bootstrap found in + [[file:installation.org][installation.org]] exports almost all of its code snippets to + [[file:.config/yadm/bootstrap][.config/yadm/bootstrap]] thanks to =M-x org-babel-tangle= from within Emacs. + Below I will also present and comment some of my short config files which do + not deserve to have a full org file dedicated to them. + +** Custom scripts in =PATH= + :PROPERTIES: + :CUSTOM_ID: h-d582e107-fa66-4f79-869e-2b49116ed1ec + :END: + I have written some scripts that help me daily accomplish some simple tasks, + like mounting and unmounting a drive or Android device, an emoji picker, a + utility to set up my Wacom tablet, and so on. You can find them stored in + [[file:.local/bin/README.org][.local/bin]] along with their detailed explanation in the README placed in the + same folder —which is actually their source code once the org-mode file gets + tangled. + +** Emacs configuration + :PROPERTIES: + :CUSTOM_ID: h-f6d2561f-5c02-4540-8287-4acf3037b3d5 + :END: + Emacs is my main text editor, which I use for almost everything. Because, you + know… + #+begin_quote + Emacs is a great operating system, it just lacks a good text editor. + #+end_quote + You can find my Emacs config, based on Spacemacs, in my [[https://labs.phundrak.com/phundrak/dotfiles/src/branch/master/.spacemacs][.spacemacs]] file, and + my user configuration in my [[file:~/org/config-website/spacemacs.org][spacemacs.org]] file. + +** Email signature + :PROPERTIES: + :CUSTOM_ID: h-f6c48286-a320-493f-b330-ee0a697e6d79 + :HEADER-ARGS: :tangle ~/.signature + :END: + This file gets inserted automatically at the end of my emails. + #+BEGIN_SRC text + Lucien “Phundrak” Cartier-Tilet + https://phundrak.com (Français) + https://en.phundrak.com (English) + + Pensez à notre planète, avez-vous vraiment besoin d’imprimer ce courriel ? + Please mind our planet, do you really need to print this email? + #+END_SRC + +** Fish configuration with useful abbreviations + :PROPERTIES: + :CUSTOM_ID: h-f35ed9a3-c9fc-458c-8a62-693f679f6992 + :END: + You can also find in my Fish shell configuration in my [[file:~/org/config-website/fish.org][fish.org]] file, which + contains my usual abbreviations. + +** Global gitignore + :PROPERTIES: + :CUSTOM_ID: h-4f92eb29-7cfa-48ec-b39d-39037ace3682 + :HEADER-ARGS: :tangle ~/.gitignore_global + :END: + Sometimes, there are some lines that always reappear in gitignores. So, + instead of always adding them, let git now that some elements are to be + ignored by default, hence the [[file:.gitignore_global][~/.gitignore_global]] file. First, we don’t want + nano’s backup files. + #+BEGIN_SRC text + ~* + #+END_SRC + + And output binaries generated by =gcc= and the likes aren’t welcome either. + #+BEGIN_SRC text + ,*.out + #+END_SRC + +** i3 configuration + :PROPERTIES: + :CUSTOM_ID: h-c918e370-d867-412c-8b0e-078e4e3772e0 + :END: + The i3 configuration is detailed in its corresponding README which you can + find at [[file:.config/i3/README.org][.config/i3/README.org]]. + +** Nano + :PROPERTIES: + :CUSTOM_ID: h-1724166b-55b7-4a64-9ff1-47c2a9e76f46 + :END: + Although it is a very simple piece of software, nano does offer some + customization. Mine can be found in my [[file:~/org/config-website/nano.org][nano.org]] file. + +** Rustfmt + :PROPERTIES: + :CUSTOM_ID: h-0ae9005c-76a6-49f6-947c-0c8464616e10 + :HEADER-ARGS: :tangle ~/.rustfmt.toml + :END: + In my [[file:.rustfmt.toml][.rustfmt.toml]], you can find some custom rules on how my Rust code + should be formatted. + + First, we are using the 2018 edition of Rust. + #+BEGIN_SRC toml + edition = "2018" + #+END_SRC + + The maximum length of enum variant having discriminant, that gets vertically + aligned with others. Variants without discriminants would be ignored for the + purpose of alignment. + + Note that this is not how much whitespace is inserted, but instead the + longest variant name that doesn't get ignored when aligning. + #+BEGIN_SRC toml + enum_discrim_align_threshold = 20 + #+END_SRC + + Put single-expression functions on a single line. + #+BEGIN_SRC toml + fn_single_line = true + #+END_SRC + + Format code snippet included in doc comments. + #+BEGIN_SRC toml + format_code_in_doc_comments = true + #+END_SRC + + Format string literals where necessary. + #+BEGIN_SRC toml + format_strings = true + #+END_SRC + + Use tab characters for indentation, spaces for alignment. + #+BEGIN_SRC toml + hard_tabs = true + #+END_SRC + + Maximum width of each line + #+BEGIN_SRC toml + max_width = 80 + #+END_SRC + + Merge multiple imports into a single nested import. + #+BEGIN_SRC toml + merge_imports = true + #+END_SRC + + My newline style will always be Unix. + #+BEGIN_SRC toml + newline_style = Unix + #+END_SRC + + Convert =/* */= comments to =//= comments where possible. + #+BEGIN_SRC toml + normalize_comments = true + #+END_SRC + + Convert =#![doc]= and =#[doc]= attributes to =//!= and =///= doc comments. + #+BEGIN_SRC toml + normalize_doc_attributes = true + #+END_SRC + + Reorder impl items. =type= and =const= are put first, then macros and + methods. + #+BEGIN_SRC toml + reorder_impl_items = true + #+END_SRC + + Report =FIXME= items in comments. + #+BEGIN_SRC toml + report_fixme = "Always" + #+END_SRC + + Report =TODO= items in comments. + #+BEGIN_SRC toml + todo = "Always" + #+END_SRC + + The maximum diff of width between struct fields to be aligned with each + other. + #+BEGIN_SRC toml + struct_field_align_threshold = 20 + #+END_SRC + + Number of spaces per tab. + #+BEGIN_SRC toml + tab_spaces = 2 + #+END_SRC + + Break comments to fit on the line. + #+BEGIN_SRC toml + wrap_comments = true + #+END_SRC + +** Tmux configuration + :PROPERTIES: + :CUSTOM_ID: h-4f48b912-b67b-4549-a671-802e76221f46 + :END: + You can find my tmux configuration in [[file:tmux.org][tmux.org]]. It depends on the submodule + [[https://github.com/gpakosz/.tmux.git][.tmux]] by [[https://pempek.net/][Gregory Pakosz]]. + +** Xresources + :PROPERTIES: + :CUSTOM_ID: h-e6f48975-3b86-4a75-a7e5-5cc9edbd9869 + :HEADER-ARGS: :tangle ~/.Xresources :exports code + :END: + My Xresources file is very short. Indeed, it only contains two lines which + are dedicated to my =st= terminal to set its font and shell. The font is set + as follows. + #+BEGIN_SRC conf + st.font: Source Code Pro for Powerline:style=book + #+END_SRC + And I will set my shell like this: + #+BEGIN_SRC conf + st.shell: /usr/bin/fish + #+END_SRC + + I used to have lines dedicated to UXTerm and URxvt, but I cast them out of my + system. + +* Dependencies + :PROPERTIES: + :CUSTOM_ID: h-5849dbcf-a650-4323-9a90-bec549a7b982 + :END: + Of course, some dependencies are needed for my dotfiles to work well. Here is + a non-exhaustive list of software needed by these configuration files: + - [[https://www.gnu.org/software/emacs/][GNU/Emacs]] >= 26.2 + - [[http://spacemacs.org][Spacemacs]] (develop branch) + - My [[https://labs.phundrak.com/phundrak/conlang-layer][conlanging layer]] + - [[https://github.com/venmos/w3m-layer][Venmos]]’ [[https://github.com/venmos/w3m-layer][w3m layer]] + - The [[https://fishshell.com/][Fish shell]], using [[https://github.com/jorgebucaran/fisher][fisher]] + - [[https://lukesmith.xyz/][Luke Smith]]’s [[https://github.com/LukeSmithxyz/st][fork]] of [[https://st.suckless.org/][st]] + - [[https://resloved.info/][Resloved]]’s [[https://github.com/resloved/i3][i3-gaps-rounded]] fork of [[https://github.com/Airblader/i3][Airblader]]’s [[https://github.com/Airblader/i3][i3-gaps]], itself a fork of [[https://i3wm.org/][i3]] + - [[https://github.com/yshui/compton][Compton]], more specificaly [[https://github.com/tryone144/compton][Tryone]]’s [[https://github.com/tryone144/compton][fork]] + - [[https://github.com/dylanaraps/pywal/][pywal]] + - [[https://tools.suckless.org/dmenu/][dmenu]] + - [[https://github.com/enkore/j4-dmenu-desktop][j4-dmenu-desktop]] + - [[https://github.com/davatorium/rofi][Rofi]] + - [[https://github.com/gpoore/minted][minted]] + - [[https://www.rust-lang.org/][Rust]] (stable and nightly) + - [[https://www.latex-project.org/][LaTeX]] and [[http://xetex.sourceforge.net/][XeTeX]] (=texlive= packages on Arch Linux) + - [[https://github.com/tmux/tmux][tmux]], based on [[https://github.com/gpakosz/.tmux][this repo]]’s configuration by [[https://pempek.net/][Grégory Pakosz]]. + - And a bunch of other stuff, see below + And some other stuff scattered around in my dotfiles. + + BTW, I use Arch. + +* Installation + :PROPERTIES: + :CUSTOM_ID: h-bfb2e09b-d5d7-4d6f-8b29-763c49b3fd09 + :END: + For an installation walkthrough of my Arch Linux installation, check out my + [[file:installation.org][installation.org]] file where I walk you through the first manual steps and + through the bootstrap you can execute to automatically take care of a lot of + elements. + +* Licence + :PROPERTIES: + :CUSTOM_ID: h-a3438126-ee60-4f11-a2f6-f52e49dade59 + :END: + All of my dotfiles (and my dotfiles only) are available under the GNU GPLv3 + Licence. Please consult [[file:LICENCE.md]] for more information. In short: you + are free to access, edit and redistribute all of my dotfiles under the same + licence and as allowed by the licence, and if you fuck up something, it’s your + own responsibility. diff --git a/org/config-website/installation.org b/org/config/installation.org similarity index 100% rename from org/config-website/installation.org rename to org/config/installation.org diff --git a/org/config-website/nano.org b/org/config/nano.org similarity index 100% rename from org/config-website/nano.org rename to org/config/nano.org diff --git a/org/config-website/polybar.org b/org/config/polybar.org similarity index 100% rename from org/config-website/polybar.org rename to org/config/polybar.org diff --git a/org/config-website/spacemacs.org b/org/config/spacemacs.org similarity index 99% rename from org/config-website/spacemacs.org rename to org/config/spacemacs.org index 8dae2eb..cb71f03 100644 --- a/org/config-website/spacemacs.org +++ b/org/config/spacemacs.org @@ -5,6 +5,7 @@ #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: +#+PROPERTY: header-args:emacs-lisp :results silent * Table of Contents :TOC_4_gh:noexport: :PROPERTIES: @@ -2375,7 +2376,7 @@ #+NAME: org-proj-config-html #+BEGIN_SRC emacs-lisp :tangle no ("config-website-org" - :base-directory "~/org/config-website/" + :base-directory "~/org/config/" :base-extension "org" :exclude "\\./\\(CONTRIB\\|head\\|temp\\|svg-ink\\).*" :publishing-directory "/ssh:Naro:~/www/phundrak.com/www/config" @@ -2391,8 +2392,8 @@ #+NAME: org-proj-config-static #+BEGIN_SRC emacs-lisp :tangle no ("config-website-static" - :base-directory "~/org/config-website/" - :base-extension "css\\|scss\\|dart\\|js\\|png\\|jpg\\|gif\\|svg\\|jpeg\\|ttf\\|woff\\|txt\\|epub\\|html" + :base-directory "~/org/config/" + :base-extension "css\\|scss\\|dart\\|js\\|png\\|jpg\\|gif\\|svg\\|jpeg\\|ttf\\|woff\\|txt\\|epub\\|md" :publishing-directory "/ssh:Naro:~/www/phundrak.com/www/config" :recursive t :language "fr" @@ -2550,6 +2551,7 @@ (spacemacs/declare-prefix "ofe" "spacemacs.org") (spacemacs/declare-prefix "off" "fish.org") (spacemacs/declare-prefix "ofi" "i3.org") + (spacemacs/declare-prefix "ofI" "index.org") (spacemacs/declare-prefix "ofp" "polybar.org") (spacemacs/declare-prefix "ofr" "yadm README") (spacemacs/declare-prefix "oi" "insert") @@ -2568,8 +2570,6 @@ (spacemacs/declare-prefix "ox" "text") #+END_SRC - #+RESULTS: - Now, onto the shortcuts: #+BEGIN_SRC emacs-lisp (spacemacs/set-leader-keys @@ -2584,12 +2584,13 @@ "oco" 'outline-minor-mode "od" 'elcord-mode "oF" 'flycheck-mode - "ofb" (lambda () (interactive) (find-file "~/org/config-website/bin.org")) - "ofe" (lambda () (interactive) (find-file "~/org/config-website/spacemacs.org")) - "off" (lambda () (interactive) (find-file "~/org/config-website/fish.org")) - "ofi" (lambda () (interactive) (find-file "~/org/config-website/i3.org")) - "ofp" (lambda () (interactive) (find-file "~/org/config-website/polybar.org")) - "ofr" (lambda () (interactive) (find-file "~/org/config-website/index.org")) + "ofb" (lambda () (interactive) (find-file "~/org/config/bin.org")) + "ofe" (lambda () (interactive) (find-file "~/org/config/spacemacs.org")) + "off" (lambda () (interactive) (find-file "~/org/config/fish.org")) + "ofi" (lambda () (interactive) (find-file "~/org/config/i3.org")) + "ofI" (lambda () (interactive) (find-file "~/org/config/index.org")) + "ofp" (lambda () (interactive) (find-file "~/org/config/polybar.org")) + "ofr" (lambda () (interactive) (find-file "~/README.org")) "ofo" 'find-file-at-point "oii" (lambda () (interactive) (insert "​")) "ome" 'mc/edit-lines @@ -2612,8 +2613,6 @@ "oxf" 'phundrak/fill-paragraph) #+END_SRC - #+RESULTS: - You can notice they all begin with ~o~. This is actually a userspace, and I know these shortcuts won’t conflict with any other packages. These shortcuts, like a lot of Spacemacs shortcuts, can be called with the use of the leader @@ -2627,4 +2626,4 @@ [fn:2] [[https://labs.phundrak.com/phundrak/dotfiles/src/branch/master/.spacemacs][labs.phundrak.com/phundrak/dotfiles/src/branch/master/.spacemacs]] -[fn:1] [[https://labs.phundrak.com/phundrak/dotfiles/src/branch/master/org/config-website/spacemacs.org][labs.phundrak.com/phundrak/dotfiles/src/branch/master/org/config-website/spacemacs.org]] +[fn:1] [[https://labs.phundrak.com/phundrak/dotfiles/src/branch/master/org/config/spacemacs.org][labs.phundrak.com/phundrak/dotfiles/src/branch/master/org/config/spacemacs.org]] diff --git a/org/config-website/tmux.org b/org/config/tmux.org similarity index 100% rename from org/config-website/tmux.org rename to org/config/tmux.org