updated README, added custom IDs

This commit is contained in:
Phuntsok Drak-pa 2019-10-21 10:05:15 +02:00
parent e238342501
commit 29bcc43c91
1 changed files with 127 additions and 1 deletions

View File

@ -1,7 +1,7 @@
#+TITLE: Phundraks dotfiles #+TITLE: Phundraks dotfiles
#+AUTHOR: Lucien "Phundrak” Cartier-Tilet #+AUTHOR: Lucien "Phundrak” Cartier-Tilet
#+EMAIL: phundrak@phundrak.fr #+EMAIL: phundrak@phundrak.fr
#+OPTIONS: H:4 broken_links:mark email:t ^:{} auto_id:t #+OPTIONS: H:4 broken_links:mark email:t ^:{} auto-id:t
# ### LaTeX #################################################################### # ### LaTeX ####################################################################
#+LATEX_CLASS: conlang #+LATEX_CLASS: conlang
@ -38,6 +38,9 @@
#+HTML_HEAD_EXTRA: <script defer src="https://langue.phundrak.fr/js/main.js"></script> #+HTML_HEAD_EXTRA: <script defer src="https://langue.phundrak.fr/js/main.js"></script>
* Table of Contents :TOC_4_gh:noexport: * Table of Contents :TOC_4_gh:noexport:
:PROPERTIES:
:CUSTOM_ID: h-400070eb-725f-4416-a4c6-da3053df750b
:END:
- [[#presentation][Presentation]] - [[#presentation][Presentation]]
- [[#features][Features]] - [[#features][Features]]
- [[#screenshots][Screenshots]] - [[#screenshots][Screenshots]]
@ -81,6 +84,9 @@
- [[#licence][Licence]] - [[#licence][Licence]]
* Presentation * Presentation
:PROPERTIES:
:CUSTOM_ID: h-536e69f5-c012-4b7d-8a45-3a340d3bc7ee
:END:
[[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]] [[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]]
This is my collection of dotfiles for my daily GNU/Linux environment, tweaked This is my collection of dotfiles for my daily GNU/Linux environment, tweaked
@ -95,12 +101,18 @@
the wallpapers using [[https://github.com/dylanaraps/pywal][pywal]]. the wallpapers using [[https://github.com/dylanaraps/pywal][pywal]].
* Features * Features
:PROPERTIES:
:CUSTOM_ID: h-8539dd6f-4fcb-4dc7-a3ef-b8ad198c91d4
:END:
- Emacs configuration perfectly tailored for my own use - Emacs configuration perfectly tailored for my own use
- Beautiful and comfy i3 and polybar configuration - Beautiful and comfy i3 and polybar configuration
- And enough information below to get basically the same distro install as I - And enough information below to get basically the same distro install as I
have on my main computer and my travel laptop. have on my main computer and my travel laptop.
* Screenshots * Screenshots
:PROPERTIES:
:CUSTOM_ID: h-ee37502b-09a4-4668-88e2-1d4406252bd2
:END:
#+ATTR_HTML: :width 100% #+ATTR_HTML: :width 100%
#+CAPTION: Desktop with Neofetch in the terminal #+CAPTION: Desktop with Neofetch in the terminal
@ -115,6 +127,9 @@
[[./img/rofi.png]] [[./img/rofi.png]]
* Dependencies * Dependencies
:PROPERTIES:
:CUSTOM_ID: h-5849dbcf-a650-4323-9a90-bec549a7b982
:END:
Of course, some dependencies are needed for my dotfiles to work well. Here is 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: a non-exhaustive list of software needed by these configuration files:
- [[https://www.gnu.org/software/emacs/][GNU/Emacs]] >= 26.2 - [[https://www.gnu.org/software/emacs/][GNU/Emacs]] >= 26.2
@ -139,12 +154,18 @@
BTW, I use Arch. BTW, I use Arch.
* Installation * Installation
:PROPERTIES:
:CUSTOM_ID: h-bfb2e09b-d5d7-4d6f-8b29-763c49b3fd09
:END:
Here will be presented what I do to get my system up and running on a fresh 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 Arch Linux install. These installation instructions were written in order to
get an Arch Linux distribution up and running with the same configuration as get an Arch Linux distribution up and running with the same configuration as
my main computers and my travelling laptops configuration. my main computers and my travelling laptops configuration.
** Install Arch Linux ** Install Arch Linux
:PROPERTIES:
:CUSTOM_ID: h-cfe21de6-15fa-477a-a5ff-6cd81dfead19
: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 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 install easily the distro (Ive done it so many times, I know how it works
now). Usually, my distros will be installed on at least two partitions, one now). Usually, my distros will be installed on at least two partitions, one
@ -162,6 +183,9 @@
RAM and 4GB of swap, but on my thinkpad I have 4GB of RAM and 8GB of swap. RAM and 4GB of swap, but on my thinkpad I have 4GB of RAM and 8GB of swap.
*** Get the latest live system with fast mirrors *** Get the latest live system with fast mirrors
:PROPERTIES:
:CUSTOM_ID: h-da7951ee-e39a-4a59-a05d-7b7fffdc7825
:END:
When you boot into the live ISO, execute the following command: When you boot into the live ISO, execute the following command:
#+BEGIN_SRC sh :exports code :tangle no #+BEGIN_SRC sh :exports code :tangle no
pacman -Sy reflector pacman -Sy reflector
@ -174,6 +198,9 @@
to your location. to your location.
*** Install the system *** Install the system
:PROPERTIES:
:CUSTOM_ID: h-9f9e1fe5-4726-486b-9875-5fcfd91d0bb0
:END:
Then you can use a custom script to ease your installation of Arch if you do 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, not wish to do it manually. Personally, Ive done it several times already,
I know how the distro works, I just want to be able to install my distro I know how the distro works, I just want to be able to install my distro
@ -192,6 +219,9 @@
from your computer. from your computer.
** Install basic packages ** Install basic packages
:PROPERTIES:
:CUSTOM_ID: h-d2485595-3014-4151-a76c-63bc353359a8
:END:
We will need some basic packages in order to run the bootstrap file. So, We will need some basic packages in order to run the bootstrap file. So,
lets install =fish= (our shell running the script) and =git=. lets install =fish= (our shell running the script) and =git=.
#+BEGIN_SRC sh :exports code :tangle no #+BEGIN_SRC sh :exports code :tangle no
@ -199,6 +229,9 @@
#+END_SRC #+END_SRC
** Execute bootstrap ** Execute bootstrap
:PROPERTIES:
:CUSTOM_ID: h-c13d132f-9e69-4bb0-838b-29c7c5611f11
:END:
=yadm= comes with a very handy feature: its bootstrap script. We can =yadm= comes with a very handy feature: its bootstrap script. We can
execute it by running the following command: execute it by running the following command:
#+BEGIN_SRC fish :exports code :tangle no #+BEGIN_SRC fish :exports code :tangle no
@ -214,6 +247,9 @@
Lets take a look at what it does. Lets take a look at what it does.
*** Get a correct keyboard layout *** Get a correct keyboard layout
:PROPERTIES:
:CUSTOM_ID: h-89fb8f3a-6ec4-4701-a5d9-3e593c47ece9
:END:
I use mainly the [[https://bepo.fr/wiki/Accueil][bépo]] layout, a French keyboard layout inspired by Dvorak 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 layouts, however I sometimes need to switch back to the standard French
AZERTY or the American QWERTY layout, so I make it so the Menu key switches AZERTY or the American QWERTY layout, so I make it so the Menu key switches
@ -237,6 +273,9 @@
#+END_SRC #+END_SRC
*** Set our locale *** Set our locale
:PROPERTIES:
:CUSTOM_ID: h-48678405-93ae-41b6-b44b-285ab0da4e92
:END:
I use two main locales, the French and US UTF-8 locales, and I like to keep I use two main locales, the French and US UTF-8 locales, and I like to keep
the Japanese locale activated just in case. the Japanese locale activated just in case.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -277,6 +316,9 @@
#+END_SRC #+END_SRC
*** Create some folders *** Create some folders
:PROPERTIES:
:CUSTOM_ID: h-85ce90ff-56dc-469b-bf08-480ecf27acc4
:END:
Lets create some folders we might need for mounting our drives, Android Lets create some folders we might need for mounting our drives, Android
devices and CDs. devices and CDs.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -286,6 +328,9 @@
#+END_SRC #+END_SRC
*** Set users shell to fish *** Set users shell to fish
:PROPERTIES:
:CUSTOM_ID: h-c1a78394-c156-4a03-ae82-e5e9d4090dab
:END:
First of all, the bootstrap shell will set the users shell to fish. First of all, the bootstrap shell will set the users shell to fish.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
printf "\n# Set fish as the default shell ###############################################\n\n" printf "\n# Set fish as the default shell ###############################################\n\n"
@ -293,6 +338,9 @@
#+END_SRC #+END_SRC
*** Install =yay= if it isnt already installed *** Install =yay= if it isnt already installed
:PROPERTIES:
:CUSTOM_ID: h-fef57cea-cf1d-4900-9d90-ec6353ea9661
:END:
Now well need to be sure =yay=, our AUR helper, is installed on our system. 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 If it is, we dont need to to anything. However, if it isnt, well install
it manually. it manually.
@ -311,6 +359,9 @@
#+END_SRC #+END_SRC
*** Setting up Emacs: Installing Spacemacs *** Setting up Emacs: Installing Spacemacs
:PROPERTIES:
:CUSTOM_ID: h-bd5a92c4-1a4f-49ea-a447-050a4ff0301c
:END:
Now, the first thing we want to do with Emacs is install its Spacemacs Now, the first thing we want to do with Emacs is install its Spacemacs
distribution. Well clone its =develop= branch into =~/.emacs.d=. We need to distribution. Well clone its =develop= branch into =~/.emacs.d=. We need to
do this prior to our dotfiles cloning because of some submodules that are do this prior to our dotfiles cloning because of some submodules that are
@ -332,7 +383,13 @@
#+END_SRC #+END_SRC
*** Set up dotfiles *** Set up dotfiles
:PROPERTIES:
:CUSTOM_ID: h-cf2c3a24-b08e-4b07-9d51-31f6df781e62
:END:
**** Update our dotfiles remotes **** Update our dotfiles remotes
:PROPERTIES:
:CUSTOM_ID: h-18967335-2637-44d6-b407-bb1d2d2718b9
:END:
This line in the bootstrap script will test if the current user is using my This line in the bootstrap script will test if the current user is using my
username. If yes, its probably me. username. If yes, its probably me.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -356,6 +413,9 @@
#+END_SRC #+END_SRC
**** Get =envtpl= **** Get =envtpl=
:PROPERTIES:
:CUSTOM_ID: h-39034878-7864-4a1c-855d-d9882795aac0
:END:
Before we set our dotfiles up, lets make sure =envtpl= is correctly Before we set our dotfiles up, lets make sure =envtpl= is correctly
installed. This package will be needed for generating our alt dotfiles. installed. This package will be needed for generating our alt dotfiles.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -364,6 +424,9 @@
#+END_SRC #+END_SRC
**** Update our submodules **** Update our submodules
:PROPERTIES:
:CUSTOM_ID: h-ae2f8ccb-a8f3-4699-832c-52cbc8b6d081
:END:
Now we can download the various dependencies of our dotfiles. To do so, Now we can download the various dependencies of our dotfiles. To do so,
lets run the following command: lets run the following command:
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -372,6 +435,9 @@
#+END_SRC #+END_SRC
**** Generate our alt files **** Generate our alt files
:PROPERTIES:
:CUSTOM_ID: h-f924c003-a15c-4132-891f-36cd3948a7c1
:END:
Now this should be the last manipulation on our dotfiles: lets create our Now this should be the last manipulation on our dotfiles: lets create our
alternate files: alternate files:
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -380,6 +446,9 @@
#+END_SRC #+END_SRC
**** Symlink some system config files **** Symlink some system config files
:PROPERTIES:
:CUSTOM_ID: h-b14d7d03-da49-4a7b-ba05-1c0848bd8e44
:END:
We have some files in [[file:ect/][etc/]] that are to be symlinked to =/etc=. We have some files in [[file:ect/][etc/]] that are to be symlinked to =/etc=.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
for f in (find ~/etc -type f) for f in (find ~/etc -type f)
@ -399,6 +468,9 @@
#+END_SRC #+END_SRC
*** Install basic packages *** Install basic packages
:PROPERTIES:
:CUSTOM_ID: h-887ec6d4-535d-4363-a0a7-884717b87a47
:END:
Lets set in a custom varible what packages well be needing. Lets set in a custom varible what packages well be needing.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
set PACKAGES \ set PACKAGES \
@ -439,6 +511,9 @@
#+END_SRC #+END_SRC
*** Installing Tryones Compton fork *** Installing Tryones Compton fork
:PROPERTIES:
:CUSTOM_ID: h-aecf9f01-268c-40cd-8fc3-622c6ce822e4
:END:
For some reason, I found installing directly this fork does not work, and I For some reason, I found installing directly this fork does not work, and I
need to install it after I installed the regular compton packages. need to install it after I installed the regular compton packages.
=compton-tryone-git= will replace =compton= which will be removed. =compton-tryone-git= will replace =compton= which will be removed.
@ -448,10 +523,16 @@
#+END_SRC #+END_SRC
*** Enable some of our services *** Enable some of our services
:PROPERTIES:
:CUSTOM_ID: h-1044da09-e992-4dcb-90ff-513725e1d450
:END:
We have installed some packages which require some services to run. Lets We have installed some packages which require some services to run. Lets
enable them. enable them.
**** Docker **** Docker
:PROPERTIES:
:CUSTOM_ID: h-429cb31a-fccb-420f-a5aa-21054c45fb38
:END:
First, lets activate Docker. First, lets activate Docker.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
printf "\n# Enabling and starting Docker ################################################\n\n" printf "\n# Enabling and starting Docker ################################################\n\n"
@ -468,6 +549,9 @@
#+END_SRC #+END_SRC
**** Emacs **** Emacs
:PROPERTIES:
:CUSTOM_ID: h-7131fa13-3c6e-4cfc-b8e8-c880de9d380f
:END:
Emacs will run as a user service, which means it wont be launched until we Emacs will run as a user service, which means it wont be launched until we
log in. log in.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -476,6 +560,9 @@
#+END_SRC #+END_SRC
**** SSH server **** SSH server
:PROPERTIES:
:CUSTOM_ID: h-1f355779-f1dc-4c0f-9cf1-14724ce05f4d
:END:
Maybe we want to activate an SSH server on our machine. If so, we can Maybe we want to activate an SSH server on our machine. If so, we can
enable it. Lets ask the question. enable it. Lets ask the question.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -487,6 +574,9 @@
#+END_SRC #+END_SRC
**** Ly **** Ly
:PROPERTIES:
:CUSTOM_ID: h-2785fc5b-cd35-4c99-9f47-3dcbf1a7a870
:END:
Ly is a display manager based on ncurses which I find nice enough for me to 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 use (I generally dont like using display managers). Lets enable it, and
lets disable tty2 while were at it (Ly uses it to run X). lets disable tty2 while were at it (Ly uses it to run X).
@ -496,7 +586,13 @@
#+END_SRC #+END_SRC
*** Set up our fish shell *** Set up our fish shell
:PROPERTIES:
:CUSTOM_ID: h-f6f4df67-b0de-40bf-95fb-888d42169088
:END:
**** Install =fisher= **** Install =fisher=
:PROPERTIES:
:CUSTOM_ID: h-d6490ddc-c909-4713-b36a-19c25a79c7ac
:END:
We will be using =fisher= as our extensions manager for Fish. Lets install We will be using =fisher= as our extensions manager for Fish. Lets install
it. it.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -505,6 +601,9 @@
#+END_SRC #+END_SRC
**** Install our extensions **** Install our extensions
:PROPERTIES:
:CUSTOM_ID: h-3d540273-bdfb-4c63-a05f-2374a010dc29
:END:
I generally use the following extensions in my Fish shell. I generally use the following extensions in my Fish shell.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
set FISHEXTENSIONS \ set FISHEXTENSIONS \
@ -518,9 +617,15 @@
#+END_SRC #+END_SRC
*** Install packages from git *** Install packages from git
:PROPERTIES:
:CUSTOM_ID: h-e79da7b2-9286-4b66-812e-453e3b2505c7
:END:
Now, lets install some packages from git directly. Now, lets install some packages from git directly.
**** i3-gaps rounded **** i3-gaps rounded
:PROPERTIES:
:CUSTOM_ID: h-10e229f7-9a45-4401-a9c0-3f974482bb9f
:END:
I know we already installed =i3-gaps= from the AUR, why reinstall it? Well, I know we already installed =i3-gaps= from the AUR, why reinstall it? Well,
that is certainly bad practices, but this allowed me to already have the that is certainly bad practices, but this allowed me to already have the
needed dependencies for building =i3= installed. Now, lets clone it, build needed dependencies for building =i3= installed. Now, lets clone it, build
@ -540,6 +645,9 @@
#+END_SRC #+END_SRC
**** Polybar Battery **** Polybar Battery
:PROPERTIES:
:CUSTOM_ID: h-f228ec52-a7d0-4c16-adfa-75c544fcfa93
:END:
Now lets install =polybar-battery=. This is a binary that Ill use in my 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 [[file:.config/i3/config][i3 config]] to indicate my battery level. It also sends a notification on low
battery and on charging completed. battery and on charging completed.
@ -559,6 +667,9 @@
#+END_SRC #+END_SRC
**** Reveal.JS **** Reveal.JS
:PROPERTIES:
:CUSTOM_ID: h-68d1cdb4-1447-420f-ab0c-53ef905e757b
:END:
I sometimes use Reveal.JS to make presentations, and I set its location in 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. my [[file:.spacemacs][dotspacemacs]] file to be in =~/fromGIT=, so lets clone it there.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -568,7 +679,13 @@
#+END_SRC #+END_SRC
*** Install Rust *** Install Rust
:PROPERTIES:
:CUSTOM_ID: h-57e8af4c-93f2-4145-9c39-a5f8d1c9f012
:END:
**** Install the toolchains **** Install the toolchains
:PROPERTIES:
:CUSTOM_ID: h-05ee25dc-3885-46ca-afaf-35bfb2e385d4
:END:
When using rust, I bounce between two toolchains, the =stable= toolchain When using rust, I bounce between two toolchains, the =stable= toolchain
and the =nightly= toolchain. To install them, I will use =rustup= which has and the =nightly= toolchain. To install them, I will use =rustup= which has
already been installed. already been installed.
@ -584,6 +701,9 @@
#+END_SRC #+END_SRC
**** Install some utilities **** Install some utilities
:PROPERTIES:
:CUSTOM_ID: h-f94f2e18-623f-4aa5-be99-6a7df6a9cbcd
:END:
Well need some utilities when developing Rust from Emacs, namely =rustfmt= Well need some utilities when developing Rust from Emacs, namely =rustfmt=
and =racer=. Lets install them with =cargo=. and =racer=. Lets install them with =cargo=.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
@ -592,6 +712,9 @@
#+END_SRC #+END_SRC
*** Clean the =pacman= and =yay= cache *** Clean the =pacman= and =yay= cache
:PROPERTIES:
:CUSTOM_ID: h-fa5307ec-065b-4d06-9d47-05ccde0da8ac
:END:
Finally, we are almost done! Lets clean the cache of =pacman= and =yay=. Finally, we are almost done! Lets clean the cache of =pacman= and =yay=.
#+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap #+BEGIN_SRC fish :exports code :tangle ~/.yadm/bootstrap
printf "\n# Clean the pacman and yay cache ##############################################\n\n" printf "\n# Clean the pacman and yay cache ##############################################\n\n"
@ -601,6 +724,9 @@
computer and my thinkpad. computer and my thinkpad.
* Licence * Licence
:PROPERTIES:
:CUSTOM_ID: h-a3438126-ee60-4f11-a2f6-f52e49dade59
:END:
All of my dotfiles (and my dotfiles only) are available under the GNU GPLv3 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 Licence. Please consult [[file:LICENCE.md]] for more information. In short: you
are free to access, edit and redistribute all of my dotfiles under the same are free to access, edit and redistribute all of my dotfiles under the same