Compare commits

...

2 Commits

14 changed files with 491 additions and 486 deletions

View File

@ -9,11 +9,10 @@
#+PROPERTY: header-args:lua :tangle ~/.config/awesome/rc.lua :exports code :noweb yes
#+STARTUP: content
* Table of Contents :TOC:noexport:
* Table of Contents :TOC:noexport:
:PROPERTIES:
:CUSTOM_ID: h-fd4262b7-b9e1-49c8-83fd-02207a6388c0
:CUSTOM_ID: Table_of_Contents-1d688dc5
:END:
- [[#introduction][Introduction]]
- [[#loading-libraries][Loading libraries]]
- [[#error-handling][Error handling]]
@ -69,7 +68,7 @@
* Introduction
:PROPERTIES:
:CUSTOM_ID: h-a4b01b3e-dc01-489d-9abc-f2f7f25978c4
:CUSTOM_ID: Introduction-4c41360e
:END:
From the Arch Wiki: awesome is a highly configurable, next generation
framework window manager for Xorg. It is very fast and extensible. It is
@ -88,7 +87,7 @@
* Loading libraries
:PROPERTIES:
:CUSTOM_ID: h-bbe91e08-98a8-4ef3-acfb-def01ba1fb4d
:CUSTOM_ID: Loading_libraries-4df76999
:END:
First of all, some initialization is needed, and this initialization is about
math randomness. So, lets initialize the ~random~ method of the ~math~
@ -159,7 +158,7 @@
* Error handling
:PROPERTIES:
:CUSTOM_ID: h-6c9ab69b-433d-4c99-92a6-0cdc84e7d23f
:CUSTOM_ID: Error_handling-f6a6668f
:END:
This code checks if Awesome encountered an error during startup and fell back
to another config. This code will only ever execute for the fallback config.
@ -190,11 +189,11 @@
* Variable definitions
:PROPERTIES:
:CUSTOM_ID: h-85fcc156-5baf-4c8c-b771-7d7ae0466518
:CUSTOM_ID: Variable_definitions-06b2bcbf
:END:
** Themes
:PROPERTIES:
:CUSTOM_ID: h-b2f0f248-68ba-4bdd-a63d-98ee640b071c
:CUSTOM_ID: Variable_definitions-Themes-591886b4
:END:
With Awesome, it is possible to load or write custom themes in order to give
Awesome a special look that fits the user. I used to load the default theme
@ -203,9 +202,9 @@
*** Creating my own theme (WIP, not yet used)
:PROPERTIES:
:CUSTOM_ID: h-45318187-d57c-4f40-a8c6-fad9d90333eb
:HEADER-ARGS:lua: :tangle ~/.config/awesome/theme/theme.lua :exports code
:HEADER-ARGS:emacs-lisp: :exports none :cache yes
:CUSTOM_ID: Variable_definitions-Themes-Creating_my_own_theme_(WIP,_not_yet_used)-6b2dd694
:END:
Here I will create my own theme, which will be exported to
=~/.config/awesome/theme/theme.lua=. It is based on my former Xresources
@ -220,7 +219,7 @@
**** Loading assets
:PROPERTIES:
:CUSTOM_ID: h-34db58ad-011d-4ebb-892a-6f481ba460aa
:CUSTOM_ID: Variable_definitions-Themes-Creating_my_own_theme_(WIP,_not_yet_used)-Loading_assets-aacbcb76
:END:
So first off, lets load our libraries or anything I might need to import.
First, let's import the ~theme_assets~ module of ~beautiful~, a collection
@ -265,7 +264,7 @@
**** Inherit the default theme
:PROPERTIES:
:CUSTOM_ID: h-bcb7fef1-009d-418d-8903-9196881da791
:CUSTOM_ID: Variable_definitions-Themes-Creating_my_own_theme_(WIP,_not_yet_used)-Inherit_the_default_theme-7ab9fbf2
:END:
Now that I imported what I need, I can get a default theme which I will
later modify:
@ -275,7 +274,7 @@
**** Loading default fonts and colors
:PROPERTIES:
:CUSTOM_ID: h-f95c53b3-42fc-410b-b836-482b10075be3
:CUSTOM_ID: Variable_definitions-Themes-Creating_my_own_theme_(WIP,_not_yet_used)-Loading_default_fonts_and_colors-2c3cd836
:END:
With the default theme loaded, let's modify it! The themes font will be
the same as the one I use for st: Source Code Pro for Powerline
@ -285,7 +284,7 @@
*** Loading the theme
:PROPERTIES:
:CUSTOM_ID: h-27548575-a623-4478-8406-ff23f9d1dce4
:CUSTOM_ID: Variable_definitions-Themes-Loading_the_theme-2f28973c
:END:
Finally, lets load our theme.
#+BEGIN_SRC lua
@ -298,7 +297,7 @@
** Default terminal and text editor
:PROPERTIES:
:CUSTOM_ID: h-a57e91b3-fd2a-4fc4-ac2c-2c8362882163
:CUSTOM_ID: Variable_definitions-Default_terminal_and_text_editor-44b84e20
:END:
The two following variables are set so that I dont need to go over my whole
config file in order to modify which terminal or text editor I use, not that
@ -310,7 +309,7 @@
** Keys
:PROPERTIES:
:CUSTOM_ID: h-d615bb11-b35d-4b7b-af6c-1f8e2fa4c647
:CUSTOM_ID: Variable_definitions-Keys-b8def4ac
:END:
The following declares the default Modkey. Usually, ~Mod4~ is the Super key,
situated between the Ctrl key and the Alt key with a logo (usually Windows).
@ -327,7 +326,7 @@
** Wallpapers directory
:PROPERTIES:
:CUSTOM_ID: h-027a8758-fa96-473f-8ad3-44e07a5e7f4b
:CUSTOM_ID: Variable_definitions-Wallpapers_directory-23b54f4f
:END:
This variable is a variable I personally set for a function described below
in order to have a variable pointing to my wallpaper directory.
@ -337,15 +336,15 @@
* Custom functions
:PROPERTIES:
:CUSTOM_ID: h-7f60dc78-b63b-4523-9c01-331aa78720f2
:CUSTOM_ID: Custom_functions-ed54dbe2
:END:
** Wallpaper-related functions
:PROPERTIES:
:CUSTOM_ID: h-f961557b-1db6-4acd-90dc-0666316bebdb
:CUSTOM_ID: Custom_functions-Wallpaper-related_functions-5912f7dd
:END:
*** Set a random wallpaper
:PROPERTIES:
:CUSTOM_ID: h-9983ae6b-e372-41b7-8cce-08f62781fa81
:CUSTOM_ID: Custom_functions-Wallpaper-related_functions-Set_a_random_wallpaper-104bbeec
:END:
The following function allows the user to get the list of available
wallpapers I have in my wallpapers directory. This depends on the variable
@ -380,7 +379,7 @@
*** Restore previous wallpaper
:PROPERTIES:
:CUSTOM_ID: h-39816309-d36d-4fb1-9c76-942a85b7407b
:CUSTOM_ID: Custom_functions-Wallpaper-related_functions-Restore_previous_wallpaper-8b5bc08c
:END:
I also wrote the following function that will restore the previously set
wallpaper:
@ -394,7 +393,7 @@
** Layout manipulation
:PROPERTIES:
:CUSTOM_ID: h-08050731-281d-4ab8-902e-bcd2e3b3d452
:CUSTOM_ID: Custom_functions-Layout_manipulation-6bc7db06
:END:
The following function is used by a shortcut described below in
[[#h-521b02ca-0ad3-44e8-8d5b-1e75401490da]].
@ -409,7 +408,7 @@
** Clients manipulation
:PROPERTIES:
:CUSTOM_ID: h-37850b12-d82e-4657-b13e-42cc1d4fc2dd
:CUSTOM_ID: Custom_functions-Clients_manipulation-7e958fed
:END:
#+BEGIN_SRC lua
local function restore_minimized_clients()
@ -453,7 +452,7 @@
** Tag manipulation
:PROPERTIES:
:CUSTOM_ID: h-8d449633-cba8-43c3-9000-25d8fbe9204e
:CUSTOM_ID: Custom_functions-Tag_manipulation-5fc67669
:END:
#+BEGIN_SRC lua
local function view_tag_n(i)
@ -499,7 +498,7 @@
** Awesome prompt
:PROPERTIES:
:CUSTOM_ID: h-e2eb6c6f-1efb-451e-90d1-cc6dc217498b
:CUSTOM_ID: Custom_functions-Awesome_prompt-de4fde50
:END:
#+BEGIN_SRC lua
local function invoke_lua_execute_prompt()
@ -514,7 +513,7 @@
* Layouts
:PROPERTIES:
:CUSTOM_ID: h-97ec07e5-68de-4c7e-bdf2-84255c09b552
:CUSTOM_ID: Layouts-be55a7fd
:END:
The following is a list of available windows layouts. I only enable some of
them, and their order in the table is their order in Awesome.
@ -571,7 +570,7 @@
* Top bar
:PROPERTIES:
:CUSTOM_ID: h-cc08d2b1-ac99-4174-9af0-8bdf1f8a3491
:CUSTOM_ID: Top_bar-d3117294
:END:
The top bar in Awesome is declared thanks to a ~wibar~ widget fro the ~awful~
library. It is comprised of several buttons and widgets that will be declared
@ -579,7 +578,7 @@
** Menus
:PROPERTIES:
:CUSTOM_ID: h-1ac72dd7-b8ea-45e6-b220-4462783eb87d
:CUSTOM_ID: Top_bar-Menus-cf468ca8
:END:
#+NAME: make-menu
#+BEGIN_SRC emacs-lisp :var menu=table-awesome-menu
@ -648,7 +647,7 @@
** Other widgets
:PROPERTIES:
:CUSTOM_ID: h-303c5e0d-6afa-45fe-91aa-e0c43e48040d
:CUSTOM_ID: Top_bar-Other_widgets-0b255378
:END:
Lets declare the keyboard map indicator and switcher for the top bar:
#+BEGIN_SRC lua
@ -662,7 +661,7 @@
** Tag list
:PROPERTIES:
:CUSTOM_ID: h-2113b6d4-9160-4d7f-a00e-fcae82c032f1
:CUSTOM_ID: Top_bar-Tag_list-d43dbb62
:END:
In order to create the taglist (an equivalent to workspaces, but better), we
need to create first a local variable that will hold the widget. It will be
@ -746,7 +745,7 @@
** Tasks list
:PROPERTIES:
:CUSTOM_ID: h-b27681ce-499f-49da-b6b9-03443d479626
:CUSTOM_ID: Top_bar-Tasks_list-fb7c9b20
:END:
Similarly to the tag list, the task list can display some special behavior
depending on the clicks it receives. These clicks are set like so:
@ -814,11 +813,11 @@
* Theme and display
:PROPERTIES:
:CUSTOM_ID: h-ffa1d827-89a4-4699-b8a4-830d4bdbc5fe
:CUSTOM_ID: Theme_and_display-6f94bad4
:END:
** Screen update
:PROPERTIES:
:CUSTOM_ID: h-d2d98621-0450-4038-8754-8aae999b1c9d
:CUSTOM_ID: Theme_and_display-Screen_update-e162a27a
:END:
When a screens geometry changes (e.g. when a different resolution is
applied), the signal ~property::geometry~ is sent. When this is the case, the
@ -949,7 +948,7 @@
* Mouse bindings
:PROPERTIES:
:CUSTOM_ID: h-8932afa5-64fe-4549-ac57-ef698dcb7e6c
:CUSTOM_ID: Mouse_bindings-eb4a69a8
:END:
It is possible with Awesome to bind some shortcuts to mouse events when the
mouse is above Awesome itself (not above some client). Only one is set: the
@ -992,7 +991,7 @@
* Keybindings
:PROPERTIES:
:CUSTOM_ID: h-c44e17f7-ef46-4ec1-bd26-ff6bbcd02c65
:CUSTOM_ID: Keybindings-a4e415b3
:END:
Keybindings allow the user to execute some Lua code all across Awesome. They
all bear at least a list of modifier keys, the actual key to be pressed, the
@ -1151,7 +1150,7 @@
** Applications
:PROPERTIES:
:CUSTOM_ID: h-58cc4798-5686-41bb-8c1a-f9e15368255a
:CUSTOM_ID: Keybindings-Applications-8321c6c9
:END:
#+NAME: sc-app
| Key | Modifiers | Lambda? | Action | What it does | Group |
@ -1161,7 +1160,7 @@
*** Internet apps
:PROPERTIES:
:CUSTOM_ID: h-20b7c7c4-3d5e-49b3-b00c-2d0969cb66cc
:CUSTOM_ID: Keybindings-Applications-Internet_apps-87e80705
:END:
#+NAME: sc-app-internet
| Key | Modifiers | Lambda? | Action | What it does | Group |
@ -1171,7 +1170,7 @@
*** Screenshots
:PROPERTIES:
:CUSTOM_ID: h-9c8faf06-1cb1-4d4f-a5d7-ebbf661d8783
:CUSTOM_ID: Keybindings-Applications-Screenshots-fa63a5a5
:END:
#+NAME: sc-app-screenshot
| Key | Modifiers | Lambda? | Action | What it does | Group |
@ -1182,7 +1181,7 @@
*** Emacs
:PROPERTIES:
:CUSTOM_ID: h-88b6af65-a26e-4ea9-8077-7bcc4a81cec0
:CUSTOM_ID: Keybindings-Applications-Emacs-95f8f6a4
:END:
#+NAME: sc-app-emacs
| Key | Modifiers | Lambda? | Action | What it does | Group |
@ -1192,7 +1191,7 @@
*** Rofi
:PROPERTIES:
:CUSTOM_ID: h-68e809b7-83a9-4570-a6f5-e368b47c5619
:CUSTOM_ID: Keybindings-Applications-Rofi-ca998c87
:END:
#+NAME: sc-app-rofi
| Key | Modifiers | Lambda? | Action | What it does | Group |
@ -1210,7 +1209,7 @@
** Awesome
:PROPERTIES:
:CUSTOM_ID: h-e1dbf76d-7c55-4d7d-9bc6-9d95ea9531b2
:CUSTOM_ID: Keybindings-Awesome-7b691e10
:END:
Here will be declared some shortcuts directly related to Awesome itself.
#+NAME: sc-awesome
@ -1229,7 +1228,7 @@
** Clients
:PROPERTIES:
:CUSTOM_ID: h-521b02ca-0ad3-44e8-8d5b-1e75401490da
:CUSTOM_ID: Keybindings-Clients-f9f96d60
:END:
These shortcuts are related to clients (aka windows) management.
#+NAME: sc-client
@ -1258,7 +1257,7 @@
** Layout manipulation
:PROPERTIES:
:CUSTOM_ID: h-4197bf08-bf4f-4f24-9d9d-333416bec7ef
:CUSTOM_ID: Keybindings-Layout_manipulation-648b4581
:END:
#+NAME: sc-layout
| Key | Modifiers | Lambda? | Action | What it does | Group |
@ -1274,7 +1273,7 @@
** Media
:PROPERTIES:
:CUSTOM_ID: h-78ca2ce5-3d6b-4361-8613-1a7b1695c851
:CUSTOM_ID: Keybindings-Media-f2cc1324
:END:
#+NAME: sc-media
| Key | Modifiers | Lambda? | Action | What it does | Group |
@ -1303,7 +1302,7 @@
** Screen
:PROPERTIES:
:CUSTOM_ID: h-f47d70cd-c9d3-41f1-89d1-e7dcbf593e97
:CUSTOM_ID: Keybindings-Screen-b73991f0
:END:
#+NAME: sc-screen
| Key | Modifiers | Lambda? | Action | What it does | Group |
@ -1318,7 +1317,7 @@
** Tags
:PROPERTIES:
:CUSTOM_ID: h-cf656040-b21a-4c11-a6ed-e99ea73c861c
:CUSTOM_ID: Keybindings-Tags-3424b757
:END:
#+NAME: sc-tag
| Key | Modifiers | Lambda? | Action | What it does | Group |
@ -1340,7 +1339,7 @@
* Rules
:PROPERTIES:
:CUSTOM_ID: h-972e7966-6adf-41bc-9ab3-e58725b93f7c
:CUSTOM_ID: Rules-c6142cdf
:END:
With ~awful.rules~, users are able to describe some rules for window clients
when the latter spawn, such as their placement, their properties or even
@ -1367,7 +1366,7 @@
** Universal rules
:PROPERTIES:
:CUSTOM_ID: h-7311bbcd-c169-4b70-bf09-d1870afe1aa4
:CUSTOM_ID: Rules-Universal_rules-50aad2ce
:END:
The first rule is a universal rule which will match all clients, as you can
see with its syntax below:
@ -1427,7 +1426,7 @@
** Floating clients
:PROPERTIES:
:CUSTOM_ID: h-9ba9a5a6-d98a-4c9c-8a7d-62e4ab546424
:CUSTOM_ID: Rules-Floating_clients-49ab582e
:END:
Some clients will be declared by default as floating windows. For this, we
will declare a rule that will match any of the provided conditions:
@ -1468,7 +1467,7 @@
** Titlebars
:PROPERTIES:
:CUSTOM_ID: h-c6ae6b03-92c0-428d-9b0f-831cec7257d9
:CUSTOM_ID: Rules-Titlebars-b532fdba
:END:
Any normal or dialog client will get a titlebar. This is enabled like so:
#+NAME: rules-titlebars
@ -1480,7 +1479,7 @@
** Default tag for clients
:PROPERTIES:
:CUSTOM_ID: h-5d846dc4-bbdc-4270-b0fc-44c9dbdaf35f
:CUSTOM_ID: Rules-Default_tag_for_clients-6ded2a47
:END:
With the use of some rules, it is possible to define which client are
assigned to which tag by default.
@ -1519,14 +1518,14 @@
* Signals
:PROPERTIES:
:CUSTOM_ID: h-a7ab2551-7c6f-498f-926c-b6f8c5564d68
:CUSTOM_ID: Signals-e32971d6
:END:
Signals are a way for Awesome to handle events, such as client creation or
deletion.
** Client creation
:PROPERTIES:
:CUSTOM_ID: h-9eead015-e1f3-4594-b0fa-d5275a502a87
:CUSTOM_ID: Signals-Client_creation-8048ac12
:END:
When a new client is created, the ~manage~ signal is emited. When so, the
following snippet ensures this new client is not off the screen, unless its
@ -1545,7 +1544,7 @@
** Titlebar creation
:PROPERTIES:
:CUSTOM_ID: h-506d0716-ffba-4b16-9bac-6aede468b642
:CUSTOM_ID: Signals-Titlebar_creation-3b1aaa14
:END:
It is possible for Awesome to send request signals, such as the request to
create titlebar (generally for new clients). The following snippet handles
@ -1632,7 +1631,7 @@
** Changes of focus
:PROPERTIES:
:CUSTOM_ID: h-b86fa83c-0266-4b7a-a77b-42ad50efbd1f
:CUSTOM_ID: Signals-Changes_of_focus-1b73902c
:END:
The default Awesome configuration enables the following snippet of code that
makes windows hovered by the users mouse focused. Just for completeness
@ -1655,7 +1654,7 @@
* Autostart
:PROPERTIES:
:CUSTOM_ID: h-62e6ce88-26c9-4aca-9578-aaa06cd69e2e
:CUSTOM_ID: Autostart-f2cf42fe
:END:
By simply adding a line requesting to spawn a command, it is possible to
create some autolaunch. All of my autolaunched apps are launch through the
@ -1699,17 +1698,17 @@
* What to do now :noexport:
:PROPERTIES:
:CUSTOM_ID: h-4668503f-07ec-4781-a4d1-671f7e6b5821
:CUSTOM_ID: What_to_do_now-bce61fe1
:END:
** DONE Error on S-q
CLOSED: [2020-04-12 dim. 15:47]
:PROPERTIES:
:CUSTOM_ID: h-828e67df-7fba-4524-95d5-9e505023cb4a
:CUSTOM_ID: What_to_do_now-Error_on_S-q-beea9b99
:END:
~attempt to index a nil value (global 'c')~
** TODO Make custom theme
:PROPERTIES:
:CUSTOM_ID: h-9f6ad3d4-2581-43f1-ab0a-8903479e26e2
:CUSTOM_ID: What_to_do_now-Make_custom_theme-5837307e
:END:

View File

@ -9,7 +9,7 @@
* Table of Contents :TOC:noexport:
:PROPERTIES:
:CUSTOM_ID: h-400070eb-725f-4416-a4c6-da3053df750b
:CUSTOM_ID: Table_of_Contents-0e46298a
:END:
- [[#presentation][Presentation]]
- [[#4chandl][4chandl]]
@ -56,7 +56,7 @@
* Presentation
:PROPERTIES:
:CUSTOM_ID: h-309d8596-c35e-4700-a174-13f40884940d
:CUSTOM_ID: Presentation-721f3cc4
:END:
This file will present all the executable scripts I wrote. It is also their
original source code, all the following code snippets are exported and tangled
@ -80,8 +80,8 @@
* 4chandl
:PROPERTIES:
:CUSTOM_ID: h-39e14885-9da7-4cba-b24e-c3b181ef5f6b
:HEADER-ARGS: :tangle ~/.local/bin/4chandl
:CUSTOM_ID: 4chandl-21ff428f
:END:
Usage: =4chandl [ URL TO THREAD ]=
@ -151,8 +151,8 @@
* awiki
:PROPERTIES:
:CUSTOM_ID: h-340e487c-152a-459a-8da5-6f597e67abd3
:HEADER-ARGS: :tangle ~/.local/bin/awiki
:CUSTOM_ID: awiki-7ac5e1d5
:END:
~awiki~ is a simple script used with ~rofi~ that relies on the
~arch-wiki-docs~ package in order to provide the user a way to quickly find
@ -184,8 +184,8 @@
* Askpass
:PROPERTIES:
:CUSTOM_ID: h-b2bef089-69e3-4efb-ac2f-a5eb6a3a80e8
:HEADER-ARGS: :tangle ~/.local/bin/askpass
:CUSTOM_ID: Askpass-d0d7a8c0
:END:
Askpass is a simple script that invokes ~rofi~ as a way to get from a GUI the
users sudo password. It is inspired by [[https://github.com/ODEX-TOS/tools/blob/master/rofi/askpass][this original tool]], rewritten in fish
@ -198,8 +198,8 @@
* Backup
:PROPERTIES:
:CUSTOM_ID: h-30cb6655-382f-492a-a005-df15512ab7a5
:HEADER-ARGS: :tangle ~/.local/bin/backup
:CUSTOM_ID: Backup-68c7c63e
:END:
~backup~ is a very simple, oneliner script that will create a local copy of a
file and add the date at which it was copied in the filename. You can see its
@ -212,7 +212,7 @@
* ConnectWifi
:PROPERTIES:
:HEADER-ARGS: :tangle ~/.local/bin/connect-wifi
:CUSTOM_ID: h-7a958906-1f79-448f-95b3-7226bc80e88c
:CUSTOM_ID: ConnectWifi-16e5e24a
:END:
~connect-wifi~ is a small utility tool that allows the user to connect to
available WiFi networks. The first thing to do is to select the WiFi we want
@ -236,13 +236,13 @@
** TODO fix it
:PROPERTIES:
:CUSTOM_ID: h-15c1dbea-fb23-405e-9a73-1039412ebd97
:CUSTOM_ID: ConnectWifi-fix_it-a4b11503
:END:
* Cppnew
:PROPERTIES:
:CUSTOM_ID: h-264945df-fe7a-4f9d-845a-9cc26c196f4b
:HEADER-ARGS: :tangle ~/.local/bin/cppnew
:CUSTOM_ID: Cppnew-964e697b
:END:
=cppnew= is a small utility that helps you create a new C++ project. Several
templates are available, the default one using CMake, and three others that
@ -273,8 +273,8 @@
* Cnew
:PROPERTIES:
:CUSTOM_ID: h-a4ccdc0f-6813-4207-9479-4d68296f5fdb
:HEADER-ARGS: :tangle ~/.local/bin/cnew
:CUSTOM_ID: Cnew-d9ec9cc4
:END:
=cnew= is a small utility script similar to but simpler than cppnew that
creates a CMake template C project from the template that already exists in
@ -340,8 +340,8 @@
* Dart Language Server
:PROPERTIES:
:CUSTOM_ID: h-771896e9-ab96-4158-af0b-1fcbef9ab969
:HEADER-ARGS: :tangle ~/.local/bin/dart_language_server
:CUSTOM_ID: Dart_Language_Server-18c256b1
:END:
Spacemacs' recommendations on how to use Dart with LSP is outdated, since
[[https://github.com/natebosch/dart_language_server][=dart_language_server=]] is obsolete. As recommended by the repo owner, we
@ -355,8 +355,8 @@
* Dmenu
:PROPERTIES:
:CUSTOM_ID: h-50623ecd-b633-4af7-9cc4-5a032f01d1ee
:HEADER-ARGS: :tangle ~/.local/bin/dmenu
:CUSTOM_ID: Dmenu-527edf04
:END:
I wrote this very simple script in order to replace =dmenu= with rofis
emulation of dmenu, since I prefer rofis appearance. It basically calls
@ -369,7 +369,7 @@
* Emacsmail
:PROPERTIES:
:HEADER-ARGS: :tangle ~/.local/bin/emacsmail
:CUSTOM_ID: h-38a20359-28fb-412d-bf83-e2202d04f75f
:CUSTOM_ID: Emacsmail-afffb7cd
:END:
This short script is used in my =~/.local/share/applications/mu4e.desktop=
file in order to send to Emacs any ~mailto:~ requests made in my system.
@ -380,8 +380,8 @@
* Emoji picker
:PROPERTIES:
:CUSTOM_ID: h-477cd486-c9a6-4d59-bd9d-62d8f08ee62d
:HEADER-ARGS: :tangle ~/.local/bin/rofi-emoji
:CUSTOM_ID: Emoji_picker-a1c374ec
:END:
The emoji picker is a simple fish script that uses rofi and
[[file:~/.config/emoji.txt][~/.config/emoji.txt]] to provide a small, local search for emojis. Once the
@ -404,8 +404,8 @@
* Lock
:PROPERTIES:
:CUSTOM_ID: h-320c559f-b8a3-4ce2-956c-90987b4c224c
:HEADER-ARGS: :tangle ~/.local/bin/lock
:CUSTOM_ID: Lock-635fcb38
:END:
~lock~ is a simple script that locks the screen with ~i3lock~ while setting as
the background image of the locked screen a corrupted screenshot of the screen
@ -422,7 +422,7 @@
* mp42webm
:PROPERTIES:
:HEADER-ARGS: :tangle ~/.local/bin/mp42webm
:CUSTOM_ID: h-29b8a01c-7499-4a35-be25-f5a593bf40ea
:CUSTOM_ID: mp42webm-aeacca58
:END:
This function allows me to convert easily an mp4 video to the webm format.
Nothing too fancy here.
@ -434,14 +434,14 @@
* Pinfo
:PROPERTIES:
:HEADER-ARGS: :tangle ~/.local/bin/pinfo
:CUSTOM_ID: h-da11c9a4-732c-40f8-b98f-2bcfe297a6aa
:CUSTOM_ID: Pinfo-f3644596
:END:
~pinfo~ is a utility that shows system information
* Polybar-launch
:PROPERTIES:
:CUSTOM_ID: h-68587918-879b-42db-b304-901d01233f95
:HEADER-ARGS: :tangle ~/.local/bin/polybar-launch
:CUSTOM_ID: Polybar-launch-36789edc
:END:
This scripts allows the user to kill polybar and relaunch it, or to simply
launch it if polybar isnt launched yet. This script is a bash script, so
@ -483,7 +483,7 @@
* Rofi-mount
:PROPERTIES:
:HEADER-ARGS: :tangle ~/.local/bin/rofi-mount
:CUSTOM_ID: h-32ee4a66-e7fb-4abf-a168-fa259efdb1f4
:CUSTOM_ID: Rofi-mount-ebbebf68
:END:
=rofimount= is a script inspired by [[https://github.com/ihebchagra/dotfiles/blob/master/.local/bin/dmount][this one]], based on dmenu, which
interactively asks the user what to mount, and where to mount it. What I did
@ -496,7 +496,7 @@
** Get the mountable elements
:PROPERTIES:
:CUSTOM_ID: h-2307005f-385e-4149-b885-55e699c822bb
:CUSTOM_ID: Rofi-mount-Get_the_mountable_elements-24db7834
:END:
#+BEGIN_SRC fish
begin
@ -558,7 +558,7 @@
** Get the mount point
:PROPERTIES:
:CUSTOM_ID: h-a17825bd-96e2-4c90-99ef-b0f2895cffb6
:CUSTOM_ID: Rofi-mount-Get_the_mount_point-6c4bac06
:END:
Now, lets declare a function that will allow us to chose the drive we want
to mount.
@ -606,7 +606,7 @@
** Mount a USB drive, hard drive or partition
:PROPERTIES:
:CUSTOM_ID: h-72781187-ebf2-418c-99b3-bba44922fc60
:CUSTOM_ID: Rofi-mount-Mount_a_USB_drive,_hard_drive_or_partition-f5431dbe
:END:
Alright, we want to mount a partition that answers by the name of
=/dev/sdXX=, how do we do that? Lets create first the function =mountusb=
@ -686,7 +686,7 @@
** Mount an Android device
:PROPERTIES:
:CUSTOM_ID: h-af36260f-2c00-43b7-9383-5235ebac9b51
:CUSTOM_ID: Rofi-mount-Mount_an_Android_device-5321f9cd
:END:
The function that manages to mount Android filesystems is =mountandroid=.
Lets declare it.
@ -741,7 +741,7 @@
** Mount a CD drive
:PROPERTIES:
:CUSTOM_ID: h-73ff10ea-10aa-4044-9315-2321fff73c3f
:CUSTOM_ID: Rofi-mount-Mount_a_CD_drive-27278199
:END:
This part is way easier than the previous functions. As we will see, the
function =mountcd='s body is only three lines long. First, lets declare the
@ -774,7 +774,7 @@
** Ask what type of drive we want to mount
:PROPERTIES:
:CUSTOM_ID: h-0bc6ffba-5c45-44e5-a3d3-039a8ea43905
:CUSTOM_ID: Rofi-mount-Ask_what_type_of_drive_we_want_to_mount-0c15cffa
:END:
The first thing we will be asked if different types of drives are detected is
which of these types the user wishes to mount. This is done with the function
@ -816,7 +816,7 @@
** Launch the mounting functions
:PROPERTIES:
:CUSTOM_ID: h-646dc678-4d87-4fec-8130-5d7d0fc16756
:CUSTOM_ID: Rofi-mount-Launch_the_mounting_functions-218ad001
:END:
Now that we have declared our functions and set our variables, well read the
temporary file described in [[#h-2307005f-385e-4149-b885-55e699c822bb][Get the mountable elements]]. The amount of lines
@ -875,7 +875,7 @@
* Rofi-pass
:PROPERTIES:
:HEADER-ARGS: :tangle ~/.local/bin/rofi-pass
:CUSTOM_ID: h-a52876ed-351b-400a-b250-d93aab27e0c8
:CUSTOM_ID: Rofi-pass-8335357f
:END:
=rofi-pass= is a simple utility that gets a password stored in the [[https://www.passwordstore.org/][=pass=]]
password manager with rofi as its interface, and then stores the password in
@ -957,8 +957,8 @@
* Rofi-umount
:PROPERTIES:
:CUSTOM_ID: h-68a1f671-5dc6-4120-81c8-c94fffa7d7a3
:HEADER-ARGS: :tangle ~/.local/bin/rofi-umount
:CUSTOM_ID: Rofi-umount-ddde1667
:END:
=rofiumount= is the counterpart of =rofimount= for unmounting our mounted
partitions. It is a fish script, so lets declare it as that with its shebang.
@ -968,7 +968,7 @@
** Get the unmountable drives
:PROPERTIES:
:CUSTOM_ID: h-dab41471-4f69-4be8-8d77-58ccc604e4e2
:CUSTOM_ID: Rofi-umount-Get_the_unmountable_drives-89c71040
:END:
First, we will need to list all the drives that can be safely unmounted.
Lets run this.
@ -1008,7 +1008,7 @@
** Unmount disk partitions
:PROPERTIES:
:CUSTOM_ID: h-01c37335-5ae8-484f-911a-a08cc4679398
:CUSTOM_ID: Rofi-umount-Unmount_disk_partitions-0d425a47
:END:
The function =unmountusb= will take care of unmounting any drive we can
safely unmount. First, lets declare the function.
@ -1043,7 +1043,7 @@
** Unmount Android device
:PROPERTIES:
:CUSTOM_ID: h-d7d2a12e-c759-4dbe-a17b-bb90c514dca2
:CUSTOM_ID: Rofi-umount-Unmount_Android_device-ae1d5904
:END:
The function =unmountandroid= will take care of unmounting any mounted
Android device. First, lets declare our function.
@ -1075,7 +1075,7 @@
** Unmount CD drive
:PROPERTIES:
:CUSTOM_ID: h-ae7a8a83-f022-493c-8410-ad99abf42b89
:CUSTOM_ID: Rofi-umount-Unmount_CD_drive-369a2f61
:END:
=unmountcd= will take care of unmounting any mounted CD drive. Lets declare
this function.
@ -1107,7 +1107,7 @@
** Ask what type of drive to unmount
:PROPERTIES:
:CUSTOM_ID: h-4320a68b-8369-4ac5-a049-cfb12435e45e
:CUSTOM_ID: Rofi-umount-Ask_what_type_of_drive_to_unmount-6287af48
:END:
If several types of unmountable drives are available, lets ask the user
which type to unmount based on the content of the temporary file declared in
@ -1145,7 +1145,7 @@
** Launch the unmounting functions
:PROPERTIES:
:CUSTOM_ID: h-5880963f-1403-41dc-ae7a-3958e2013fa9
:CUSTOM_ID: Rofi-umount-Launch_the_unmounting_functions-7c48a928
:END:
Now back to the body of our script, lets input in a switch case the number
of lines contained in our temporary file.
@ -1193,7 +1193,7 @@
* set-screens
:PROPERTIES:
:HEADER-ARGS: :tangle ~/.local/bin/set-screens
:CUSTOM_ID: h-74ec5080-51f4-408f-a65c-6e1f5e8e8163
:CUSTOM_ID: set-screens-01bd989a
:END:
~set-screens~ is a small script that allows the user to automatically set up
an external monitor
@ -1227,8 +1227,8 @@
* Starwars
:PROPERTIES:
:CUSTOM_ID: h-127de2b2-d84b-4508-89d2-b4577e8dbece
:HEADER-ARGS: :tangle ~/.local/bin/starwars
:CUSTOM_ID: Starwars-654f8637
:END:
This is a one-liner that allows you to watch Star Wars episode 4 in ASCII art
in your terminal. Here is the code:
@ -1240,7 +1240,7 @@
* UpdateFlutter
:PROPERTIES:
:header-args: :tangle ~/.local/bin/UpdateFlutter
:CUSTOM_ID: h-1005db1f-aecc-4fca-be2d-98fd33c1461a
:CUSTOM_ID: UpdateFlutter-1e8fbeb7
:END:
This is a simple utility to be ran when the ~flutter~ package is updated.
#+BEGIN_SRC fish
@ -1253,8 +1253,8 @@
* Wacom setup
:PROPERTIES:
:CUSTOM_ID: h-e407ceef-2f14-4474-916b-6b687cf9f2e9
:HEADER-ARGS: :tangle ~/.local/bin/wacom-setup
:CUSTOM_ID: Wacom_setup-331fb024
:END:
I made a small and quick utility to set up my Wacom tablet so it is only bound
to one screen. This is a fish script, so lets insert the sheband.
@ -1264,7 +1264,7 @@
** Set our variables
:PROPERTIES:
:CUSTOM_ID: h-c46f0eaf-ae46-4595-8d7a-944bc789cc06
:CUSTOM_ID: Wacom_setup-Set_our_variables-3cb6d58e
:END:
Lets first declare our function that will be called to set our variables.
#+BEGIN_SRC fish
@ -1305,7 +1305,7 @@
** Select our screen
:PROPERTIES:
:CUSTOM_ID: h-c81850ec-b2dd-4c57-8570-aca14ca4061b
:CUSTOM_ID: Wacom_setup-Select_our_screen-7822c0c3
:END:
This function will allow us to select the screen on which the tablet will be
active. We can also select the option “desktop” so that all screens are
@ -1355,7 +1355,7 @@
** Adjust the tablet
:PROPERTIES:
:CUSTOM_ID: h-7e7bcdd1-dce8-43aa-b26e-cc4f38be2a1b
:CUSTOM_ID: Wacom_setup-Adjust_the_tablet-342acaf3
:END:
This function will take care of adjusting our tablet to our screen. Lets
declare our function.
@ -1409,7 +1409,7 @@
** Lauch the functions
:PROPERTIES:
:CUSTOM_ID: h-e8699018-acf1-42f9-9ce7-4f7bd1a83f9c
:CUSTOM_ID: Wacom_setup-Lauch_the_functions-2ab8b4d9
:END:
Back to the main body of the script, we can now launch the functions
sequencially.
@ -1421,8 +1421,8 @@
* Weather
:PROPERTIES:
:CUSTOM_ID: h-5de0e820-d9d7-4c36-941c-e716acbb49cd
:HEADER-ARGS: :tangle ~/.local/bin/we
:CUSTOM_ID: Weather-4ed00bb0
:END:
A quick and useful script I often use is a ~curl~ request to [[http://v2.wttr.in/][v2.wttr.in]] to get
a weather forecast in the terminal. By default, I want the request to be about

View File

@ -9,9 +9,9 @@
#+PROPERTY: header-args :exports code :tangle no
#+STARTUP: content
* Table of Contents :TOC:noexport:
* Table of Contents :TOC:noexport:
:PROPERTIES:
:CUSTOM_ID: h-c7ab05d0-4c5f-4a4c-8603-4c79e264141c
:CUSTOM_ID: Table_of_Contents-06250a87
:END:
- [[#presentation][Presentation]]
- [[#fish-from-within-emacs][Fish from within Emacs]]
@ -53,7 +53,7 @@
* Presentation
:PROPERTIES:
:CUSTOM_ID: h-c2560b46-7f97-472f-b898-5ab483832228
:CUSTOM_ID: Presentation-340195eb
:END:
The file present in =~/.config/fish/config.fish= is the configuration file for
the [[https://fishshell.com/][fish shell]]. It contains custom functions, environment variables and
@ -69,7 +69,7 @@
* Fish from within Emacs
:PROPERTIES:
:CUSTOM_ID: h-97d738f4-1ea0-4f64-a31d-19643486a951
:CUSTOM_ID: Fish_from_within_Emacs-360c0a74
:END:
I sometimes call fish from within emacs, with =M-x ansi-term=. In this case,
the variable =TERM= needs to have the value =eterm-color=.
@ -81,7 +81,7 @@
* Tramp remote access
:PROPERTIES:
:CUSTOM_ID: h-6cad2cc9-aef6-4df4-90f9-97053e82072a
:CUSTOM_ID: Tramp_remote_access-72aedec2
:END:
When accessing from a remote machine our computer from Emacs, tramp needs a
precise shell appearance: a simple =$= followed by a space after which to put
@ -101,7 +101,7 @@
* Regular fish shell appearance
:PROPERTIES:
:CUSTOM_ID: h-a8434b29-c146-4141-b8f8-1b446c791907
:CUSTOM_ID: Regular_fish_shell_appearance-c3e532e1
:END:
Now, there is only one function I modify when it comes to the appearance of
fish when Im the one using it: the ~fish_greeting~ function. I use it to give
@ -177,7 +177,7 @@
* Global variables
:PROPERTIES:
:CUSTOM_ID: h-0eff37da-af9f-4546-8ad3-201961a2200f
:CUSTOM_ID: Global_variables-1c84df8b
:END:
In order to keep some other code clean, I set the ~$BROWSER~ variable so I
@ -194,7 +194,7 @@
** Development
:PROPERTIES:
:CUSTOM_ID: h-6e86740b-c7f1-49e0-a4f8-73e870c69324
:CUSTOM_ID: Global_variables-Development-76b3ff13
:END:
Now, lets declare our editor of choice, EmacsClient; not Emacs itself since
it will most often be just quick edits, nothing too heavy, if it is called
@ -229,7 +229,7 @@
** $PATH
:PROPERTIES:
:CUSTOM_ID: h-a9c79e7c-29ea-49e0-959e-0983e886f346
:CUSTOM_ID: Global_variables-$PATH-e1320303
:END:
Some global variables might sometimes be needed and need to be modified. This
is for example the case with my ~PATH~ variable in which I add Rusts Cargos
@ -267,7 +267,7 @@
* Abbreviations
:PROPERTIES:
:CUSTOM_ID: h-740bd904-3e32-4c09-b0a4-bde16ae2e116
:CUSTOM_ID: Abbreviations-97537716
:END:
#+NAME: generate-abbr
#+BEGIN_SRC emacs-lisp :var table=[] :exports none :tangle no
@ -281,7 +281,7 @@
** System monitoring
:PROPERTIES:
:CUSTOM_ID: h-ec910a8c-9154-48a4-b4cd-df28cb4e54d9
:CUSTOM_ID: Abbreviations-System_monitoring-bd909755
:END:
Here I have some abbreviations which are quite useful when performing some
system monitoring. With =df=, we can get an overview of our filesystem usage,
@ -314,14 +314,14 @@
** System management (packages and services)
:PROPERTIES:
:CUSTOM_ID: h-78ac23f0-960d-4f56-9cba-64413fd61885
:CUSTOM_ID: Abbreviations-System_management_(packages_and_services)-7249fbb7
:END:
I added some of these abbreviations due to how often I have to write the
whole thing.
*** Package management
:PROPERTIES:
:CUSTOM_ID: h-281a59aa-4ea0-47ab-a4cc-33fff8d38165
:CUSTOM_ID: Abbreviations-System_management_(packages_and_services)-Package_management-efbcdf0f
:END:
The first command is =remove= which removes a package from my system, as
well as its dependencies no longer needed. =p=. =pacman='s or =yay='s. This
@ -343,7 +343,7 @@
*** Service management
:PROPERTIES:
:CUSTOM_ID: h-3a734119-ccee-4cdf-b04c-d55a37dea571
:CUSTOM_ID: Abbreviations-System_management_(packages_and_services)-Service_management-8c5ae482
:END:
I dont have the muscle memory of =systemctl=. So instead, I simply type
=c= when I want to do something user service related.
@ -360,14 +360,14 @@
** Development
:PROPERTIES:
:CUSTOM_ID: h-32ae38a2-41ad-438e-b619-220a63166115
:CUSTOM_ID: Abbreviations-Development-d6050ca4
:END:
A good amount of these commands are development related, especially when it
comes to compilation or Docker.
*** CMake
:PROPERTIES:
:CUSTOM_ID: h-887c87aa-b100-4b27-9006-778fd7e3329c
:CUSTOM_ID: Abbreviations-Development-CMake-f2951675
:END:
I have the following abbreviations so I can quickly run CMake and create a
configuration for debug or release profiles.
@ -384,7 +384,7 @@
*** Compilation
:PROPERTIES:
:CUSTOM_ID: h-0beb47e5-d76a-4037-8f58-e8de141e3761
:CUSTOM_ID: Abbreviations-Development-Compilation-dd066050
:END:
By default, I set =clang=, =clang++=, =gcc= and =g++= to the latest
standard and with the =-Wall= flag activated.
@ -403,7 +403,7 @@
*** Docker
:PROPERTIES:
:CUSTOM_ID: h-91c7ff90-7b43-4802-be69-5d102281c6d3
:CUSTOM_ID: Abbreviations-Development-Docker-2d0a1288
:END:
And of course, when it comes to Docker Compose, I dont have time to write
the full command, so I use these instead.
@ -428,7 +428,7 @@
*** Git
:PROPERTIES:
:CUSTOM_ID: h-e72347d4-590e-448c-bc33-0a70fa8ab35b
:CUSTOM_ID: Abbreviations-Development-Git-5e5055c1
:END:
And lets face it: we all at one point just wanted to commit our code
without thinking about the message, to just get over with it. Dont worry,
@ -445,7 +445,7 @@
*** Prolog
:PROPERTIES:
:CUSTOM_ID: h-cbb6c31e-faaa-48c3-a83a-d1f143fdcb8d
:CUSTOM_ID: Abbreviations-Development-Prolog-72c9d2ef
:END:
When I launch =swipl=, I prefer to have my terminal cleaned before and
after it runs, I find it more clean.
@ -461,7 +461,7 @@
*** Text editors
:PROPERTIES:
:CUSTOM_ID: h-51155e06-872d-4a12-9bf7-ae5eabc256ad
:CUSTOM_ID: Abbreviations-Development-Text_editors-5a23df47
:END:
I greatly prefer to use Emacsclient as my main text editor; Emacs has
basically all I need. So, its only normal I have an abbreviation to launch
@ -488,7 +488,7 @@
** LaTeX
:PROPERTIES:
:CUSTOM_ID: h-a8f8a707-90d7-4784-982d-d959b183148e
:CUSTOM_ID: Abbreviations-LaTeX-76865eb9
:END:
Yes, although I use org-mode, I still have some use for LaTeX, especially
when it comes to PDF exports of my org files. Hence why I use the LaTeX
@ -508,7 +508,7 @@
** Some security measures
:PROPERTIES:
:CUSTOM_ID: h-dd97ea71-c43f-4b79-8bb7-1f857284b1b4
:CUSTOM_ID: Abbreviations-Some_security_measures-489cb521
:END:
Some commands can be quite dangerous when not used properly, which is why I
added default flags and options so I can get warnings before things get ugly.
@ -540,7 +540,7 @@
** Typos
:PROPERTIES:
:CUSTOM_ID: h-4c5a03cd-20a8-437e-87b7-af990780084e
:CUSTOM_ID: Abbreviations-Typos-370bbb27
:END:
Lets admit it, we all make typos from time to time in the shell, and some
are recurrent enough we make abbreviations or aliases of the correct command.
@ -563,14 +563,14 @@
** Misc
:PROPERTIES:
:CUSTOM_ID: h-3a237ec0-c535-42c7-9c60-3d083745b643
:CUSTOM_ID: Abbreviations-Misc-c2631eb6
:END:
Finally, some miscellaneous abbreviations that dont really fit into any of
the above categories.
*** Sudo
:PROPERTIES:
:CUSTOM_ID: h-0955e2fc-ec25-41b6-814a-929fa3718dda
:CUSTOM_ID: Abbreviations-Misc-Sudo-aef0214a
:END:
First, I make it so that =sudo= comes with the =-A= switch in order to call
my custom graphical script for getting my password (see
@ -582,7 +582,7 @@
*** Exit
:PROPERTIES:
:CUSTOM_ID: h-8cf0e895-b919-41a8-ad3d-c5294dc507fd
:CUSTOM_ID: Abbreviations-Misc-Exit-e3482f5c
:END:
Sometimes I find it easier to just type =q= instead of =exit=.
#+BEGIN_SRC fish
@ -591,7 +591,7 @@
*** History
:PROPERTIES:
:CUSTOM_ID: h-162052c5-63c4-435a-b973-422346522c69
:CUSTOM_ID: Abbreviations-Misc-History-a2124b23
:END:
I also find it more intuitive and faster to just write =hist= instead of
=history=, so lets declare that.
@ -601,11 +601,11 @@
*** ~youtube-dl~ related commands
:PROPERTIES:
:CUSTOM_ID: h-177d56dc-39a6-4f4c-a7ba-179dd5c6cac8
:CUSTOM_ID: Abbreviations-Misc-~youtube-dl~_related_commands-654caed1
:END:
**** Song download from YouTube
:PROPERTIES:
:CUSTOM_ID: h-4bc663a9-b609-4c86-9a4d-a220013c67f9
:CUSTOM_ID: Abbreviations-Misc-~youtube-dl~_related_commands-Song_download_from_YouTube-ec2afa3c
:END:
When I want to download a song from YouTube, Ill just use the command
=flac videoIdentifier= to get it through =youtube-dl=.
@ -615,7 +615,7 @@
**** Videos download from YouTube
:PROPERTIES:
:CUSTOM_ID: h-e6e45b59-7620-4d17-ba32-67a33f39cc4b
:CUSTOM_ID: Abbreviations-Misc-~youtube-dl~_related_commands-Videos_download_from_YouTube-33910b0b
:END:
I download a LOT of videos from YouTube, generally educative videos that I
do not want to lose to YouTube one day who will decide that such channel is
@ -628,7 +628,7 @@
*** MPV
:PROPERTIES:
:CUSTOM_ID: h-3fd5a7eb-4ed4-4b0b-87ca-28f36fb22793
:CUSTOM_ID: Abbreviations-Misc-MPV-f99dd400
:END:
When it comes to mpv, I do not want to force it to open a graphical window
if for example I want to listen to an audio file. I also do not want any
@ -639,7 +639,7 @@
*** Compression
:PROPERTIES:
:CUSTOM_ID: h-05919be3-360a-45c6-8c89-76836375d55b
:CUSTOM_ID: Abbreviations-Misc-Compression-4fd4ffef
:END:
It seems its just like many other people, but I cannot for the life of me
remember the syntax of =tar=. So, I made the following abbreviations, and
@ -658,7 +658,7 @@
*** Sxiv
:PROPERTIES:
:CUSTOM_ID: h-41cfc583-14ba-4f15-9578-bc37b432a3ce
:CUSTOM_ID: Abbreviations-Misc-Sxiv-1c0cf845
:END:
Some sane default options for =sxiv=, a simple X image Viewer. This includes
playing GIFs and not displaying the filename below. Sxiv will also open in
@ -671,7 +671,7 @@
*** exa
:PROPERTIES:
:CUSTOM_ID: h-9c015cdd-30c0-4464-8e1a-b67a98eaf036
:CUSTOM_ID: Abbreviations-Misc-exa-e1b528b9
:END:
#+NAME: exa-abbr
| abbreviation | command |
@ -686,7 +686,7 @@
*** Network Management
:PROPERTIES:
:CUSTOM_ID: h-5f9d4866-3086-4ed9-9ff3-d80a0af36593
:CUSTOM_ID: Abbreviations-Misc-Network_Management-0b7fc91d
:END:
First, we have just =nmcli= with sane default options, that is a pretty output
with colors.
@ -696,7 +696,7 @@
*** NordVPN
:PROPERTIES:
:CUSTOM_ID: h-f35e00a2-ec5b-416d-821f-56040ad1d6b4
:CUSTOM_ID: Abbreviations-Misc-NordVPN-09438638
:END:
Next, we have some NordVPN-related shortcuts. The first one is a simple
abbreviation to =nordvpn=. The second one is a shortcut to connect to a
@ -720,7 +720,7 @@
*** Webcam
:PROPERTIES:
:CUSTOM_ID: h-465adbc6-cad0-441a-9e54-f5e389e7362d
:CUSTOM_ID: Abbreviations-Misc-Webcam-34eedb5a
:END:
#+NAME: webcam-abbr
| abbreviation | command |
@ -733,7 +733,7 @@
*** Wget
:PROPERTIES:
:CUSTOM_ID: h-74f84f1c-433d-488a-88a7-89915c1a3bd5
:CUSTOM_ID: Abbreviations-Misc-Wget-27f4bebf
:END:
By default, continue a download that was interupted.
#+BEGIN_SRC fish

View File

@ -9,9 +9,9 @@
#+PROPERTY: header-args:emacs-lisp :exports none :tangle no
#+STARTUP: content
* Table of Contents :TOC:noexport:
* Table of Contents :TOC:noexport:
:PROPERTIES:
:CUSTOM_ID: h-c7ab05d0-4c5f-4a4c-8603-4c79e264141c
:CUSTOM_ID: Table_of_Contents-b6f56d3d
:END:
- [[#presentation][Presentation]]
- [[#variables-declaration][Variables declaration]]
@ -51,7 +51,7 @@
* Presentation
:PROPERTIES:
:CUSTOM_ID: h-2b02cfba-4ada-4f75-b522-bfcb8512119c
:CUSTOM_ID: Presentation-9c7a53bf
:END:
=i3= is a window manager for GNU/Linux which automatically tiles windows in
workspaces. This configuration was ade to automatically handle some tasks such
@ -67,11 +67,11 @@
* Variables declaration
:PROPERTIES:
:CUSTOM_ID: h-27f4474a-e037-4e40-b33a-7fe34ca012e3
:CUSTOM_ID: Variables_declaration-0ebc9a21
:END:
** Global
:PROPERTIES:
:CUSTOM_ID: h-dda00dd9-90e4-460b-b49c-8939c1ae11ce
:CUSTOM_ID: Variables_declaration-Global-1cf1bfe4
:END:
The first I do is declaring the modifier key and the alt key —I dont find
the names =Mod1= and =Mod4= to be explicit enough. This will map =$mod= to
@ -163,7 +163,7 @@
** Floating windows
:PROPERTIES:
:CUSTOM_ID: h-944b65df-c5c6-4f9a-9824-08e063ba20dd
:CUSTOM_ID: Variables_declaration-Floating_windows-897d0c3b
:END:
Floating windows are windows that are not tiled with other windows, but
rather are free to go anywhere on your screen, with any size. A bit like what
@ -182,14 +182,14 @@
* i3 global settings
:PROPERTIES:
:CUSTOM_ID: h-d9bc7729-d325-4071-8ad9-043ea5b80430
:CUSTOM_ID: i3_global_settings-1b863d93
:END:
Some settings affect i3 globally, such as its aspect or how it handles the
mouse. Hence, here are some settings I set in my configuration.
** Mouse settings
:PROPERTIES:
:CUSTOM_ID: h-3ab33a7a-6a31-4a76-a59f-baf7913279b4
:CUSTOM_ID: i3_global_settings-Mouse_settings-4630241d
:END:
First of all, I do not want i3 to warp my mouse each time I change windows;
my mouse stays where it is.
@ -206,7 +206,7 @@
** Popup handling
:PROPERTIES:
:CUSTOM_ID: h-64ef3c3b-bc70-4839-9bee-e113df4ee848
:CUSTOM_ID: i3_global_settings-Popup_handling-51b6ed8d
:END:
While in fullscreen, some software might generate a popup. In that case, I
want to be aware of that, and any popup will make me leave fullscreen in
@ -217,7 +217,7 @@
** Behavior of workspace changes
:PROPERTIES:
:CUSTOM_ID: h-192d7269-eba7-4684-80c7-cb01c32c5f38
:CUSTOM_ID: i3_global_settings-Behavior_of_workspace_changes-00202985
:END:
When changing workspace as described below, we often want to go back to the
previous workspace we were working on, but we might not remember immediately
@ -231,7 +231,7 @@
** Gaps and window appearance
:PROPERTIES:
:CUSTOM_ID: h-52a82bb4-42b0-4740-aae6-79636072dc62
:CUSTOM_ID: i3_global_settings-Gaps_and_window_appearance-749e9f7b
:END:
As mentioned in at the beginning of this document, I am using i3-gaps, which
brings spacing (gaps) between windows to i3.
@ -278,7 +278,7 @@
* Assigning windows to workspaces
:PROPERTIES:
:CUSTOM_ID: h-21870449-7730-4164-8add-167cb4e75218
:CUSTOM_ID: Assigning_windows_to_workspaces-e59f61e5
:END:
I decided to bind some windows to some workspaces in order to have a better
organization of my desktop.
@ -345,7 +345,7 @@
* Shortcuts
:PROPERTIES:
:CUSTOM_ID: h-b364743d-2ff0-4548-805e-9a9e6efdaddd
:CUSTOM_ID: Shortcuts-9c7074d3
:END:
I use *A LOT* of shortcuts when it comes to my workflow. Like, all the time.
So, expect this chapter to be a bit long, and Ill try to make it readable
@ -365,7 +365,7 @@
** Terminal shortcuts
:PROPERTIES:
:CUSTOM_ID: h-7dbb2902-29ca-48a7-bfa3-a831b72549f3
:CUSTOM_ID: Shortcuts-Terminal_shortcuts-514ecdbe
:END:
I have a couple of shortcuts which are related to my terminal. For instance,
~$mod+Return~ opens a regular terminal instance while ~$mod+$alt+M~ opens an
@ -387,7 +387,7 @@
** i3 shortcuts
:PROPERTIES:
:CUSTOM_ID: h-22855720-e388-463a-a941-fa8bad2c89c0
:CUSTOM_ID: Shortcuts-i3_shortcuts-369039ae
:END:
A couple of shortcuts are dedicated to i3 itself.
#+NAME: i3-sh
@ -424,11 +424,11 @@
** Window and workspace management
:PROPERTIES:
:CUSTOM_ID: h-cf3b4010-e937-473b-a0c9-9b25b2d3a0ec
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-a384b8f8
:END:
*** Managing how windows will split
:PROPERTIES:
:CUSTOM_ID: h-e4e57280-91d2-4140-9295-7117cf85ed04
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Managing_how_windows_will_split-5a22ae31
:END:
It is possible to indicate to i3 how windows interact with one another, and
especially how they are organized by spawning new windows either to the
@ -446,7 +446,7 @@
*** Focus windows
:PROPERTIES:
:CUSTOM_ID: h-570eda16-ed4b-4684-a54f-9202e8409ed9
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Focus_windows-69a00ae9
:END:
To change window focus, you can use one of the following shortcuts:
#+NAME: window-focus-sh
@ -464,7 +464,7 @@
*** Focus workspaces
:PROPERTIES:
:CUSTOM_ID: h-333da167-e91c-48a7-99ef-d45b2af4c220
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Focus_workspaces-9f4bee74
:END:
Just like windows, it is also possible to change focus between workspaces,
because lets be honest, most people wont have ten screens to display all
@ -490,7 +490,7 @@
*** Moving windows
:PROPERTIES:
:CUSTOM_ID: h-0322384a-6a23-48c9-989b-7ecae53a4e06
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Moving_windows-d8c90ac2
:END:
To move windows, a couple of shortcuts are available:
#+NAME: window-move-sh
@ -508,7 +508,7 @@
*** Moving containers
:PROPERTIES:
:CUSTOM_ID: h-834b2b46-1684-478b-a4d3-1cff8ec2ad2d
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Moving_containers-b97cf4ae
:END:
To move containers between the available screens, you have the following
shortcuts:
@ -543,7 +543,7 @@
*** Moving workspaces
:PROPERTIES:
:CUSTOM_ID: h-4f79905e-e8e2-4675-918b-1bbe9846b088
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Moving_workspaces-a71d7b54
:END:
It is also possible to move workspaces. The related shortcuts available are
@ -564,7 +564,7 @@
*** Close windows
:PROPERTIES:
:CUSTOM_ID: h-05e30514-86c2-42af-8712-dc0bdc30cd3d
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Close_windows-5e521a48
:END:
To close windows, we have two main shortcuts: Alt+F4 and mod+q. The first
one is here due to habits, but I dont really use it anymore due to my main
@ -583,7 +583,7 @@
*** Manage the size of the current window
:PROPERTIES:
:CUSTOM_ID: h-f730b4c8-8602-426b-a2bc-7dfbbe42e711
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Manage_the_size_of_the_current_window-11afa914
:END:
It is possible to change the size of the current window, even if it is a
floating one. The first shortcut that might interest you is $mod+f which
@ -633,7 +633,7 @@
*** Manage floating windows
:PROPERTIES:
:CUSTOM_ID: h-08f738b7-3369-4dbd-98e6-df6d6aa381b8
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Manage_floating_windows-9206f4da
:END:
As said above, your windows can be floating windows instead of being tiled
like they are by default. For this too we have a couple of shortcuts:
@ -653,7 +653,7 @@
*** Scratchpad and window display
:PROPERTIES:
:CUSTOM_ID: h-92e67454-eccb-4465-8d47-947a1a5d55d9
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Scratchpad_and_window_display-10d8d1f4
:END:
You can think of i3s scratchpad as some sort of extra workspace in which
you can hide your windows you are not using, or as if you want to reduce a
@ -682,7 +682,7 @@
*** Gaps management
:PROPERTIES:
:CUSTOM_ID: h-20c6fc10-984e-411c-acc9-8bc057d2aaa6
:CUSTOM_ID: Shortcuts-Window_and_workspace_management-Gaps_management-33979213
:END:
It is possible to dynamically change the gaps between containers if we want
to change a bit the appearance of i3. For that, we obviously have some
@ -703,7 +703,7 @@
** Launching software
:PROPERTIES:
:CUSTOM_ID: h-4839dab5-1cd3-450b-8fb9-2992dd0c4d22
:CUSTOM_ID: Shortcuts-Launching_software-0e088e69
:END:
A big part of my i3 shortcuts though are related to launching various
software. Ill try to sort them by category here, but do take a look even at
@ -712,7 +712,7 @@
*** Software and command launcher
:PROPERTIES:
:CUSTOM_ID: h-c5e8b03a-a46d-4eef-b514-96794c42621d
:CUSTOM_ID: Shortcuts-Launching_software-Software_and_command_launcher-a3f5863e
:END:
These commands will allow the user to launch applications which provide
~.desktop~ files or user-defined ~.desktop~ files, as well as commands with
@ -730,7 +730,7 @@
*** Internet software
:PROPERTIES:
:CUSTOM_ID: h-e27be13a-4085-4f09-ae90-c48ceb1c4c6f
:CUSTOM_ID: Shortcuts-Launching_software-Internet_software-a0524cd8
:END:
I have a couple of Internet-related software I can launch easily.
#+NAME: internet-sh
@ -747,7 +747,7 @@
*** Screenshots
:PROPERTIES:
:CUSTOM_ID: h-3e87379d-8476-4d05-b756-b7ee68130390
:CUSTOM_ID: Shortcuts-Launching_software-Screenshots-41e41c88
:END:
A couple of shortcuts are available for taking screenshots.
#+NAME: screenshot-sh
@ -764,7 +764,7 @@
*** Screen brightness
:PROPERTIES:
:CUSTOM_ID: h-f583f796-c287-4e4f-a88a-205cc1837ff6
:CUSTOM_ID: Shortcuts-Launching_software-Screen_brightness-6855d53f
:END:
Here we have four commands for managing our screens brightness (this is
useful for laptops, not so much with desktops), and two of them are actually
@ -785,7 +785,7 @@
*** Media control
:PROPERTIES:
:CUSTOM_ID: h-4002e136-ffab-4819-ae93-1a72b9f995ae
:CUSTOM_ID: Shortcuts-Launching_software-Media_control-18ad2815
:END:
Some shortcuts are dedicated to media control, especially when it comes to
controlling music. All of these media control shortcuts will be calls to
@ -836,7 +836,7 @@
*** Rofi utilities
:PROPERTIES:
:CUSTOM_ID: h-15f2639e-52d2-467e-83e2-6ab085fa7710
:CUSTOM_ID: Shortcuts-Launching_software-Rofi_utilities-b8eb5b95
:END:
We also have some utilities Ive written and which are interfaced with rofi.
Here are said shortcuts.
@ -858,7 +858,7 @@
*** Miscellaneous
:PROPERTIES:
:CUSTOM_ID: h-7f9ef1f7-da6b-4428-9d8c-f5a5f004c495
:CUSTOM_ID: Shortcuts-Launching_software-Miscellaneous-7ec80fea
:END:
And last but not least, I have some other shortcuts for various software,
some of them which I use quite a lot like the shortcut for launching Emacs.
@ -877,7 +877,7 @@
*** Screen management
:PROPERTIES:
:CUSTOM_ID: h-ea5bab8e-cb7c-4ccb-8594-c2c319d1f7eb
:CUSTOM_ID: Shortcuts-Launching_software-Screen_management-f9b35bf2
:END:
Additionally, we have a shortcut for entering presentation mode on the
additional screen of the computer; on my main computer, Mila, the additional
@ -898,7 +898,7 @@
* Software autolaunch
:PROPERTIES:
:CUSTOM_ID: h-18769c14-2ec0-41a2-9450-dae71714d0f4
:CUSTOM_ID: Software_autolaunch-ccee82f6
:END:
When i3 is launched, I want it to also launch some software automatically.
Here is what we will launch:

View File

@ -8,7 +8,7 @@
* Table of Contents :TOC:noexport:
:PROPERTIES:
:CUSTOM_ID: h-400070eb-725f-4416-a4c6-da3053df750b
:CUSTOM_ID: Table_of_Contents-2444603f
:END:
- [[#presentation][Presentation]]
- [[#screenshots][Screenshots]]
@ -38,7 +38,7 @@
* Presentation
:PROPERTIES:
:CUSTOM_ID: h-536e69f5-c012-4b7d-8a45-3a340d3bc7ee
:CUSTOM_ID: Presentation-981f2f04
:END:
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
@ -61,7 +61,7 @@
* Screenshots
:PROPERTIES:
:CUSTOM_ID: h-ee37502b-09a4-4668-88e2-1d4406252bd2
:CUSTOM_ID: Screenshots-51f1cef3
:END:
#+CAPTION: Desktop with Neofetch in the terminal
@ -75,7 +75,7 @@
* Features
:PROPERTIES:
:CUSTOM_ID: h-8539dd6f-4fcb-4dc7-a3ef-b8ad198c91d4
:CUSTOM_ID: Features-5ab2a2c0
:END:
- Emacs configuration perfectly tailored for my own use
- Beautiful and comfy i3 and polybar configuration
@ -91,11 +91,11 @@
** Tiling Window Managers
:PROPERTIES:
:CUSTOM_ID: h-b70d9b3b-4259-4311-aa23-4792656220bb
:CUSTOM_ID: Features-Tiling_Window_Managers-da221e37
:END:
*** AwesomeWM
:PROPERTIES:
:CUSTOM_ID: h-dbfc71a0-9d96-4f53-a064-f8d6f9567813
:CUSTOM_ID: Features-Tiling_Window_Managers-AwesomeWM-2eac61a9
:END:
AwesomeWM is the TWM I use the most on my computer between itself and i3. My
configuration for it is documented in detail in its corresponding document,
@ -103,23 +103,23 @@
*** i3 configuration
:PROPERTIES:
:CUSTOM_ID: h-c918e370-d867-412c-8b0e-078e4e3772e0
:CUSTOM_ID: Features-Tiling_Window_Managers-i3_configuration-9c92e43c
:END:
The i3 configuration is detailed in its corresponding README which you can
find [[file:i3.org][here]].
** Graphical tweaks
:PROPERTIES:
:CUSTOM_ID: h-08018a9b-f0c8-4bff-b18d-834ec0dc11a8
:CUSTOM_ID: Features-Graphical_tweaks-9879f6b0
:END:
*** GTK Settings
:PROPERTIES:
:CUSTOM_ID: h-1e9b2c5f-9ce4-4706-af5b-fb3b423cdb82
:CUSTOM_ID: Features-Graphical_tweaks-GTK_Settings-752e9916
:END:
**** GTK2
:PROPERTIES:
:CUSTOM_ID: h-6b46d7ef-3015-46e6-b9f4-58be449ff9b6
:HEADER-ARGS: :tangle ~/.config/gtk-2.0/gtkfilechooser.ini
:CUSTOM_ID: Features-Graphical_tweaks-GTK_Settings-GTK2-74c9de24
:END:
Regarding GTK2, I have only one configuration file: the filechoosers
configuration file.
@ -182,8 +182,8 @@
**** GTK3
:PROPERTIES:
:CUSTOM_ID: h-0de8173e-2c28-4ac2-811e-e6c1a437ef51
:HEADER-ARGS: :tangle ~/.config/gtk-3.0/settings.ini
:CUSTOM_ID: Features-Graphical_tweaks-GTK_Settings-GTK3-3d6cba86
:END:
The following file helps me choosing the aspect of various GTK+ 3 software,
including their theme and icons. First, lets declare the header:
@ -227,7 +227,7 @@
*** Picom
:PROPERTIES:
:CUSTOM_ID: h-c539fde3-3f1a-4855-8d63-28729ed806a5
:CUSTOM_ID: Features-Graphical_tweaks-Picom-b5b9a4dd
:END:
Picom is a standalone compositor for Xorg, and the successor to Compton,
itself successor to xcompmgr-dana, itself a fork of xcompmgr. You can find
@ -235,8 +235,8 @@
*** Xresources
:PROPERTIES:
:CUSTOM_ID: h-e6f48975-3b86-4a75-a7e5-5cc9edbd9869
:HEADER-ARGS: :tangle ~/.Xresources :exports code
:CUSTOM_ID: Features-Graphical_tweaks-Xresources-8b622de1
: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
@ -254,11 +254,11 @@
** Text and source code editing
:PROPERTIES:
:CUSTOM_ID: h-2730f882-e775-41a3-b169-5049c142cc54
:CUSTOM_ID: Features-Text_and_source_code_editing-63cc66d5
:END:
*** Emacs configuration
:PROPERTIES:
:CUSTOM_ID: h-f6d2561f-5c02-4540-8287-4acf3037b3d5
:CUSTOM_ID: Features-Text_and_source_code_editing-Emacs_configuration-ef937102
:END:
Emacs is my main text editor, which I use for almost everything. Because,
you know…
@ -271,20 +271,20 @@
*** Nano
:PROPERTIES:
:CUSTOM_ID: h-1724166b-55b7-4a64-9ff1-47c2a9e76f46
:CUSTOM_ID: Features-Text_and_source_code_editing-Nano-a9d4839f
: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
:CUSTOM_ID: Features-Text_and_source_code_editing-Rustfmt-2c4ac0b3
:END:
You can find my Rustfmt configuration [[file:rustfmt.org][here]].
** Custom scripts in =PATH=
:PROPERTIES:
:CUSTOM_ID: h-d582e107-fa66-4f79-869e-2b49116ed1ec
:CUSTOM_ID: Features-Custom_scripts_in_=PATH=-043e8c8e
: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
@ -295,19 +295,19 @@
** Fish configuration with useful abbreviations
:PROPERTIES:
:CUSTOM_ID: h-f35ed9a3-c9fc-458c-8a62-693f679f6992
:CUSTOM_ID: Features-Fish_configuration_with_useful_abbreviations-c71ffba0
: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.
** And some minor configuration files
:PROPERTIES:
:CUSTOM_ID: h-1a819f94-ab79-41e6-9509-a2781ab10b79
:CUSTOM_ID: Features-And_some_minor_configuration_files-d5cec319
:END:
*** Email signature
:PROPERTIES:
:CUSTOM_ID: h-f6c48286-a320-493f-b330-ee0a697e6d79
:HEADER-ARGS: :tangle ~/.signature
:CUSTOM_ID: Features-And_some_minor_configuration_files-Email_signature-8c5f2218
:END:
This file gets inserted automatically at the end of my emails.
#+BEGIN_SRC text
@ -320,8 +320,8 @@
*** Global gitignore
:PROPERTIES:
:CUSTOM_ID: h-4f92eb29-7cfa-48ec-b39d-39037ace3682
:HEADER-ARGS: :tangle ~/.gitignore_global
:CUSTOM_ID: Features-And_some_minor_configuration_files-Global_gitignore-42467108
: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
@ -340,14 +340,14 @@
** Tmux configuration
:PROPERTIES:
:CUSTOM_ID: h-4f48b912-b67b-4549-a671-802e76221f46
:CUSTOM_ID: Features-Tmux_configuration-ce76e030
: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]].
* Dependencies
:PROPERTIES:
:CUSTOM_ID: h-5849dbcf-a650-4323-9a90-bec549a7b982
:CUSTOM_ID: Dependencies-ef5057dd
: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:
@ -374,7 +374,7 @@
* Installation
:PROPERTIES:
:CUSTOM_ID: h-bfb2e09b-d5d7-4d6f-8b29-763c49b3fd09
:CUSTOM_ID: Installation-9ec2ae86
: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
@ -383,7 +383,7 @@
* Licence
:PROPERTIES:
:CUSTOM_ID: h-a3438126-ee60-4f11-a2f6-f52e49dade59
:CUSTOM_ID: Licence-48911096
: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

View File

@ -12,9 +12,8 @@
* Table of Contents :TOC_4_gh:noexport:
:PROPERTIES:
:CUSTOM_ID: h-400070eb-725f-4416-a4c6-da3053df750b
:CUSTOM_ID: Table_of_Contents-914af127
:END:
- [[#introduction][Introduction]]
- [[#install-arch-linux][Install Arch Linux]]
- [[#get-the-latest-live-system-with-fast-mirrors][Get the latest live system with fast mirrors]]
@ -61,7 +60,7 @@
* Introduction
:PROPERTIES:
:CUSTOM_ID: h-12a4ef6d-13b6-4d1f-9e0f-a060b63b12d4
:CUSTOM_ID: Introduction-cd5792cd
:END:
Here will be presented what I do to get my system up and running on a fresh
Arch Linux install. These installation instructions were written in order to
@ -70,7 +69,7 @@
* Install Arch Linux
:PROPERTIES:
:CUSTOM_ID: h-cfe21de6-15fa-477a-a5ff-6cd81dfead19
:CUSTOM_ID: Install_Arch_Linux-ac7ad3b2
:END:
I usually install Arch from the [[https://www.archlinux.org/download/][vanilla ISO]], however I began using [[https://github.com/MatMoul/archfi][archfi]] to
install easily the distro (Ive done it so many times, I know how it works
@ -90,7 +89,7 @@
** Get the latest live system with fast mirrors
:PROPERTIES:
:CUSTOM_ID: h-da7951ee-e39a-4a59-a05d-7b7fffdc7825
:CUSTOM_ID: Install_Arch_Linux-Get_the_latest_live_system_with_fast_mirrors-59d2a90d
:END:
When you boot into the live ISO, execute the following command:
#+BEGIN_SRC sh
@ -104,7 +103,7 @@
** Install the system
:PROPERTIES:
:CUSTOM_ID: h-9f9e1fe5-4726-486b-9875-5fcfd91d0bb0
:CUSTOM_ID: Install_Arch_Linux-Install_the_system-3ff49aa6
:END:
Then you can use a custom script to ease your installation of Arch if you do
not wish to do it manually. Personally, Ive done it several times already, I
@ -125,7 +124,7 @@
* Install basic packages
:PROPERTIES:
:CUSTOM_ID: h-d2485595-3014-4151-a76c-63bc353359a8
:CUSTOM_ID: Install_basic_packages-c2cfb42d
:END:
We will need some basic packages in order to run the bootstrap file. So, lets
install =fish= (our shell running the script) and =git=.
@ -135,9 +134,9 @@
* Execute bootstrap
:PROPERTIES:
:CUSTOM_ID: h-c13d132f-9e69-4bb0-838b-29c7c5611f11
:HEADER-ARGS: :tangle ~/.config/yadm/bootstrap
:HEADER-ARGS:python: :tangle no
:CUSTOM_ID: Execute_bootstrap-e37054ef
:END:
=yadm= comes with a very handy feature: its bootstrap script. It can be
executed automatically once the dotfiles are cloned with yadm:
@ -157,7 +156,7 @@
** Decrypt private yadm files
:PROPERTIES:
:CUSTOM_ID: h-2ce7e756-3dab-4c12-a3b3-d1b6f8d4805d
:CUSTOM_ID: Execute_bootstrap-Decrypt_private_yadm_files-68af7157
:END:
Some private files are stored encrypted in the repository of my yadm
dotfiles. I will need them later on during the bootstrap execution.
@ -167,7 +166,7 @@
** Get a correct keyboard layout
:PROPERTIES:
:CUSTOM_ID: h-89fb8f3a-6ec4-4701-a5d9-3e593c47ece9
:CUSTOM_ID: Execute_bootstrap-Get_a_correct_keyboard_layout-77d24b30
:END:
I use mainly the [[https://bepo.fr/wiki/Accueil][bépo]] layout, a French keyboard layout inspired by Dvorak
layouts, however I sometimes need to switch back to the standard French
@ -193,7 +192,7 @@
** Set our locale
:PROPERTIES:
:CUSTOM_ID: h-48678405-93ae-41b6-b44b-285ab0da4e92
:CUSTOM_ID: Execute_bootstrap-Set_our_locale-e74d772a
:END:
I use two main locales, the French and US UTF-8 locales, and I like to keep
the Japanese locale activated just in case.
@ -236,7 +235,7 @@
** Create some folders
:PROPERTIES:
:CUSTOM_ID: h-85ce90ff-56dc-469b-bf08-480ecf27acc4
:CUSTOM_ID: Execute_bootstrap-Create_some_folders-bf701387
:END:
Lets create some folders we might need for mounting our drives, Android
devices and CDs.
@ -253,7 +252,7 @@
** Set users shell to fish
:PROPERTIES:
:CUSTOM_ID: h-c1a78394-c156-4a03-ae82-e5e9d4090dab
:CUSTOM_ID: Execute_bootstrap-Set_users_shell_to_fish-1a794be2
:END:
First of all, the bootstrap shell will set the users shell to fish.
#+BEGIN_SRC fish
@ -265,7 +264,7 @@
** Install =yay= if it isnt already installed
:PROPERTIES:
:CUSTOM_ID: h-fef57cea-cf1d-4900-9d90-ec6353ea9661
:CUSTOM_ID: Execute_bootstrap-Install_=yay=_if_it_isnt_already_installed-1e777b8b
:END:
Now well need to be sure =yay=, our AUR helper, is installed on our system.
If it is, we dont need to to anything. However, if it isnt, well install
@ -286,7 +285,7 @@
** Install basic packages
:PROPERTIES:
:CUSTOM_ID: h-887ec6d4-535d-4363-a0a7-884717b87a47
:CUSTOM_ID: Execute_bootstrap-Install_basic_packages-17173316
:END:
Lets set in a custom varible what packages well be needing.
#+BEGIN_SRC fish
@ -339,7 +338,7 @@
** Tangle configuration files from Org files
:PROPERTIES:
:CUSTOM_ID: h-2e4fe0f5-a507-44c5-b69f-1935868b909d
:CUSTOM_ID: Execute_bootstrap-Tangle_configuration_files_from_Org_files-cc524361
:END:
Before tangling our configuration files, we need to create some directories
first so our files can be properly tangled. Heres the list of directories we
@ -466,7 +465,7 @@
** Setting up Emacs: Installing Spacemacs
:PROPERTIES:
:CUSTOM_ID: h-bd5a92c4-1a4f-49ea-a447-050a4ff0301c
:CUSTOM_ID: Execute_bootstrap-Setting_up_Emacs:_Installing_Spacemacs-0b3d44b2
:END:
Now, the first thing we want to do with Emacs is install its Spacemacs
distribution. Well clone its =develop= branch into =~/.config/emacs=. We
@ -491,11 +490,11 @@
** Set up dotfiles
:PROPERTIES:
:CUSTOM_ID: h-cf2c3a24-b08e-4b07-9d51-31f6df781e62
:CUSTOM_ID: Execute_bootstrap-Set_up_dotfiles-ab372bd9
:END:
*** Update our dotfiles remotes
:PROPERTIES:
:CUSTOM_ID: h-18967335-2637-44d6-b407-bb1d2d2718b9
:CUSTOM_ID: Execute_bootstrap-Set_up_dotfiles-Update_our_dotfiles_remotes-5a0fe6f7
:END:
This line in the bootstrap script will test if the current user is using my
username. If yes, its probably me.
@ -521,7 +520,7 @@
*** Get =envtpl=
:PROPERTIES:
:CUSTOM_ID: h-39034878-7864-4a1c-855d-d9882795aac0
:CUSTOM_ID: Execute_bootstrap-Set_up_dotfiles-Get_=envtpl=-fdf53f64
:END:
Before we set our dotfiles up, lets make sure =envtpl= is correctly
installed. This package will be needed for generating our alt dotfiles.
@ -532,7 +531,7 @@
*** Update our submodules
:PROPERTIES:
:CUSTOM_ID: h-ae2f8ccb-a8f3-4699-832c-52cbc8b6d081
:CUSTOM_ID: Execute_bootstrap-Set_up_dotfiles-Update_our_submodules-3e921579
:END:
Now we can download the various dependencies of our dotfiles. To do so,
lets run the following command:
@ -543,14 +542,14 @@
** Enable some services
:PROPERTIES:
:CUSTOM_ID: h-1044da09-e992-4dcb-90ff-513725e1d450
:CUSTOM_ID: Execute_bootstrap-Enable_some_services-3d38d98e
:END:
We have installed some packages which require some services to run. Lets
enable them.
*** Systemd-timesyncd
:PROPERTIES:
:CUSTOM_ID: h-4f80c250-db6d-4a2b-93bd-5b8a9bb3f4ed
:CUSTOM_ID: Execute_bootstrap-Enable_some_services-Systemd-timesyncd-d887e45b
:END:
This service enables time syncing with the NTP protocol, so I can be sure my
computers time is correct. The service first needs to be enabled:
@ -567,7 +566,7 @@
*** Docker
:PROPERTIES:
:CUSTOM_ID: h-429cb31a-fccb-420f-a5aa-21054c45fb38
:CUSTOM_ID: Execute_bootstrap-Enable_some_services-Docker-305e8309
:END:
First, lets activate Docker.
#+BEGIN_SRC fish
@ -586,7 +585,7 @@
*** Emacs
:PROPERTIES:
:CUSTOM_ID: h-7131fa13-3c6e-4cfc-b8e8-c880de9d380f
:CUSTOM_ID: Execute_bootstrap-Enable_some_services-Emacs-c7785c21
:END:
Emacs will run as a user service, which means it wont be launched until we
log in.
@ -597,7 +596,7 @@
*** Mpd
:PROPERTIES:
:CUSTOM_ID: h-41a5957e-6aab-4165-8e61-3f99f958fe98
:CUSTOM_ID: Execute_bootstrap-Enable_some_services-Mpd-f0f5b9b7
:END:
Mpd will also use as a user service in order to get rid of some lines of
code in my configuration.
@ -609,7 +608,7 @@
*** SSH server
:PROPERTIES:
:CUSTOM_ID: h-1f355779-f1dc-4c0f-9cf1-14724ce05f4d
:CUSTOM_ID: Execute_bootstrap-Enable_some_services-SSH_server-204f5997
:END:
Maybe we want to activate an SSH server on our machine. If so, we can enable
it. Lets ask the question.
@ -623,7 +622,7 @@
*** Ly
:PROPERTIES:
:CUSTOM_ID: h-2785fc5b-cd35-4c99-9f47-3dcbf1a7a870
:CUSTOM_ID: Execute_bootstrap-Enable_some_services-Ly-f4b161c0
:END:
Ly is a display manager based on ncurses which I find nice enough for me to
use (I generally dont like using display managers). Lets enable it, and
@ -635,7 +634,7 @@
*** Acpilight
:PROPERTIES:
:CUSTOM_ID: h-5423e2a7-d2ce-4bc3-9d5d-85677c18181e
:CUSTOM_ID: Execute_bootstrap-Enable_some_services-Acpilight-39152794
:END:
=acpilight= is our utility managing the brightness of our screen. There is
actually no service to enable here, but we must ensure the user is part of
@ -647,7 +646,7 @@
*** NordVPN
:PROPERTIES:
:CUSTOM_ID: h-49c24a3e-a496-4200-bf64-96e945c203a0
:CUSTOM_ID: Execute_bootstrap-Enable_some_services-NordVPN-75c1bd88
:END:
Thanks to the AUR package ~nordvpn-bin~, I no longer have to manually
maintain my VPN connections manually with OpenVPN. However, it requires a
@ -658,7 +657,7 @@
** Symlink some system config files
:PROPERTIES:
:CUSTOM_ID: h-b14d7d03-da49-4a7b-ba05-1c0848bd8e44
:CUSTOM_ID: Execute_bootstrap-Symlink_some_system_config_files-1dd95175
:END:
We have some files in [[file:ect/][etc/]] that are to be symlinked to =/etc=.
#+BEGIN_SRC fish
@ -680,7 +679,7 @@
** Install packages from git
:PROPERTIES:
:CUSTOM_ID: h-e79da7b2-9286-4b66-812e-453e3b2505c7
:CUSTOM_ID: Execute_bootstrap-Install_packages_from_git-7c6a6ea4
:END:
Now, lets install some packages from git directly.
#+BEGIN_SRC fish
@ -689,7 +688,7 @@
*** Polybar Battery
:PROPERTIES:
:CUSTOM_ID: h-f228ec52-a7d0-4c16-adfa-75c544fcfa93
:CUSTOM_ID: Execute_bootstrap-Install_packages_from_git-Polybar_Battery-074a2cf5
:END:
Now lets install =polybar-battery=. This is a binary that Ill use in my [[file:.config/i3/config][i3
config]] to indicate my battery level. It also sends a notification on low
@ -712,7 +711,7 @@
*** Reveal.JS
:PROPERTIES:
:CUSTOM_ID: h-68d1cdb4-1447-420f-ab0c-53ef905e757b
:CUSTOM_ID: Execute_bootstrap-Install_packages_from_git-Reveal.JS-bb4da0bf
:END:
I sometimes use Reveal.JS to make presentations, and I set its location in
my [[file:.spacemacs][dotspacemacs]] file to be in =~/fromGIT=, so lets clone it there.
@ -724,7 +723,7 @@
*** Install powerline fonts
:PROPERTIES:
:CUSTOM_ID: h-b1414f66-76fa-4287-848a-6facbc09381f
:CUSTOM_ID: Execute_bootstrap-Install_packages_from_git-Install_powerline_fonts-293f256c
:END:
I also need some powerline fonts for my terminal theme.
#+BEGIN_SRC fish
@ -738,11 +737,11 @@
** Install Rust
:PROPERTIES:
:CUSTOM_ID: h-57e8af4c-93f2-4145-9c39-a5f8d1c9f012
:CUSTOM_ID: Execute_bootstrap-Install_Rust-1839c4d0
:END:
*** Install the toolchains
:PROPERTIES:
:CUSTOM_ID: h-05ee25dc-3885-46ca-afaf-35bfb2e385d4
:CUSTOM_ID: Execute_bootstrap-Install_Rust-Install_the_toolchains-3480764a
:END:
When using rust, I bounce between two toolchains, the =stable= toolchain and
the =nightly= toolchain. To install them, I will use =rustup= which has
@ -760,7 +759,7 @@
*** Install some utilities
:PROPERTIES:
:CUSTOM_ID: h-f94f2e18-623f-4aa5-be99-6a7df6a9cbcd
:CUSTOM_ID: Execute_bootstrap-Install_Rust-Install_some_utilities-c4a7c785
:END:
Well need some utilities when developing Rust from Emacs, namely =rustfmt=
and =racer=. Lets install them with =cargo=.
@ -777,7 +776,7 @@
** Install some python packages
:PROPERTIES:
:CUSTOM_ID: h-8155ae1a-0be1-489f-be13-9222f7686fb2
:CUSTOM_ID: Execute_bootstrap-Install_some_python_packages-a4447a6f
:END:
Some packages will be needed from pip in order to get our Emacs setup
correctly working. Lets install them locally for our user:
@ -788,7 +787,7 @@
** Install go packages
:PROPERTIES:
:CUSTOM_ID: h-8c6e2311-eb84-4bf4-8e0b-948f89bc9664
:CUSTOM_ID: Execute_bootstrap-Install_go_packages-fe3e2ff5
:END:
For go development from Emacs, the Spacemacs go and lsp layers requires some
packages to be installed.
@ -814,7 +813,7 @@
** Set up Chicken (Scheme interpreter/compiler)
:PROPERTIES:
:CUSTOM_ID: h-10ffb0c0-8028-4e9c-842e-9e7d2c165c5b
:CUSTOM_ID: Execute_bootstrap-Set_up_Chicken_(Scheme_interpreter-compiler)-3c1a3c4a
:END:
Chicken needs to be set up before being used. First, we need to install its
documentation.
@ -831,7 +830,7 @@
** Clean the =pacman= and =yay= cache
:PROPERTIES:
:CUSTOM_ID: h-fa5307ec-065b-4d06-9d47-05ccde0da8ac
:CUSTOM_ID: Execute_bootstrap-Clean_the_=pacman=_and_=yay=_cache-646cbe36
:END:
Finally, we are almost done! Lets clean the cache of =pacman= and =yay=.
#+BEGIN_SRC fish
@ -841,14 +840,14 @@
** Set up our fish shell
:PROPERTIES:
:CUSTOM_ID: h-f6f4df67-b0de-40bf-95fb-888d42169088
:CUSTOM_ID: Execute_bootstrap-Set_up_our_fish_shell-f0741c22
:END:
The last thing we want to do is to set up our fish shell with some extensions
in order to improve the user experience.
*** Install =fisher=
:PROPERTIES:
:CUSTOM_ID: h-d6490ddc-c909-4713-b36a-19c25a79c7ac
:CUSTOM_ID: Execute_bootstrap-Set_up_our_fish_shell-Install_=fisher=-3a44531b
:END:
We will be using =fisher= as our extensions manager for Fish. Lets install
it.
@ -859,7 +858,7 @@
*** Install our extensions
:PROPERTIES:
:CUSTOM_ID: h-3d540273-bdfb-4c63-a05f-2374a010dc29
:CUSTOM_ID: Execute_bootstrap-Set_up_our_fish_shell-Install_our_extensions-188e4566
:END:
I generally use the following extensions in my Fish shell.
#+NAME: fish-extensions

View File

@ -9,7 +9,7 @@
* Table of Contents :TOC_4_gh:noexport:
:PROPERTIES:
:CUSTOM_ID: h-fe544a28-d8d9-49d3-b5ea-0b828148dbb5
:CUSTOM_ID: Table_of_Contents-fcfed7b6
:END:
- [[#introduction][Introduction]]
- [[#configuration][Configuration]]
@ -21,7 +21,7 @@
* Introduction
:PROPERTIES:
:CUSTOM_ID: h-ed3ad74a-f67a-4fc2-bb1f-b2cfb38f3ed0
:CUSTOM_ID: Introduction-7e535842
:END:
I nowadays rarely use Nano as a text editor, since I mainly rely on Emacs for
all sorts of tasks, including quick file editing. However, at times, Emacs
@ -31,7 +31,7 @@
* Configuration
:PROPERTIES:
:CUSTOM_ID: h-76aa0ff6-9e6a-4a35-974f-9132b08c8eb4
:CUSTOM_ID: Configuration-b55668a7
:END:
When saving a file, create a backup file by adding a tilde (=~=) to the file's
name. And make and keep not just one backup file, but make and keep a uniquely
@ -52,7 +52,7 @@
** Keys behavior
:PROPERTIES:
:CUSTOM_ID: h-0f092122-dd91-40e0-8e02-b732a8d5485f
:CUSTOM_ID: Configuration-Keys_behavior-c665fa36
:END:
Make the Home key smarter. When Home is pressed anywhere but at the very
beginning of non-whitespace characters on a line, the cursor will jump to
@ -64,7 +64,7 @@
** Search
:PROPERTIES:
:CUSTOM_ID: h-edff993e-54f5-42c6-8a45-e5a7194adf57
:CUSTOM_ID: Configuration-Search-6e458076
:END:
Do case-unsensitive searches by default.
#+BEGIN_SRC conf
@ -79,7 +79,7 @@
** Visual settings
:PROPERTIES:
:CUSTOM_ID: h-f4d533e9-a86d-4b6e-b601-28536267f7ab
:CUSTOM_ID: Configuration-Visual_settings-9952f2ae
:END:
Use bold instead of reverse video for the title bar, status bar, key combos,
function tags, line numbers, and selected text. This can be overridden by
@ -113,7 +113,7 @@
** Whitespace settings
:PROPERTIES:
:CUSTOM_ID: h-24190b41-8efe-4dfd-ac4b-0f5614b8c9e0
:CUSTOM_ID: Configuration-Whitespace_settings-8cef9cd7
:END:
Convert typed tabs to spaces. Sue me.
#+BEGIN_SRC conf
@ -141,7 +141,7 @@
** Included configuration file
:PROPERTIES:
:CUSTOM_ID: h-491cba80-5fa9-4b75-a9cb-2865ec39440a
:CUSTOM_ID: Configuration-Included_configuration_file-70b0f35b
:END:
Nano gives the opportunity to include some files located elsewhere. This is
why I added [[https://github.com/scopatz/nanorc][this repo]] as a submodule of my dotfiles so I can access a lot of

View File

@ -9,7 +9,7 @@
* Table of Contents :TOC_4_gh:noexport:
:PROPERTIES:
:CUSTOM_ID: h-b2167b42-e88d-4308-abaf-d33eeec63fff
:CUSTOM_ID: Table_of_Contents-8c590c64
:END:
- [[#introduction][Introduction]]
- [[#core-ncmpcpp-settings][Core Ncmpcpp settings]]
@ -18,7 +18,7 @@
* Introduction
:PROPERTIES:
:CUSTOM_ID: h-7ead0ad9-857d-4179-9e02-be0f8f8c02ef
:CUSTOM_ID: Introduction-3e61ecfc
:END:
Ncmpcpp is a TUI front-end for MPD, with an UI very similar to Ncmpc. This is
my main MPD front-end after my i3 shortcuts. You can find below some
@ -32,7 +32,7 @@
* Core Ncmpcpp settings
:PROPERTIES:
:CUSTOM_ID: h-02b8e820-d12d-479f-a856-86121eccab96
:CUSTOM_ID: Core_Ncmpcpp_settings-8cacae18
:END:
#+BEGIN_SRC conf :exports none
# -*- mode: conf -*-
@ -40,7 +40,7 @@
** Directories
:PROPERTIES:
:CUSTOM_ID: h-0da83a89-b409-4e48-9bd7-3db9afed4945
:CUSTOM_ID: Core_Ncmpcpp_settings-Directories-28092c92
:END:
Ncmpcpp has two vital directories: the lyrics directory, and its own
configuration directory. The configuration for ncmpcpp is generally either in
@ -57,7 +57,7 @@
** MPD
:PROPERTIES:
:CUSTOM_ID: h-cc81e6db-7418-4823-b2b4-4c3f1e842eaa
:CUSTOM_ID: Core_Ncmpcpp_settings-MPD-a2a7452e
:END:
These settings tell ncmpcpp how to communicate with Mpd. Once again, be sure
to follow your own MPD settings. In my case, I am connecting to my local MPD

View File

@ -13,7 +13,7 @@
* Introduction
:PROPERTIES:
:CUSTOM_ID: h-1b7321bc-190e-41a7-a6e0-ff13e9a61b74
:CUSTOM_ID: Introduction-a7a859ac
:END:
[[https://github.com/dylanaraps/neofetch][Neofetch]] is a CLI utility used to display system information. It was written
in Bash, and thus its configuration file is written as a Bash script too. This
@ -27,7 +27,7 @@
* The ~print_info~ functions
:PROPERTIES:
:CUSTOM_ID: h-3a3a5ade-adab-4508-9aa9-17896126b169
:CUSTOM_ID: The_~print_info~_functions-afbafdc3
:END:
The ~print_info~ function is the function called by Neofetch in order to print
the system information it could fetch. In this function, well choose what to
@ -106,7 +106,7 @@
* Information settings
:PROPERTIES:
:CUSTOM_ID: h-d1ddb7fc-e87a-42d1-a71b-6fc7b10c9f78
:CUSTOM_ID: Information_settings-7d3a990e
:END:
Each of the following variable tunes a function that can be called in
~print_info~ described above. It is possible to tune them by modifying this
@ -116,15 +116,15 @@
** Software
:PROPERTIES:
:CUSTOM_ID: h-2f562a5c-3530-4b50-b553-a0cb801affea
:CUSTOM_ID: Information_settings-Software-7b13b829
:END:
*** OS
:PROPERTIES:
:CUSTOM_ID: h-afe50abf-8988-48dd-9768-72eb0143b613
:CUSTOM_ID: Information_settings-Software-OS-7019c112
:END:
**** Kernel
:PROPERTIES:
:CUSTOM_ID: h-be4b75c8-2612-4e40-933f-bd451bd6fc5e
:CUSTOM_ID: Information_settings-Software-OS-Kernel-df1062f0
:END:
The variable below can shorten the output ofh the ~kernel~ function.
- Default value :: ~"on"~
@ -142,7 +142,7 @@
**** Distro
:PROPERTIES:
:CUSTOM_ID: h-979a15ac-c2ac-41a4-91f2-5676feba6dd4
:CUSTOM_ID: Information_settings-Software-OS-Distro-3c8118d9
:END:
This variable can shorten the output of the ~distro~ function.
- Default value :: ~"on"~
@ -160,7 +160,7 @@
**** OS Architecture
:PROPERTIES:
:CUSTOM_ID: h-c621c645-f926-411f-852c-9b4508a0736a
:CUSTOM_ID: Information_settings-Software-OS-OS_Architecture-1164eea9
:END:
This variable can show or hide the OS architecture in the ~distro~ output.
- Default value :: ~"off"~
@ -177,7 +177,7 @@
*** Uptime shorthand
:PROPERTIES:
:CUSTOM_ID: h-41f62c23-4306-4828-a824-7a33e19deee5
:CUSTOM_ID: Information_settings-Software-Uptime_shorthand-70ff185a
:END:
This variable can shorten the output of the ~uptime~ function. ~on~ shortens
it a bit, while ~tiny~ shortens it greatly.
@ -197,11 +197,11 @@
*** Shell
:PROPERTIES:
:CUSTOM_ID: h-759202dd-43a9-477f-8d11-df1790870673
:CUSTOM_ID: Information_settings-Software-Shell-b958db2a
:END:
**** Shell path
:PROPERTIES:
:CUSTOM_ID: h-dd92a375-1fa1-4e46-9427-503c03b83b83
:CUSTOM_ID: Information_settings-Software-Shell-Shell_path-fff91e35
:END:
This allows to show either the path of the users shell, or simply its
name.
@ -219,7 +219,7 @@
**** Shell version
:PROPERTIES:
:CUSTOM_ID: h-636dfde0-f0d1-4166-870c-8f1ff31b6dc2
:CUSTOM_ID: Information_settings-Software-Shell-Shell_version-a1702748
:END:
This allows to show the shells version in the output of ~shell~.
- Default value :: ~"on"~
@ -236,7 +236,7 @@
*** Theming
:PROPERTIES:
:CUSTOM_ID: h-e2ee7a72-d852-436d-b610-946508597696
:CUSTOM_ID: Information_settings-Software-Theming-44dc624d
:END:
This section will allow the user to modify what Neofetch can and cannot
display about the machines theming —by this, I mean its GTK theme, its
@ -244,7 +244,7 @@
**** Shorten output
:PROPERTIES:
:CUSTOM_ID: h-19994d7e-908b-4e20-912c-a527eee19668
:CUSTOM_ID: Information_settings-Software-Theming-Shorten_output-bdb4af3f
:END:
With this value, it is possible to shorten the output of the computers
theming.
@ -262,7 +262,7 @@
**** Enable or disable theming display for GTK2
:PROPERTIES:
:CUSTOM_ID: h-c9bf1b93-ec7b-4c48-b9f8-5d44edbcb8bc
:CUSTOM_ID: Information_settings-Software-Theming-Enable_or_disable_theming_display_for_GTK2-6bfd9cf8
:END:
It is possible to explicitely show or hide the computers theming with GTK2
with this variable.
@ -280,7 +280,7 @@
**** Enable or disable theming display for GTK3
:PROPERTIES:
:CUSTOM_ID: h-6d367bd6-bb5c-469c-bfd7-145ef0ecd6d9
:CUSTOM_ID: Information_settings-Software-Theming-Enable_or_disable_theming_display_for_GTK3-7dde3690
:END:
The same variable as above is also available for GTK3.
- Default value :: ~"on"~
@ -296,7 +296,7 @@
*** IP address
:PROPERTIES:
:CUSTOM_ID: h-2ec1b0c8-1663-4afa-bf91-b2dc811ba95b
:CUSTOM_ID: Information_settings-Software-IP_address-66efe064
:END:
It is possible to display the machines public IP address with the function
~ip~. The value below allows the user to change the website used to fetch
@ -322,16 +322,16 @@
** Hardware
:PROPERTIES:
:CUSTOM_ID: h-d7f87860-5c1d-427b-9d2e-f7674d9fbab5
:CUSTOM_ID: Information_settings-Hardware-490075ce
:END:
*** CPU
:PROPERTIES:
:CUSTOM_ID: h-b2183b8b-de13-4812-a7da-9f2d4d66e42d
:CUSTOM_ID: Information_settings-Hardware-CPU-dfa36b11
:END:
**** CPU brand
:PROPERTIES:
:CUSTOM_ID: h-7300f2bb-e8d2-4ede-8765-a6e8883af99e
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_brand-12ceb9ce
:END:
With this variables, it is possible to show or hide the brand of a CPU in
the ~cpu~ output.
@ -349,7 +349,7 @@
**** CPU speed
:PROPERTIES:
:CUSTOM_ID: h-5cd70ef6-4ba3-45a3-a46e-ec2d5b76d36a
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_speed-86e4ea04
:END:
With this variable, it is possible to show or hide the speed of the CPU.
- Default value :: ~"on"~
@ -366,7 +366,7 @@
**** CPU speed type
:PROPERTIES:
:CUSTOM_ID: h-61affc64-b69d-44f2-b950-1623cd908b6a
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_speed_type-4380a471
:END:
This allows Neofetch to know what type of speed it has to fetch regarding
the machines CPU. Any file in ~/sys/devices/system/cpu/cpu0/cpufreq~ can
@ -385,7 +385,7 @@
**** CPU speed shorthand
:PROPERTIES:
:CUSTOM_ID: h-6138e3bd-937f-4604-b2c0-db0a49b869bc
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_speed_shorthand-8000dc1f
:END:
This value allows to show sorter CPU speed with less digits. This flag is
not supported in systems with CPU speed below 1GHz.
@ -403,7 +403,7 @@
**** CPU cores
:PROPERTIES:
:CUSTOM_ID: h-eea09747-5334-49af-aef3-1a29f59ea40e
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_cores-66e72a57
:END:
With this variable, it is possible to display the number of cores that are
available in the CPU.
@ -424,7 +424,7 @@
**** CPU temperature
:PROPERTIES:
:CUSTOM_ID: h-66633b86-2427-4079-9e62-e72b3d458a21
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_temperature-c79fb1a1
:END:
This variable allows the user to hide or show the CPUs temperature, and if
shown, the user can display it in Celcius or Farenheit degrees. For FreeBSD
@ -447,7 +447,7 @@
*** GPU
:PROPERTIES:
:CUSTOM_ID: h-6138e3bd-937f-4604-b2c0-db0a49b869bc
:CUSTOM_ID: Information_settings-Hardware-GPU-f9450397
:END:
The function responsible for displaying information regarding the GPUs is
~gpu~. It will try to list all available GPUs and display what it knows
@ -455,7 +455,7 @@
**** GPU brand
:PROPERTIES:
:CUSTOM_ID: h-d2a0a4dd-7dc4-4584-8093-ce417b4bb59b
:CUSTOM_ID: Information_settings-Hardware-GPU-GPU_brand-c8d3c67d
:END:
This value allows the user to hide or show the brand of their GPU in the
output of ~gpu~.
@ -474,7 +474,7 @@
**** Which GPU to display
:PROPERTIES:
:CUSTOM_ID: h-4309d902-fc80-48c9-be89-02b932d1f650
:CUSTOM_ID: Information_settings-Hardware-GPU-Which_GPU_to_display-a6f72453
:END:
This allows the user to choose which GPU appears in the output of the
function ~gpu~.
@ -499,7 +499,7 @@
*** Resolution
:PROPERTIES:
:CUSTOM_ID: h-9803fa70-bf09-400a-800f-071de9f2d91d
:CUSTOM_ID: Information_settings-Hardware-Resolution-f8a0316b
:END:
This will try to list all the connected screens and display their resolution
individually. It is possible to display the refresh rate or to hide it.
@ -518,6 +518,6 @@
*** Disks
:PROPERTIES:
:CUSTOM_ID: h-87ce5b65-ae28-49a8-a91b-ed7a38ccc8b4
:CUSTOM_ID: Information_settings-Hardware-Disks-48e9e728
:END:
Neofetch can display the space available and the total space of disks

View File

@ -9,9 +9,8 @@
* Table of Contents :TOC:noexport:
:PROPERTIES:
:CUSTOM_ID: h-f61204c4-beb8-4008-b02e-55eae4e8f163
:CUSTOM_ID: Table_of_Contents-71903d94
:END:
- [[#introduction][Introduction]]
- [[#shadows][Shadows]]
- [[#deprecated-options][Deprecated options]]
@ -24,7 +23,7 @@
* Introduction
:PROPERTIES:
:CUSTOM_ID: h-2280c387-9a3a-4df1-a101-3be4fbc7cef4
:CUSTOM_ID: Introduction-a5320326
:END:
Picom is the successor to Compton, a standalone compositor for Xorg. It
provides compositing for WM that do not provide any, such as i3. I am
@ -33,7 +32,7 @@
* Shadows
:PROPERTIES:
:CUSTOM_ID: h-8fb60f60-8ba6-40cc-881b-a2a77b51e954
:CUSTOM_ID: Shadows-f4ffbb27
:END:
The following enables client-side shadows on windows. Note desktop windows
(windows with ~_NET_WM_WINDOW_TYPE_DESKTOP~) never get shadow, unless
@ -109,8 +108,8 @@
** Deprecated options
:PROPERTIES:
:CUSTOM_ID: h-c00a180b-abdc-48df-ba1e-17c486934274
:HEADER-ARGS:conf: :tangle no
:CUSTOM_ID: Shadows-Deprecated_options-da215d5a
:END:
Options in this subheader *will not* be exported to my configuration file.
@ -148,7 +147,7 @@
* Rounded corners
:PROPERTIES:
:CUSTOM_ID: h-c4fd6ef1-d22e-40a1-af15-dc6e83f6c899
:CUSTOM_ID: Rounded_corners-33bfcd20
:END:
A great feature added by ibhagwans fork of compton is the addition of rounded
corners from sdhands fork, and the Kawase blur (described [[#h-e40a644d-b594-41f0-9aca-307f77c456ba][here]]) from
@ -167,7 +166,7 @@
* Fading
:PROPERTIES:
:CUSTOM_ID: h-650f6479-4579-4114-9732-dfaabe7e1d22
:CUSTOM_ID: Fading-419d8047
:END:
Picom has the ability to create some fading effects on windows when opening or
closing or when the opacity changes. The following parameter toggles this
@ -217,7 +216,7 @@
* Transparency and opacity
:PROPERTIES:
:CUSTOM_ID: h-7c4d53bd-ea82-4800-89be-f528f3ff1208
:CUSTOM_ID: Transparency_and_opacity-6c6b36d2
:END:
Picom is also able to create some opacity or transparency for windows,
depending on their state or on some user-defined rules. For instance, the
@ -301,7 +300,7 @@
* Background blurring
:PROPERTIES:
:CUSTOM_ID: h-e40a644d-b594-41f0-9aca-307f77c456ba
:CUSTOM_ID: Background_blurring-55835066
:END:
The following are the parameters for background blurring, see the \*BLUR\*
section for more information.
@ -356,7 +355,7 @@
#+END_SRC
* General settings
:PROPERTIES:
:CUSTOM_ID: h-09a57a66-f298-4e04-880a-6d4dbb00a28a
:CUSTOM_ID: General_settings-41398de7
:END:
Daemonize process. Fork to background after initialization. Causes issues
with certain (badly-written) drivers.
@ -624,7 +623,7 @@
** GLX backend-specific options
:PROPERTIES:
:CUSTOM_ID: h-6aca0f58-6d9e-4bb7-ba88-5195b573ee01
:CUSTOM_ID: General_settings-GLX_backend-specific_options-43892981
:END:
Avoid using stencil buffer, useful if you don't have a stencil buffer. Might
cause incorrect opacity when rendering transparent content (but never

View File

@ -13,7 +13,7 @@
* Table of Contents :TOC_4_gh:noexport:
:PROPERTIES:
:CUSTOM_ID: h-c7ab05d0-4c5f-4a4c-8603-4c79e264141c
:CUSTOM_ID: Table_of_Contents-21ef28f2
:END:
- [[#presentation][Presentation]]
- [[#general-settings][General settings]]
@ -55,7 +55,7 @@
* Presentation
:PROPERTIES:
:CUSTOM_ID: h-03c830ff-e6a9-426c-8d98-8ffb8a79b1d1
:CUSTOM_ID: Presentation-4e723f32
:END:
Polybar is a desktop utility for displaying various information in form of
bars for GNU/Linux systems. It is often used as a replacement for native bars
@ -75,7 +75,7 @@
* General settings
:PROPERTIES:
:CUSTOM_ID: h-c4387167-95ea-4349-a5d9-4ebdcffccc97
:CUSTOM_ID: General_settings-e02fb78c
:END:
Some general settings are available for Polybar, and they are declared under
the ~[settings]~ section.
@ -98,7 +98,7 @@
* Colors declaration for polybar
:PROPERTIES:
:CUSTOM_ID: h-7adb4647-995d-4f75-846c-6f7f3e15487a
:CUSTOM_ID: Colors_declaration_for_polybar-75ee0b65
:END:
#+BEGIN_SRC conf-windows :exports none
; -*- mode: conf-windows -*-
@ -137,7 +137,7 @@
* Declaration of the bars
:PROPERTIES:
:CUSTOM_ID: h-9c14f550-d104-4b45-a7a4-04a6f2c32e00
:CUSTOM_ID: Declaration_of_the_bars-a95135a3
:END:
It is possible in i3 to declare as many bars as we wish, and each of these
bars will be named. Naming the bar is done in its module declaration like so:
@ -149,7 +149,7 @@
** Top bar declaration
:PROPERTIES:
:CUSTOM_ID: h-ff6e9020-b3d9-4da9-b351-29a4b914d3c4
:CUSTOM_ID: Declaration_of_the_bars-Top_bar_declaration-fc0cd977
:END:
As unimaginative as it might seem, I went for a rather explicit name for my
bars. The top one is simply named ~top~, as shown below.
@ -159,7 +159,7 @@
*** Positioning
:PROPERTIES:
:CUSTOM_ID: h-6c670bf7-0904-4b5c-8551-540212f16e25
:CUSTOM_ID: Declaration_of_the_bars-Top_bar_declaration-Positioning-2505760c
:END:
We need to set on which screen the bar is to be displayed. Indeed, it is
possible to display a bar on only one specific screen if we wish to.
@ -217,7 +217,7 @@
*** Colors and display
:PROPERTIES:
:CUSTOM_ID: h-9f83a6fd-652a-45ca-894b-0a0e0d3f0084
:CUSTOM_ID: Declaration_of_the_bars-Top_bar_declaration-Colors_and_display-30f12652
:END:
As explained above, we declared some global variables when it comes to
colors, and this is where they will be used. The bars background will be of
@ -252,7 +252,7 @@
*** Fonts and locale
:PROPERTIES:
:CUSTOM_ID: h-c5660945-4785-40f7-b89e-f9f31b85a062
:CUSTOM_ID: Declaration_of_the_bars-Top_bar_declaration-Fonts_and_locale-70a25466
:END:
Now we can chose which font fill be used in order to display text in this
bar, as well as the locale we want. The locale will be useful for displaying
@ -302,7 +302,7 @@
*** Modules
:PROPERTIES:
:CUSTOM_ID: h-93f91f00-620c-4d09-846b-9e40c304fdaf
:CUSTOM_ID: Declaration_of_the_bars-Top_bar_declaration-Modules-18979638
:END:
Finally, arguably one of the most important parts of our bar configuration:
the module selection. Modules can be positioned in three different parts of
@ -340,7 +340,7 @@
** Bottom bar declaration
:PROPERTIES:
:CUSTOM_ID: h-2478b0a6-1727-45fb-b8df-3f9aac2f0f5f
:CUSTOM_ID: Declaration_of_the_bars-Bottom_bar_declaration-8504b5ec
:END:
As described above, we will once again have to declare our bar with an
equally unimaginative but explicit name.
@ -350,7 +350,7 @@
*** Positioning
:PROPERTIES:
:CUSTOM_ID: h-31291b7e-d1df-493a-bcb2-8decab434044
:CUSTOM_ID: Declaration_of_the_bars-Bottom_bar_declaration-Positioning-b1883756
:END:
The variables are the same as above, but two of them will be slightly
modified:
@ -391,7 +391,7 @@
*** Colors and display
:PROPERTIES:
:CUSTOM_ID: h-3ec14c14-fd68-449a-b4a8-47d1c8279242
:CUSTOM_ID: Declaration_of_the_bars-Bottom_bar_declaration-Colors_and_display-854aae82
:END:
Nothing changes from the top bar, all the variables stay with the same
values. See [[#h-9f83a6fd-652a-45ca-894b-0a0e0d3f0084][Colors and display]] of the top bar for more information.
@ -403,7 +403,7 @@
*** Fonts and locale
:PROPERTIES:
:CUSTOM_ID: h-518c6613-b0b0-4d5b-a854-a26b3feefaab
:CUSTOM_ID: Declaration_of_the_bars-Bottom_bar_declaration-Fonts_and_locale-67459d62
:END:
Again, nothing changes from the top bar, so for more info on whats going
on, see [[#h-c5660945-4785-40f7-b89e-f9f31b85a062][Fonts and locale]] of the top bar.
@ -414,7 +414,7 @@
*** Modules
:PROPERTIES:
:CUSTOM_ID: h-57e48e86-e468-4d71-b088-c9d31d36ec27
:CUSTOM_ID: Declaration_of_the_bars-Bottom_bar_declaration-Modules-702b21fc
:END:
Now, we can get to something interesting again: modules. This bar has a lot
more modules than the top bar. Here is the list of the modules we have on
@ -445,7 +445,7 @@
* Modules
:PROPERTIES:
:CUSTOM_ID: h-7b18b41a-e7d2-4028-8185-4ba732603392
:CUSTOM_ID: Modules-2e1a51bc
:END:
Before we begin to describe the different modules, I would like to point out
something that will be repeated multiple times if I dont talk about it right
@ -464,11 +464,11 @@
** Hardware
:PROPERTIES:
:CUSTOM_ID: h-52212ebe-82c1-4663-9b36-61cfb990ac04
:CUSTOM_ID: Modules-Hardware-26426ebd
:END:
*** Battery
:PROPERTIES:
:CUSTOM_ID: h-1a177975-be38-44c2-bac7-9743dae1ef69
:CUSTOM_ID: Modules-Hardware-Battery-299f2e42
:END:
This module allows the user to get a battery widget among the polybar
modules that will also send a notification to the user if the battery level
@ -502,7 +502,7 @@
*** Filesystem
:PROPERTIES:
:CUSTOM_ID: h-e007ebb2-bc1a-4e1d-84e7-1332a4682511
:CUSTOM_ID: Modules-Hardware-Filesystem-26f0a3c6
:END:
This module allows to display information about our filesystem, including
(and this is what I use this module for) displaying the used space and
@ -563,7 +563,7 @@
*** Xbacklight
:PROPERTIES:
:CUSTOM_ID: h-8c6dd375-381c-47c4-861d-fda6e7283e9e
:CUSTOM_ID: Modules-Hardware-Xbacklight-2901c504
:END:
This module is used in order to display the level of brightness of a screen.
It is not used by itself, but rather by other modules, such as [[#h-9adad94d-961c-44a7-aed1-91a8f22b4eef][ACPI
@ -581,7 +581,7 @@
*** ACPI backlight
:PROPERTIES:
:CUSTOM_ID: h-9adad94d-961c-44a7-aed1-91a8f22b4eef
:CUSTOM_ID: Modules-Hardware-ACPI_backlight-9eaeaa79
:END:
This module indicates the backlight level of a screen thanks to the ACPI
Linux module. There isnt much to tell about the module itself other than it
@ -596,7 +596,7 @@
*** CPU
:PROPERTIES:
:CUSTOM_ID: h-058d538f-e361-44d5-ae0f-cb4e36109f5f
:CUSTOM_ID: Modules-Hardware-CPU-365dcb98
:END:
This module indicates how much of the CPU is being used. As shown below, I
made it so we can see the load on each core. The first thing to do is to
@ -635,7 +635,7 @@
*** Memory
:PROPERTIES:
:CUSTOM_ID: h-fd9cd09c-eed7-4fc3-8c10-aaa4364fea0f
:CUSTOM_ID: Modules-Hardware-Memory-2f2f9475
:END:
Similarly to the CPU module, it is possible for Polybar to display the RAM
load of the computer. As above, lets declare this module as an internal
@ -664,7 +664,7 @@
*** Wlan
:PROPERTIES:
:CUSTOM_ID: h-fc269c9f-4a4c-4260-aa20-cae93d5f377f
:CUSTOM_ID: Modules-Hardware-Wlan-3457f36b
:END:
It is possible for Polybar to display the name of the current WiFi network
the computer is connected to. For that, we first need to declare the Wlan
@ -703,7 +703,7 @@
*** Ethernet
:PROPERTIES:
:CUSTOM_ID: h-99a35d25-f49e-4261-9a93-981d67e289f6
:CUSTOM_ID: Modules-Hardware-Ethernet-dc749304
:END:
Just like any other module, the ethernet module has to be declared as an
internal module.
@ -741,7 +741,7 @@
*** Volume
:PROPERTIES:
:CUSTOM_ID: h-b93216f3-1a1b-438d-a82d-3b86796ff2d8
:CUSTOM_ID: Modules-Hardware-Volume-ebf9f7a4
:END:
The volume module in Polybar is linked to its internal bindings to ALSA.
Lets declare it accordingly.
@ -772,7 +772,7 @@
*** Temperature
:PROPERTIES:
:CUSTOM_ID: h-dd6a6310-1841-4db8-a59f-7445b079060e
:CUSTOM_ID: Modules-Hardware-Temperature-a9f08cde
:END:
The temperature module checks the temperature of the CPU, and warns the user
above a certain threshold of heat, in my case if my CPU is above 60°C.
@ -801,11 +801,11 @@
** Software
:PROPERTIES:
:CUSTOM_ID: h-359b340e-e332-45b1-bb13-0d50baf1d9d2
:CUSTOM_ID: Modules-Software-f6529189
:END:
*** Window title
:PROPERTIES:
:CUSTOM_ID: h-7068e4d4-069b-46e8-946e-ed012329648a
:CUSTOM_ID: Modules-Software-Window_title-3f931641
:END:
This modules aim is to simply provide the name of the currently focused
window given by Xorg. This module is an internal module to polybar, that is
@ -829,7 +829,7 @@
*** i3
:PROPERTIES:
:CUSTOM_ID: h-105fbca2-4f65-4e22-a663-5b0568f60016
:CUSTOM_ID: Modules-Software-i3-db36ddfb
:END:
Now comes the module for i3 interaction. Thanks to this module, it is
possible to show which workspaces are active and focused, and it is possible
@ -894,7 +894,7 @@
**** Workspace icons
:PROPERTIES:
:CUSTOM_ID: h-300a226b-1b3e-49aa-93c2-325ee26e8e1f
:CUSTOM_ID: Modules-Software-i3-Workspace_icons-89237191
:END:
Now, lets name our workspaces. We can give them whatever name we want them
to have, but I just like the aesthetics of Japanese characters, so lets go
@ -946,7 +946,7 @@
**** Focused workspaces
:PROPERTIES:
:CUSTOM_ID: h-4bb8a657-021a-4d0a-b1e1-2e6b34c9f044
:CUSTOM_ID: Modules-Software-i3-Focused_workspaces-0ca3b93d
:END:
Now we can define the label itself. First, we will need to define the label
when the workspace is focused. Well simply take the alternative background
@ -962,7 +962,7 @@
**** Visible workspaces
:PROPERTIES:
:CUSTOM_ID: h-5fbaf3dc-f2f6-463d-9c8e-dd649af7c0a3
:CUSTOM_ID: Modules-Software-i3-Visible_workspaces-4be78e50
:END:
The ~visible~ label is related to the ~focused~ labels since it is
describing workspaces that can be seen, but are not currently focused, i.e.
@ -980,7 +980,7 @@
**** Unfocused workspaces
:PROPERTIES:
:CUSTOM_ID: h-26d9b2a6-7d01-462e-b144-8ee533324596
:CUSTOM_ID: Modules-Software-i3-Unfocused_workspaces-13063042
:END:
When it comes to the unfocused label, there wont be any custom background
or underline, so well just copy the two remaining lines from the focused
@ -992,7 +992,7 @@
**** Urgent workspaces
:PROPERTIES:
:CUSTOM_ID: h-86b42ade-e5e1-47d0-8436-9e072450ccc2
:CUSTOM_ID: Modules-Software-i3-Urgent_workspaces-ed2bd93c
:END:
Lastly, we get our urgent workspaces: workspaces in which most of the time
its just a popup that appeared or a software that finally launched itself
@ -1008,7 +1008,7 @@
*** Mpd
:PROPERTIES:
:CUSTOM_ID: h-e51852fe-5d09-4126-aec3-48c16aa9a093
:CUSTOM_ID: Modules-Software-Mpd-4b1ec78e
:END:
Mpd is a music server for GNU/Linux systems that interfaces will several
front-ends, including ncmpcpp (the main one I use), ncmpcpp and mpc. It also
@ -1049,7 +1049,7 @@
*** Date
:PROPERTIES:
:CUSTOM_ID: h-18354316-7e52-4e24-b4a0-961b6c959ace
:CUSTOM_ID: Modules-Software-Date-f7338626
:END:
This module is really simple: it gives the current date. It is an internal
module, and as declared below, it updates every second:
@ -1086,7 +1086,7 @@
* Footnotes
:PROPERTIES:
:CUSTOM_ID: h-6d9948e4-8a08-4245-929b-de1b52cecb64
:CUSTOM_ID: Footnotes-62d05520
:END:
[fn:1] [[https://github.com/polybar/polybar/wiki/Fonts][https://github.com/polybar/polybar/wiki/Fonts]]

View File

@ -7,9 +7,9 @@
#+PROPERTY: header-args:toml :tangle ~/.rustfmt.toml
#+STARTUP: content
* Table of Contents :TOC:noexport:
* Table of Contents :TOC:noexport:
:PROPERTIES:
:CUSTOM_ID: h-0871ece1-3315-4853-88ee-26b83530b95a
:CUSTOM_ID: Table_of_Contents-1f5472ca
:END:
- [[#introduction][Introduction]]
- [[#general-settings][General settings]]
@ -20,7 +20,7 @@
* Introduction
:PROPERTIES:
:CUSTOM_ID: h-c2854002-b43e-4d65-83a2-e7cbb96af409
:CUSTOM_ID: Introduction-465e99fe
:END:
The ~.rustfmt.toml~ file located in the ~$HOME~ directory is a global
configuration file for Rusts code formatters, such as ~rustfmt~. In this
@ -28,7 +28,7 @@
* General settings
:PROPERTIES:
:CUSTOM_ID: h-3d97602e-1562-44eb-b673-55b677eda1c2
:CUSTOM_ID: General_settings-7f5cb2f6
:END:
First, we are using the 2018 edition of Rust.
#+BEGIN_SRC toml
@ -57,7 +57,7 @@
* Structs and Enums
:PROPERTIES:
:CUSTOM_ID: h-a6ec06c9-be62-464e-8b52-59019bbe5f7f
:CUSTOM_ID: Structs_and_Enums-6a2a856d
:END:
The maximum length of enum variant having discriminant, that gets vertically
aligned with others. Variants without discriminants would be ignored for the
@ -81,7 +81,7 @@
* Comments
:PROPERTIES:
:CUSTOM_ID: h-d3f4dcf6-c910-4716-a531-a628a53c2858
:CUSTOM_ID: Comments-b1904bb0
:END:
Convert ~/* */~ comments to ~//~ comments where possible.
#+BEGIN_SRC toml
@ -105,7 +105,7 @@
* Documentation
:PROPERTIES:
:CUSTOM_ID: h-24aa1f8c-02f5-4add-b1af-d406eecfef25
:CUSTOM_ID: Documentation-0c7981c7
:END:
Format code snippet included in doc comments.
#+BEGIN_SRC toml
@ -119,7 +119,7 @@
* Whitespace
:PROPERTIES:
:CUSTOM_ID: h-ad416728-7920-49fa-abdc-92cd5ceebc5a
:CUSTOM_ID: Whitespace-e8792b44
:END:
Use tab characters for indentation, spaces for alignment.

View File

@ -10,7 +10,7 @@
* Table of Contents :TOC:noexport:
:PROPERTIES:
:CUSTOM_ID: h-f61204c4-beb8-4008-b02e-55eae4e8f163
:CUSTOM_ID: Table_of_Contents-baac29af
:END:
- [[#introduction][Introduction]]
- [[#spacemacs-layers-and-packages][Spacemacs layers and packages]]
@ -131,7 +131,7 @@
* Introduction
:PROPERTIES:
:CUSTOM_ID: h-ff1cbbaa-6ab0-49ab-8945-7e25706ead8e
:CUSTOM_ID: Introduction-f1cbb8bb
:END:
This file is the main source file for my Emacs configuration which contains
most of the user code. It is exported thanks to Emacs code tangling from the
@ -145,7 +145,7 @@
* Spacemacs layers and packages
:PROPERTIES:
:header-args:emacs-lisp: :comments link :tangle ~/.config/emacs/private/spacemacs-layers.el :exports code :results silent
:CUSTOM_ID: h-9d9869e0-4672-419c-bf37-3d3ae1b7c0aa
:CUSTOM_ID: Spacemacs_layers_and_packages-6d318b87
:END:
Here will be our layer configuration set. Everything here is set with a
~setq-default~ in the ~dotspacemacs/layers~ function like so:
@ -158,7 +158,7 @@
** General configuration
:PROPERTIES:
:CUSTOM_ID: h-ecfe1909-18af-451d-b78f-0d7e5a1d45c0
:CUSTOM_ID: Spacemacs_layers_and_packages-General_configuration-66b4311e
:END:
First, we need to tell Spacemacs which base distribution we are using. This
is a layer contained in the directory ~+distribution~. For now, available
@ -189,7 +189,7 @@
** Package management
:PROPERTIES:
:CUSTOM_ID: h-587fd3fb-5a99-4c19-af02-b1553c6acfae
:CUSTOM_ID: Spacemacs_layers_and_packages-Package_management-0add1a62
:END:
It is possible to indicate to Spacemacs a list of additional paths where to
look for configuration layers. Paths must have a trailing slash, i.e.
@ -266,7 +266,7 @@
** Layers
:PROPERTIES:
:CUSTOM_ID: h-313bf79e-c24c-40a6-8bc0-eb608fda05d9
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-36e1c90c
:END:
All layers are set one variable: ~dotspacemacs-configuration-layers~. This
variable is a list of layers, some of them will have some custom variables.
@ -289,7 +289,7 @@
*** Checkers
:PROPERTIES:
:CUSTOM_ID: h-04664b1a-8138-4566-8b63-8050437351a7
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Checkers-aefeae26
:END:
The two first checkers I use are for spell and syntax checking.
~spell-checking~ is disabled by default, however it should auto-detect the
@ -303,7 +303,7 @@
*** Completion
:PROPERTIES:
:CUSTOM_ID: h-fc18dd98-1411-4516-a87c-6c1047d2a13c
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Completion-883e2b83
:END:
~auto-completion~ is a layer enabled in order to provide auto-completion to
all supported language layers. It is set so that the =RET= key has no
@ -328,7 +328,7 @@
*** Email
:PROPERTIES:
:CUSTOM_ID: h-0db2333c-86bf-4b41-8226-da66885fce36
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Email-67c16308
:END:
I use as my daily Email client ~mu4e~, so lets enable it and tell Emacs
where mu4e is installed. I also tell mu4e to use maildirs extensions, use
@ -343,7 +343,7 @@
*** Emacs
:PROPERTIES:
:CUSTOM_ID: h-ad6174a6-4056-420e-9620-3da5f00bd3fc
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Emacs-8e976e5c
:END:
The first layer enabled in this category is ~better-defaults~. I also made
it so that when a command equivalent to ~C-a~ or ~C-e~ is pressed, the
@ -387,7 +387,7 @@
*** File trees
:PROPERTIES:
:CUSTOM_ID: h-35f135ac-45cd-4e91-a23d-41700dc7495f
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-File_trees-5b6ed3e4
:END:
In this category, I only enabled one layer: ~treemacs~. In this layer, I set
is so that treemacs syncs with my current buffer, and it automatically
@ -401,7 +401,7 @@
*** Fonts
:PROPERTIES:
:CUSTOM_ID: h-7a0a7d6d-6caa-4504-acf6-f97c25436ef1
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Fonts-11de8977
:END:
In this category, again, one layer is enabled: ~unicode-fonts~. This layer
addssupport for the ~unicode-fonts~ package.
@ -411,7 +411,7 @@
*** Fun
:PROPERTIES:
:CUSTOM_ID: h-3aec0cda-50d5-4c31-a57e-4244a254a57f
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Fun-0728c04c
:END:
In this category, I only enabled two layers: ~selectric~ and ~xkcd~.
#+BEGIN_SRC emacs-lisp
@ -420,7 +420,7 @@
*** Internationalization
:PROPERTIES:
:CUSTOM_ID: h-0edb1ff3-15a1-46cd-b980-7fdd124020b6
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Internationalization-69601ff8
:END:
In this category, I enabled the ~keyboard-layout~ layer to enable
compatibility with the bépo layout. This layer, however, is disabled for
@ -433,11 +433,11 @@
*** Programming languages
:PROPERTIES:
:CUSTOM_ID: h-9dd88370-a959-4266-a01e-2231f9008a1f
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Programming_languages-4c318b81
:END:
**** Domain-specific (DSLs)
:PROPERTIES:
:CUSTOM_ID: h-c212d89f-6854-48f3-84a5-8195811bfc4d
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Programming_languages-Domain-specific_(DSLs)-2c919937
:END:
In this category, I enabled support for the R programming language (the
~ess~ layer), the ~major-modes~ layer for the Arch Linux PKGBUILDs support,
@ -504,7 +504,7 @@
**** Frameworks
:PROPERTIES:
:CUSTOM_ID: h-ac43dd9a-5a2f-4a80-bb35-535ec6e31e72
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Programming_languages-Frameworks-f7c21585
:END:
Only one framework support has been enabled so far, and is is for the
Django framework.
@ -514,7 +514,7 @@
**** General-purpose
:PROPERTIES:
:CUSTOM_ID: h-9d41427d-ec93-40c6-8c24-113c5b174fc3
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Programming_languages-General-purpose-1ed71a5b
:END:
Among the layers I activated, the only one without any specific
configuration is the ~asm~ layer for the Assembly language.
@ -603,11 +603,11 @@ haskell
*** Readers
:PROPERTIES:
:CUSTOM_ID: h-02099754-7102-4251-9e2e-a3ee33f4b469
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Readers-65e8e4ae
:END:
**** Epub and Pdf readers
:PROPERTIES:
:CUSTOM_ID: h-687183a4-280d-4027-bc7e-8f436a7cbaad
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Readers-Epub_and_Pdf_readers-0ef6688f
:END:
In this category, only the ~epub~ and ~pdf~ layers are enabled without any
special configuration, so I can read these files from Emacs directly.
@ -617,7 +617,7 @@ haskell
**** Elfeed
:PROPERTIES:
:CUSTOM_ID: h-1f99b28e-2b9c-4d4e-b526-25f99dc59951
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Readers-Elfeed-78877179
:END:
Elfeed is an Emacs feeed and RSS reader which can be managed through org
files. Actually, through only one file in my case, located in my =~/org=
@ -629,7 +629,7 @@ haskell
*** Version control
:PROPERTIES:
:CUSTOM_ID: h-53ebecc5-53da-4a0c-88f4-b031ff3b1952
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Version_control-bc8e286a
:END:
Only the ~git~ layer is enabled in this category.
#+BEGIN_SRC emacs-lisp
@ -638,7 +638,7 @@ haskell
*** Themes
:PROPERTIES:
:CUSTOM_ID: h-e593bbe4-d778-4b11-a450-4e6e418109fe
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Themes-d88d1225
:END:
Here, the ~colors~ layer is the only one enabled. It activates support for
identifiers colorization, and strings representing colors.
@ -648,7 +648,7 @@ haskell
*** Tools
:PROPERTIES:
:CUSTOM_ID: h-51f1d8a6-5f52-486a-a16b-301429cf8313
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Tools-e57e405e
:END:
In this category, the first layer to be enabled is the CMake layer for which
I enabled support for the ~cmake-ide~ package.
@ -683,7 +683,7 @@ haskell
*** Web Services
:PROPERTIES:
:CUSTOM_ID: h-6ec58708-518c-44f4-8ad0-3fa3b58117d5
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Web_Services-c2888251
:END:
In this category, I have only enabled a layer for Twitter support.
#+BEGIN_SRC emacs-lisp
@ -692,7 +692,7 @@ haskell
*** Custom layers
:PROPERTIES:
:CUSTOM_ID: h-f9c6b261-f06b-4fd5-bf4e-161cb8744aeb
:CUSTOM_ID: Spacemacs_layers_and_packages-Layers-Custom_layers-69473533
:END:
Lastly, three custom layers have been enabled: a w3m layer, and two of my
custom layers for Dired and for conlanging tools.
@ -707,8 +707,8 @@ haskell
* Init
:PROPERTIES:
:CUSTOM_ID: h-3f3c8a0b-56cd-4be6-b019-3ba6f1e24f96
:header-args:emacs-lisp: :comments link :tangle ~/.config/emacs/private/spacemacs-init.el :exports code :results silent
:CUSTOM_ID: Init-99a4b561
:END:
The ~dotspacemacs/init~ function is the one called at the very begining of the
Spacemacs startup, before any kind of configuration, including the layer
@ -725,7 +725,7 @@ haskell
** Emacs with pdumper
:PROPERTIES:
:CUSTOM_ID: h-bb7c391e-3d0c-4c3c-99d4-09a1cb20be43
:CUSTOM_ID: Init-Emacs_with_pdumper-f24ab30b
:END:
It is possible to compile Emacs 27 from source with support for the portable
dumper, as shown in Spacemacs =EXPERIMENTAL.org= file. I do not use this
@ -758,7 +758,7 @@ haskell
** Package managment and updates
:PROPERTIES:
:CUSTOM_ID: h-8573bacc-4372-49e3-a0ff-4520fe999c97
:CUSTOM_ID: Init-Package_managment_and_updates-79363da3
:END:
Spacemacs core configuration can be updated via git commands using Github
services. If Spacemacs is not set to the =develop= branch, it can check by
@ -786,7 +786,7 @@ haskell
*** Elpa repository
:PROPERTIES:
:CUSTOM_ID: h-ac64233a-5c7a-41f4-98b5-ce838b33ba44
:CUSTOM_ID: Init-Package_managment_and_updates-Elpa_repository-c07fb1c4
:END:
It is possible to ask Emacs to use an HTTPS connection when contacting the
Elpa whenever possible. This value should be set to =nil= when the user has
@ -807,7 +807,7 @@ haskell
*** Spacelpa repository
:PROPERTIES:
:CUSTOM_ID: h-1f432881-39b2-4d60-862f-a1a95ebe4a58
:CUSTOM_ID: Init-Package_managment_and_updates-Spacelpa_repository-a431b288
:END:
The Spacelpa repository is a Spacemacs-specific package repository. It is
possible to use it as the primary source to install a locked version of a
@ -826,7 +826,7 @@ haskell
** Editing style
:PROPERTIES:
:CUSTOM_ID: h-8a6bfe01-3e45-4189-9bde-70efbe9739ee
:CUSTOM_ID: Init-Editing_style-56d58a4b
:END:
By default, Spacemacs encourages the use of evil-mode, which brings vim
keybinding in Emacs. Still, it has three different styles available:
@ -849,7 +849,7 @@ haskell
** Spacemacs home configuration
:PROPERTIES:
:CUSTOM_ID: h-6a78794e-9c0b-4390-99d5-55c5b13c8c5a
:CUSTOM_ID: Init-Spacemacs_home_configuration-8375cdcc
:END:
The value below specifies the startup banner of Spacemacs. The default value
is =official=, it displays the official Spacemacs logo. An integer value is
@ -887,7 +887,7 @@ haskell
** Default major modes
:PROPERTIES:
:CUSTOM_ID: h-8318ee22-ffaf-419a-a76b-41f327c23970
:CUSTOM_ID: Init-Default_major_modes-37f4a891
:END:
The below variable sets a default major mode for a new empty buffer. Possible
values are mode names such as =text-mode=, or =nil= to use Fundamental mode.
@ -911,11 +911,11 @@ haskell
** Visual configuration
:PROPERTIES:
:CUSTOM_ID: h-d7fe8e66-bfcd-43c4-81e5-fba433300b7b
:CUSTOM_ID: Init-Visual_configuration-c4116cc1
:END:
*** Themes
:PROPERTIES:
:CUSTOM_ID: h-013f84c3-92c6-453f-9229-98f0ad6ba884
:CUSTOM_ID: Init-Visual_configuration-Themes-315992bb
:END:
Spacemacs makes it quite easy to use themes and organize them. The below
value is a list of themes, the first of the list is loaded when Spacemacs
@ -969,7 +969,7 @@ haskell
*** Other on-screen elements
:PROPERTIES:
:CUSTOM_ID: h-fabead22-a4d0-4826-9ed1-37297810c30b
:CUSTOM_ID: Init-Visual_configuration-Other_on-screen_elements-7d334e09
:END:
=which-key= is a helper which displays available keyboard shortcuts. This
variable sets in seconds the time Spacemacs should wait between a key press
@ -1080,7 +1080,7 @@ haskell
*** Appearance of Emacs frames
:PROPERTIES:
:CUSTOM_ID: h-deae54d7-5790-4c11-8640-573cd3824dbd
:CUSTOM_ID: Init-Visual_configuration-Appearance_of_Emacs_frames-59700bb7
:END:
Starting from Emacs 24.4, it is possible to make the Emacs frame fullscreen
when Emacs starts up if the variable is set to a non-nil value. The default
@ -1158,7 +1158,7 @@ haskell
** Spacemacs leader keys and shortcuts
:PROPERTIES:
:CUSTOM_ID: h-0bf00e10-d577-4133-91c6-39bdc96d847d
:CUSTOM_ID: Init-Spacemacs_leader_keys_and_shortcuts-ebf21abe
:END:
The below setting sets the Spacemacs leader key. By default, this is the
=SPC= key.
@ -1208,7 +1208,7 @@ haskell
** Layouts
:PROPERTIES:
:CUSTOM_ID: h-7b84a553-6c54-431e-ad23-dfa26c8a334f
:CUSTOM_ID: Init-Layouts-61c0374d
:END:
The variable belows sets the name of the default layout. Its default value is
="Default"=.
@ -1237,7 +1237,7 @@ haskell
** Files-related settings
:PROPERTIES:
:CUSTOM_ID: h-c3aa3e27-4c42-4607-98fa-6e4647247ed3
:CUSTOM_ID: Init-Files-related_settings-67fba383
:END:
The below value sets the size in MB above which Spacemacs will prompt to open
the file literally in order to avoid preformance issues. Opening a file
@ -1259,7 +1259,7 @@ haskell
** Emacs server
:PROPERTIES:
:CUSTOM_ID: h-ca601390-7851-4c05-8021-18ca3eb48ac7
:CUSTOM_ID: Init-Emacs_server-d3947c28
:END:
Emacs can be launched as a server if the following value is set to non-nil
and if one isnt already running. The default value is ~nil~.
@ -1283,7 +1283,7 @@ haskell
** Miscellaneous
:PROPERTIES:
:CUSTOM_ID: h-69b80cd3-dc0c-405b-bd02-315821105922
:CUSTOM_ID: Init-Miscellaneous-6b4f0b76
:END:
This value changes the folding method of code blocks. The possible values are
either ~evil~, the default value, or ~origami~.
@ -1329,8 +1329,8 @@ haskell
* User Initialization
:PROPERTIES:
:CUSTOM_ID: h-e297b9be-9b0d-4c2d-bb6e-402f0d00be0d
:header-args:emacs-lisp: :comments link :tangle ~/.config/emacs/private/user-init.el :exports code :results silent
:CUSTOM_ID: User_Initialization-e0d21089
:END:
While Emacs and especially Spacemacs loads, I want it to initialize some
elements and load some packages. First of all, I want it to load my private
@ -1376,12 +1376,12 @@ haskell
* User Configuration
:PROPERTIES:
:CUSTOM_ID: h-7a36d3a0-8bb6-4d9d-9402-eadbc49fef32
:header-args:emacs-lisp: :comments link :tangle ~/.config/emacs/private/user-config.el :exports code :results silent
:CUSTOM_ID: User_Configuration-4a937fe5
:END:
** ASM configuration
:PROPERTIES:
:CUSTOM_ID: h-73c92790-872d-404d-b3b7-7a94fba4ef34
:CUSTOM_ID: User_Configuration-ASM_configuration-f6dc7674
:END:
The first thing I will set with my ASM configuration is where the reference
PDF is located.
@ -1395,7 +1395,7 @@ haskell
** C/C++
:PROPERTIES:
:CUSTOM_ID: h-c0ee6b96-db28-408e-872a-4c4347f807d8
:CUSTOM_ID: User_Configuration-C-C++-76c3f997
:END:
As the C/C++ syntax is checked by flycheck, lets make sure we are using the
latest standard available, that is C++17 and C17, from Clang.
@ -1410,7 +1410,7 @@ haskell
** Custom functions
:PROPERTIES:
:CUSTOM_ID: h-e3766e6a-3b77-488d-8dfc-8489411b1c4f
:CUSTOM_ID: User_Configuration-Custom_functions-ceb4bc42
:END:
In this section, I will put my various custom functions that do not fit in
other sections and which are more oriented towards general usage throughout
@ -1422,7 +1422,7 @@ haskell
*** ~phundrak/fill-paragraph~
:PROPERTIES:
:CUSTOM_ID: h-e87c6c3f-728d-4065-a886-70eb2c3cc579
:CUSTOM_ID: User_Configuration-Custom_functions-~phundrak-fill-paragraph~-ab4ef600
:END:
This function was created in order to bind to another keyboard shortcut the
already existing ~C-u M-q~ which I cannot type with evil-mode unless Im in
@ -1436,7 +1436,7 @@ haskell
*** ~terminal-here-default-terminal-command~
:PROPERTIES:
:CUSTOM_ID: h-4e7c3229-4baa-47d5-8897-545a8b85800a
:CUSTOM_ID: User_Configuration-Custom_functions-~terminal-here-default-terminal-command~-1916a912
:END:
This function is actually an overwrite of the default one which apparently
does not work on my machine. This function is called by
@ -1450,7 +1450,7 @@ haskell
** Dart configuration
:PROPERTIES:
:CUSTOM_ID: h-00537655-3c5f-4cc0-af90-4f357ba9350f
:CUSTOM_ID: User_Configuration-Dart_configuration-ecf24ebf
:END:
For Dart, I mainly declared some custom shortcuts bound to ~dart-mode~
related to flutter, so nothing too exciting here. Some prefix are declared in
@ -1473,7 +1473,7 @@ haskell
** Dired
:PROPERTIES:
:CUSTOM_ID: h-1214442f-4dc7-4855-90ba-bb23d59af2c9
:CUSTOM_ID: User_Configuration-Dired-ef8a7cac
:END:
When it comes to dired, I chose do modify some elements on how things are
sorted and shown, but there isnt much configuration. First, I want to always
@ -1502,14 +1502,14 @@ haskell
** Emacs Lisp
:PROPERTIES:
:CUSTOM_ID: h-f087976e-3350-46c7-a269-f90c83f60d64
:CUSTOM_ID: User_Configuration-Emacs_Lisp-59230f3c
:END:
Here will be stored my configuration directly related to Emacs Lisp,
including some functions or default modes.
*** Enable ~eldoc-mode~ by default
:PROPERTIES:
:CUSTOM_ID: h-ef91e851-f0f2-4fe6-a1ee-b1556a17761c
:CUSTOM_ID: User_Configuration-Emacs_Lisp-Enable_~eldoc-mode~_by_default-f131abde
:END:
By default, if some Elisp code is opened, I want to enable ~eldoc-mode~ so I
can easily get some documentation on the symbols in the source code. This is
@ -1520,7 +1520,7 @@ haskell
*** ~phundrak/write-to-buffer~
:PROPERTIES:
:CUSTOM_ID: h-3f3b771e-a4dd-42fd-bf97-8930d20c0a86
:CUSTOM_ID: User_Configuration-Emacs_Lisp-~phundrak-write-to-buffer~-2f192dd3
:END:
I was very surprised when I discovered no such function exists in Elisp.
This function basically writes a string into a buffer, and optionally
@ -1543,14 +1543,14 @@ haskell
** Eshell
:PROPERTIES:
:CUSTOM_ID: h-846478af-19e5-4e06-a97b-0886062d32c7
:CUSTOM_ID: User_Configuration-Eshell-3012e67e
:END:
Eshell is a built-in shell available from Emacs which I use almost as often
as Fish. Some adjustments are necessary for making this shell usable for me.
*** Environment variables
:PROPERTIES:
:CUSTOM_ID: h-f88fac3c-5bf1-452b-93f2-1f68436f2302
:CUSTOM_ID: User_Configuration-Eshell-Environment_variables-8dac73e0
:END:
Some environment variables need to be correctly set so Eshell can correctly
work. The first environment variable to be set is the ~PATH~, as I have a
@ -1589,7 +1589,7 @@ haskell
*** Custom functions
:PROPERTIES:
:CUSTOM_ID: h-8c921fc7-6b55-4829-92cd-133131f1e5f8
:CUSTOM_ID: User_Configuration-Eshell-Custom_functions-79d98245
:END:
When Im in Eshell, sometimes I wish to open multiple files at once in
Emacs. For this, when I have several arguments for ~find-file~, I want to be
@ -1613,7 +1613,7 @@ haskell
**** Redirect text editors to Emacs
:PROPERTIES:
:CUSTOM_ID: h-a003cd6c-8e80-43a0-ac64-d21774c334b1
:CUSTOM_ID: User_Configuration-Eshell-Custom_functions-Redirect_text_editors_to_Emacs-dff362c6
:END:
I still have some muscle memory telling me to open nano, ed, or vim, and
sometimes I even try to type ~emacs~ in the terminal, which is stupid with
@ -1635,7 +1635,7 @@ haskell
*** Aliases
:PROPERTIES:
:CUSTOM_ID: h-7e11a04b-4387-4a62-af00-5d402814acac
:CUSTOM_ID: User_Configuration-Eshell-Aliases-ef06615f
:END:
This function is a function that will come in very handy for Eshell
functions that call shell processes. It concatenates the initial string
@ -1676,7 +1676,7 @@ haskell
**** System monitoring
:PROPERTIES:
:CUSTOM_ID: h-a2873e6b-2b71-499e-a113-341df334e4bd
:CUSTOM_ID: User_Configuration-Eshell-Aliases-System_monitoring-ee01b070
:END:
Similar to ~meminfo~, we also have ~gpumeminfo~ so we can get a quick look
at the memory-related logs of our X session.
@ -1722,7 +1722,7 @@ haskell
**** System management (packages and services)
:PROPERTIES:
:CUSTOM_ID: h-b46ba273-f212-45bb-8500-f82c168232f0
:CUSTOM_ID: User_Configuration-Eshell-Aliases-System_management_(packages_and_services)-afb6d9d3
:END:
The first command is ~remove~ which removes a package and its dependencies
from the system.
@ -1751,7 +1751,7 @@ haskell
**** Other
:PROPERTIES:
:CUSTOM_ID: h-4c235c5b-e61b-4a0e-8046-7e957e9dac13
:CUSTOM_ID: User_Configuration-Eshell-Aliases-Other-bd88ca97
:END:
~mkcd~ is a function that allows me to create a directory and ~cd~ into it
at the same time.
@ -1778,7 +1778,7 @@ haskell
**** Typos
:PROPERTIES:
:CUSTOM_ID: h-4da87dd0-18b3-46ae-8251-8a829288210f
:CUSTOM_ID: User_Configuration-Eshell-Aliases-Typos-c7bfe6eb
:END:
~q~ is a shorthand for ~exit~. ~exti~ and ~exi~ are for typos when I type ~exit~.
#+BEGIN_SRC emacs-lisp
@ -1798,7 +1798,7 @@ haskell
*** Visual commands
:PROPERTIES:
:CUSTOM_ID: h-b276c491-58ba-43a2-898f-1d65aad0df89
:CUSTOM_ID: User_Configuration-Eshell-Visual_commands-2b15e0dc
:END:
With Eshell, some commands dont work very well, especially commands that
create a TUI. So, lets declare them as visual commands or subcommands:
@ -1811,7 +1811,7 @@ haskell
*** Eshell theme
:PROPERTIES:
:CUSTOM_ID: h-83cff5d6-d77c-40af-ba49-80e5c84ff581
:CUSTOM_ID: User_Configuration-Eshell-Eshell_theme-a06715a9
:END:
As with most shells, again, it is possible to customize the appearance of
the Eshell prompt. First, we need to declare a macro so we can set a face
@ -1854,7 +1854,7 @@ haskell
** File extensions
:PROPERTIES:
:CUSTOM_ID: h-beb67a88-d7d3-4d58-bbc7-7a7be67f64aa
:CUSTOM_ID: User_Configuration-File_extensions-f76fe752
:END:
Sometimes, Emacs doesnt recognize or misrecognizes some extensions,
resulting in a wrong mode set for said file. Lets fix that by associating
@ -1890,7 +1890,7 @@ haskell
** LSP
:PROPERTIES:
:CUSTOM_ID: h-4d0272c3-df5e-4f6b-a6e6-f769add4e603
:CUSTOM_ID: User_Configuration-LSP-4f8aa691
:END:
When it comes to the LSP layer, there are some options which are not enabled
by default that I want to use, especially some modes I want to take advantage
@ -1916,7 +1916,7 @@ haskell
** Mu4e
:PROPERTIES:
:CUSTOM_ID: h-ba4a69ff-38a6-498a-b076-a514bbf0701f
:CUSTOM_ID: User_Configuration-Mu4e-f3df8e9e
:END:
Mu4e is a frontend for mu, an email analyzer which sits on top of a Maildir
which gets updated with ~isync~. It has a lot of neat features, but I guess
@ -2098,7 +2098,7 @@ haskell
** Miscellaneous
:PROPERTIES:
:CUSTOM_ID: h-cee08965-745a-4a6f-b04e-bf1638342698
:CUSTOM_ID: User_Configuration-Miscellaneous-d230bc2f
:END:
I have a lot of variables that need to be set but dont fall in any other
category, so Ill collect them here.
@ -2110,7 +2110,7 @@ haskell
*** Evil
:PROPERTIES:
:CUSTOM_ID: h-1d889318-8b93-4e78-9fe4-9e751b0b1cbe
:CUSTOM_ID: User_Configuration-Miscellaneous-Evil-ab8a36e3
:END:
As a user of Evil, Im sometimes pissed when I accidentally press ~C-u~ and
it gets me to the top of the document. So, lets disable it:
@ -2120,7 +2120,7 @@ haskell
*** Default modes
:PROPERTIES:
:CUSTOM_ID: h-3ac59b6b-4ea3-4270-bdf2-07a68b867ebc
:CUSTOM_ID: User_Configuration-Miscellaneous-Default_modes-b9e1522c
:END:
Some buffers sometimes wont have a default mode at all, such as the
~*scratch*~ buffer. In any vanilla configuration, they will then default to
@ -2132,7 +2132,7 @@ haskell
*** Hooks
:PROPERTIES:
:CUSTOM_ID: h-a895c541-505f-4dc2-8eac-d1fbc45e2512
:CUSTOM_ID: User_Configuration-Miscellaneous-Hooks-86da2da0
:END:
I also have some hooks I use for enabling some major and minor modes. The
first one here allows the execution of the deletion of trailing space each
@ -2164,7 +2164,7 @@ haskell
*** Pinentry
:PROPERTIES:
:CUSTOM_ID: h-c69ca384-fb5b-49e9-9b0d-987da0df1d61
:CUSTOM_ID: User_Configuration-Miscellaneous-Pinentry-95004d5a
:END:
Pinentry should use the ~loopback~ mode when communicating with GnuPG. Lets
set it so:
@ -2174,7 +2174,7 @@ haskell
*** Prettified symbols
:PROPERTIES:
:CUSTOM_ID: h-3b37d76b-8da4-4c06-adfc-0ccd04bbef18
:CUSTOM_ID: User_Configuration-Miscellaneous-Prettified_symbols-da50f4a6
:END:
Just because it is pleasing to the eye, some symbols in source code get
prettified into simpler symbols. Here is the list of symbols that are to be
@ -2202,7 +2202,7 @@ haskell
*** Twittering mode
:PROPERTIES:
:CUSTOM_ID: h-fb99695a-99f9-4c30-a286-a9accbb8410f
:CUSTOM_ID: User_Configuration-Miscellaneous-Twittering_mode-b97d9327
:END:
For ~twittering-mode~, a Twitter major mode for Emacs, I want to encrypt my
data using a master password, which I do thanks to this option:
@ -2212,7 +2212,7 @@ haskell
*** Wttr.in cities
:PROPERTIES:
:CUSTOM_ID: h-9d0208e7-f88f-4bba-a48a-e306d3f00939
:CUSTOM_ID: User_Configuration-Miscellaneous-Wttr.in_cities-dd24f8c5
:END:
Thanks to the wttrin package, I can get the weather forecast in Emacs for a
couple of cities. I just need to specify them to Emacs like so:
@ -2223,7 +2223,7 @@ haskell
** Nov-mode
:PROPERTIES:
:CUSTOM_ID: h-fea5c178-425f-4e1d-a491-591a3dbb4f93
:CUSTOM_ID: User_Configuration-Nov-mode-6f10765d
:END:
~nov-mode~ is the mode used in the Epub reader. Here I will write a little
function that I will call through a hook each time Im opening a new EPUB
@ -2248,7 +2248,7 @@ haskell
** Python
:PROPERTIES:
:CUSTOM_ID: h-d26ce2ad-94b6-4e50-9803-d53e567f1206
:CUSTOM_ID: User_Configuration-Python-9cdd1b06
:END:
Emacs throws me an error about the python interpreter, lets silence it:
#+BEGIN_SRC emacs-lisp
@ -2257,7 +2257,7 @@ haskell
** Org-mode
:PROPERTIES:
:CUSTOM_ID: h-5534acb1-963d-4aec-874d-f1f66b02a597
:CUSTOM_ID: User_Configuration-Org-mode-04ab8ad3
:END:
Org-mode is probably one of the best if not the best Emacs feature I have
ever discovered. It is awesome for writing documents, regardless of the
@ -2276,13 +2276,13 @@ haskell
*** Custom org-mode functions
:PROPERTIES:
:CUSTOM_ID: h-e87fcf0c-2e3e-48e1-80aa-1d8f1a39842b
:CUSTOM_ID: User_Configuration-Org-mode-Custom_org-mode_functions-f1726995
:END:
We begin with a couple of custom functions that I use in my org-mode files.
**** Custom and unique headings ID
:PROPERTIES:
:CUSTOM_ID: h-c6950fac-82a2-49cd-86bb-8f72c0fe9f22
:CUSTOM_ID: User_Configuration-Org-mode-Custom_org-mode_functions-Custom_and_unique_headings_ID-44d2beaf
:END:
The first ones are dedicated to provide org-mode headings a fixed and
unique ID that wont change over time. This code was taken from
@ -2324,7 +2324,7 @@ haskell
(message-make-fqdn))))))
(setq unique (concat etime postfix))))
(t (error "Invalid `org-id-method'")))
(concat prefix unique)))
(concat prefix (car (split-string unique "-")))))
#+END_SRC
Now, lets see the function that will be used to get the custom id of a
@ -2333,19 +2333,27 @@ haskell
#+BEGIN_SRC emacs-lisp
(defun eos/org-custom-id-get (&optional pom create prefix)
"Get the CUSTOM_ID property of the entry at point-or-marker POM.
If POM is nil, refer to the entry at point. If the entry does
not have an CUSTOM_ID, the function returns nil. However, when
CREATE is non nil, create a CUSTOM_ID if none is present
already. PREFIX will be passed through to `eos/org-id-new'. In
any case, the CUSTOM_ID of the entry is returned."
If POM is nil, refer to the entry at point. If the entry does not
have an CUSTOM_ID, the function returns nil. However, when CREATE
is non nil, create a CUSTOM_ID if none is present already. PREFIX
will be passed through to `eos/org-id-new'. In any case, the
CUSTOM_ID of the entry is returned."
(interactive)
(org-with-point-at pom
(let ((id (org-entry-get nil "CUSTOM_ID")))
(let* ((orgpath (mapconcat #'identity (org-get-outline-path) "-"))
(heading (replace-regexp-in-string
"/" "-"
(replace-regexp-in-string
" " "_" (if (string= orgpath "")
(org-get-heading t t t t)
(concat orgpath "-" (org-get-heading t t t t))))))
(id (org-entry-get nil "CUSTOM_ID")))
(cond
((and id
(stringp id)
(string-match "\\S-" id)) id)
(create (setq id (eos/org-id-new (concat prefix "h")))
(create (setq id (eos/org-id-new (concat prefix heading)))
(org-entry-put pom "CUSTOM_ID" id)
(org-id-add-location id
(buffer-file-name (buffer-base-buffer)))
@ -2357,10 +2365,11 @@ haskell
header, then the above function is called.
#+BEGIN_SRC emacs-lisp
(defun eos/org-add-ids-to-headlines-in-file ()
"Add CUSTOM_ID properties to all headlines in the current
file which do not already have one. Only adds ids if the
`auto-id' option is set to `t' in the file somewhere. ie,
,#+OPTIONS: auto-id:t"
"Add CUSTOM_ID properties to all headlines in the current file
which do not already have one.
Only adds ids if the `auto-id' option is set to `t' in the file
somewhere. ie, #+OPTIONS: auto-id:t"
(interactive)
(save-excursion
(widen)
@ -2387,7 +2396,7 @@ haskell
*** Org babel languages
:PROPERTIES:
:CUSTOM_ID: h-e60e0cf5-55ec-401a-82ed-256baff90f0c
:CUSTOM_ID: User_Configuration-Org-mode-Org_babel_languages-c062fc16
:END:
One of the amazing features of org-mode is its literary programming
capacities by running code blocks from within Org-mode itself. But for that,
@ -2423,11 +2432,11 @@ haskell
*** Org variables
:PROPERTIES:
:CUSTOM_ID: h-8e86e8dc-5889-44ff-9d10-766fb3e8b873
:CUSTOM_ID: User_Configuration-Org-mode-Org_variables-97587637
:END:
**** User information
:PROPERTIES:
:CUSTOM_ID: h-73307234-da02-4e61-8443-616213d5b004
:CUSTOM_ID: User_Configuration-Org-mode-Org_variables-User_information-6c7d5e3f
:END:
Some variables about myself need to be set so Org-mode knows what
information to include in exported files.
@ -2440,7 +2449,7 @@ haskell
**** Visual settings
:PROPERTIES:
:CUSTOM_ID: h-a88bf63a-5200-46a6-be6e-2e455c347e4a
:CUSTOM_ID: User_Configuration-Org-mode-Org_variables-Visual_settings-5d02f4c0
:END:
Visually, I prefer to hide the markers of macros, so lets do that:
#+BEGIN_SRC emacs-lisp
@ -2449,7 +2458,7 @@ haskell
**** Org behavior
:PROPERTIES:
:CUSTOM_ID: h-81bcc367-4b2a-4a10-b42c-7b3cb7fd2d60
:CUSTOM_ID: User_Configuration-Org-mode-Org_variables-Org_behavior-0319db38
:END:
Here is one behavior that I really want to see modified: the ability to use
~M-RET~ without slicing the text the marker is on.
@ -2500,7 +2509,7 @@ haskell
**** Miscellaneous
:PROPERTIES:
:CUSTOM_ID: h-42ccf90a-f507-4fab-ae42-3fd815a34ef0
:CUSTOM_ID: User_Configuration-Org-mode-Org_variables-Miscellaneous-ddcb568a
:END:
When creating a link to an Org flie, I want to create an ID only if the
link is created interactively, and only if there is no custom ID already
@ -2511,7 +2520,7 @@ haskell
*** Org files exports
:PROPERTIES:
:CUSTOM_ID: h-65bba789-e7d5-4f60-9280-5c7d11d7f657
:CUSTOM_ID: User_Configuration-Org-mode-Org_files_exports-1e194169
:END:
When it comes to exports, I want the LaTeX and PDF exports to be done with
XeLaTeX only. This implies the modification of the following variable:
@ -2581,7 +2590,7 @@ haskell
*** Custom LaTeX formats
:PROPERTIES:
:CUSTOM_ID: h-783545b6-04b8-4d16-8ab5-12a74c34cfba
:CUSTOM_ID: User_Configuration-Org-mode-Custom_LaTeX_formats-8e8dca1c
:END:
I currently have two custom formats for my Org-mode exports: one for general
use (initialy for my conlanging files, hence its ~conlang~ name), and one
@ -2624,7 +2633,7 @@ haskell
*** Org agenda
:PROPERTIES:
:CUSTOM_ID: h-1c4fb1d5-dfc9-4b1e-be8c-375e6d61f886
:CUSTOM_ID: User_Configuration-Org-mode-Org_agenda-53f9d319
:END:
One awesome feature of Org mode is the agenda. By default, my agendas are
stored in =~/org/agenda=.
@ -2655,7 +2664,7 @@ haskell
*** Org capture
:PROPERTIES:
:CUSTOM_ID: h-9a070bbb-5b57-4abd-9d61-51f2070eb47b
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-f58979cf
:END:
Org-capture is an amazing feature of Org-mode which allows me to quickly
save links, resources, reminders and notes in a neatly organized org file.
@ -2731,7 +2740,7 @@ haskell
**** Emails
:PROPERTIES:
:CUSTOM_ID: h-9012599e-c143-4df0-b63c-7c60ddb4a081
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-Emails-d87336fe
:END:
This is my template for a new Email:
#+BEGIN_SRC org :tangle ~/org/capture/email.orgcaptmpl
@ -2761,7 +2770,7 @@ haskell
**** Journal
:PROPERTIES:
:CUSTOM_ID: h-ab1b21af-e887-41a7-be7a-c08825d16339
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-Journal-9916f9bf
:END:
This template is quite simple: it creates a new entry with the current
timestamp as its title, a brief title of my choosing, and then I can write
@ -2774,7 +2783,7 @@ haskell
**** Notes
:PROPERTIES:
:CUSTOM_ID: h-2b5e7efc-4a9d-4a92-b75f-4ec75e2fb48d
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-Notes-4b4c10aa
:END:
This template is used for taking note about various subjects that can go
from conlanging to development. I wrote it so I can know from where this
@ -2807,7 +2816,7 @@ haskell
**** Protocol
:PROPERTIES:
:CUSTOM_ID: h-6fa10246-26bf-4ab3-a3b0-1f58bc79350e
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-Protocol-ec45ec49
:END:
This capture is used when received through org-protocol, with the
Org-protocol Extension for Firefox. It allows me to save in a quote block
@ -2842,7 +2851,7 @@ haskell
**** Resources
:PROPERTIES:
:CUSTOM_ID: h-001eb681-1725-442d-91ef-b6a46c1784dc
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-Resources-b23bfbd0
:END:
This is the default template for resources, which generally are located on
the Internet. By default, I give them the lowest priority, because although
@ -2862,12 +2871,12 @@ haskell
**** Tasks
:PROPERTIES:
:CUSTOM_ID: h-e8190e80-e2d5-4f68-84df-a760b00727e7
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-Tasks-3fcf382a
:END:
***** Computers and stuff
:PROPERTIES:
:CUSTOM_ID: h-96f1bf32-ff88-498f-920b-0a583f5782eb
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-Tasks-Computers_and_stuff-a4eef8e3
:END:
One type of task I often capture is related to my servers or thing about
computers in general. With this, I can capture a task for which I will
@ -2883,7 +2892,7 @@ haskell
***** Health
:PROPERTIES:
:CUSTOM_ID: h-99c15553-4298-4d15-a0a1-1335ebc83cc2
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-Tasks-Health-74f8f338
:END:
This capture is rarely used (Im lucky to have a good health), but it can
be useful.
@ -2896,7 +2905,7 @@ haskell
***** Birthdays
:PROPERTIES:
:CUSTOM_ID: h-e0d32ee1-cdf8-4d9e-aac6-55de262bb45e
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-Tasks-Birthdays-ec3b27be
:END:
This capture is used to store new birthdays I have to remember. They are
set to be repeated yearly.
@ -2919,7 +2928,7 @@ haskell
**** YouTube
:PROPERTIES:
:CUSTOM_ID: h-4b962a95-47d9-4410-8365-7d09e19530eb
:CUSTOM_ID: User_Configuration-Org-mode-Org_capture-YouTube-827968ee
:END:
#+BEGIN_SRC org :tangle ~/org/capture/youtube.orgcaptmpl
,* TODO [#C] %^{Title}
@ -2933,7 +2942,7 @@ haskell
*** Org projects
:PROPERTIES:
:CUSTOM_ID: h-a1d5b79e-a053-46b0-a5ea-d5457acd1f7e
:CUSTOM_ID: User_Configuration-Org-mode-Org_projects-5be088cd
:END:
Another great features of Org-mode is the Org projects that allow the user
to easily publish a bunch of org files to a remote location. Here is the
@ -2952,7 +2961,7 @@ haskell
**** Configuration website
:PROPERTIES:
:CUSTOM_ID: h-7559d45e-a1e8-4755-8c34-a95c80a592c7
:CUSTOM_ID: User_Configuration-Org-mode-Org_projects-Configuration_website-79bd0468
:END:
#+NAME: org-proj-config-html
#+BEGIN_SRC emacs-lisp :tangle no
@ -2992,7 +3001,7 @@ haskell
**** Linguistics website
:PROPERTIES:
:CUSTOM_ID: h-a54bbe09-960f-428e-9cbd-5dabb4bb8daa
:CUSTOM_ID: User_Configuration-Org-mode-Org_projects-Linguistics_website-34b8d4e7
:END:
In my case, I only have my linguistics website, made out of three projects.
The first component is the one generating the HTML files from the org
@ -3056,7 +3065,7 @@ haskell
** Rust
:PROPERTIES:
:CUSTOM_ID: h-4f572b65-92eb-4ecd-beb3-75aa5c260e37
:CUSTOM_ID: User_Configuration-Rust-ba633575
:END:
I need to point to racer where the source code of Rust is located so I can
get some documentation. This is installed with the ~rust-src~ component you
@ -3077,7 +3086,7 @@ haskell
** Scheme
:PROPERTIES:
:CUSTOM_ID: h-6b392c4b-9014-4dfa-802d-2bc0c85273b3
:CUSTOM_ID: User_Configuration-Scheme-e35aa50a
:END:
The Scheme configuration will be very short, I just need to tell Emacs the
name of the interpreter since it is not the default one:
@ -3087,7 +3096,7 @@ haskell
** Shortcuts
:PROPERTIES:
:CUSTOM_ID: h-f193126f-abc1-4287-aa70-4f2080d2ef8f
:CUSTOM_ID: User_Configuration-Shortcuts-aef3f7a7
:END:
As you will see, I defined a LOT of custom shortcuts. Most of them are
Spacemacs shortcuts, defined in a way they can be used seamlessly with Evil.
@ -3126,7 +3135,7 @@ haskell
*** Applications
:PROPERTIES:
:CUSTOM_ID: h-928236e4-66e6-4d15-acd9-2748b90fdc70
:CUSTOM_ID: User_Configuration-Shortcuts-Applications-af8730b1
:END:
As this is a new category, lets declare its prefix:
#+BEGIN_SRC emacs-lisp
@ -3147,7 +3156,7 @@ haskell
*** Comments
:PROPERTIES:
:CUSTOM_ID: h-f91ff790-3511-471a-83ce-4071a6e33420
:CUSTOM_ID: User_Configuration-Shortcuts-Comments-508db33d
:END:
Some shortcuts are also related to comment editing, in particular using
outorg. Lets first declare the dedicated prefix:
@ -3169,7 +3178,7 @@ haskell
*** Files
:PROPERTIES:
:CUSTOM_ID: h-37877887-e6d0-4e05-a2eb-566f349b76f6
:CUSTOM_ID: User_Configuration-Shortcuts-Files-206c2126
:END:
This category is mainly used for opening configuration files, but it is also
more generally for files-related commands. Lets declare the category:
@ -3228,7 +3237,7 @@ haskell
*** Multiple cursors
:PROPERTIES:
:CUSTOM_ID: h-de40bea1-4301-4ad3-b3f1-c4c8ed029feb
:CUSTOM_ID: User_Configuration-Shortcuts-Multiple_cursors-83db7c9c
:END:
I dont really like Spacemacs layer for MultipleCursors, so I prefer to
simply install the package and create shortcuts for it myself. Lets first
@ -3248,7 +3257,7 @@ haskell
*** Org-mode
:PROPERTIES:
:CUSTOM_ID: h-beb15231-9718-4581-95dd-444c57190ee8
:CUSTOM_ID: User_Configuration-Shortcuts-Org-mode-a8938199
:END:
Now, onto some shortcuts related to org-mode. Lets first declare the
category:
@ -3303,7 +3312,7 @@ haskell
*** Toggle
:PROPERTIES:
:CUSTOM_ID: h-25a07df0-02b5-4e6e-a8a3-94a00dbbc54f
:CUSTOM_ID: User_Configuration-Shortcuts-Toggle-d53c27ef
:END:
This category allows to toggle some modes and options.
#+BEGIN_SRC emacs-lisp
@ -3356,7 +3365,7 @@ haskell
*** Text
:PROPERTIES:
:CUSTOM_ID: h-1852f9ec-e2ca-495b-a72e-c3258add8033
:CUSTOM_ID: User_Configuration-Shortcuts-Text-8d877c4b
:END:
The last category is a text-related category. Lets declare it:
#+BEGIN_SRC emacs-lisp
@ -3374,7 +3383,7 @@ haskell
** Yadm
:PROPERTIES:
:CUSTOM_ID: h-fb5284ed-9862-4ba5-9d92-78b466ab65f8
:CUSTOM_ID: User_Configuration-Yadm-4344fec3
:END:
yadm is the utility I use for managing my dotfiles, and it is a wrapper
In order to manage my dotfiles, I use the following shortcut to launch Magit
@ -3400,7 +3409,7 @@ haskell
* Footnotes
:PROPERTIES:
:CUSTOM_ID: h-a471c99d-e731-4196-9e69-beb0359962bd
:CUSTOM_ID: Footnotes-5ffd05ee
:END:
[fn:2] [[https://labs.phundrak.com/phundrak/dotfiles/src/branch/master/.spacemacs][labs.phundrak.com/phundrak/dotfiles/src/branch/master/.spacemacs]]

View File

@ -9,9 +9,8 @@
* Table of Contents :TOC_4_gh:noexport:
:PROPERTIES:
:CUSTOM_ID: h-400070eb-725f-4416-a4c6-da3053df750b
:CUSTOM_ID: Table_of_Contents-6af11648
:END:
- [[#presentation][Presentation]]
- [[#windows-and-pane-creation][Windows and pane creation]]
- [[#display][Display]]
@ -22,7 +21,7 @@
* Presentation
:PROPERTIES:
:CUSTOM_ID: h-d6e5eaf3-150c-4f3e-bc8e-fbbbb604640e
:CUSTOM_ID: Presentation-0b37c6c0
:END:
I dont really use tmux often, but I certainly do like a nice presentation and
useful features, hence this configuration. This config file is inspired by
@ -30,7 +29,7 @@
* Windows and pane creation
:PROPERTIES:
:CUSTOM_ID: h-b7e4f3a6-ab16-47e8-aa72-b74b3a66893d
:CUSTOM_ID: Windows_and_pane_creation-66275518
:END:
Whether if a new *window* will retain the current path. Possible values are:
- true
@ -64,7 +63,7 @@
* Display
:PROPERTIES:
:CUSTOM_ID: h-a1b48bb1-40d8-4ffb-9ec0-b77e63f7ef84
:CUSTOM_ID: Display-d5ae1908
:END:
Whether to activate RGB 24-bit color support (only available in tmux >= 2.2).
Possible values are:
@ -111,7 +110,7 @@
** Colors and style
:PROPERTIES:
:CUSTOM_ID: h-3142ab15-458c-434b-99d6-1f89462a6f26
:CUSTOM_ID: Display-Colors_and_style-0994a014
:END:
Colors displayed in tmux can be chosen thanks to the following variables. Any
color should be formatted as a hexadecimal RGB value preceded by a pound sign
@ -174,7 +173,7 @@
** Window status bar
:PROPERTIES:
:CUSTOM_ID: h-f6a802f9-3b1e-4c83-8ffc-a72a35a691e9
:CUSTOM_ID: Display-Window_status_bar-dff37ae7
:END:
The following variables are to set the windows status style and format.
@ -370,7 +369,7 @@
* Clipboard
:PROPERTIES:
:CUSTOM_ID: h-47a20d72-6406-4467-b833-a4bd33731487
:CUSTOM_ID: Clipboard-66d0d03a
:END:
Whether if in copy mode, copying the selection also copies to the OS
clipboard. Possible values are:
@ -382,7 +381,7 @@
* User customizations
:PROPERTIES:
:CUSTOM_ID: h-68bc0e1c-48d9-4b14-953d-875601d0edb7
:CUSTOM_ID: User_customizations-c913b5d7
:END:
Here we can override or undo some setting from settings from tmux. First, we
can increase the history size.