From 6b7cb66baa483fc4ff9b421edf5eba09f9ecb83e Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Wed, 29 Jan 2020 21:19:57 +0100 Subject: [PATCH] updated installation bootstrap --- .config/yadm/bootstrap | 40 ++++----- org/config-website/installation.org | 134 +++++++++++++++------------- 2 files changed, 92 insertions(+), 82 deletions(-) diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap index ff81185..8458d4b 100755 --- a/.config/yadm/bootstrap +++ b/.config/yadm/bootstrap @@ -73,7 +73,7 @@ docker-compose dockerfile-language-server-bin doxygen dunst dwarffortress \ emacs exfat-utils farbfeld feh ffmpegthumbnailer findutils firefox \ flake8 font-mathematica fontforge freeglut fzf gcc-libs gdb gimp glibc \ gnome-disk-utility gnome-epub-thumbnailer gnu-free-fonts gnuplot go-tools \ -golangci-lint-bin graphviz htop i3-gaps i3lock-blur i3status igdm-bin \ +golangci-lint-bin graphviz htop i3-gaps-rounded i3lock-blur i3status igdm-bin \ inetutils j4-dmenu-desktop javascript-typescript-langserver js-beautify \ jfsutils jmtpfs lastpass-cli less linux-headers lldb logrotate lvm2 ly-git \ meson minted mpc mpd mpd-rich-presence-discord-git mpv mupdf-tools nano ncdu \ @@ -167,27 +167,6 @@ if test $nanoroot = 'y' || test $nanoroot = "Y" || test $nanoroot = '' sudo ln -s $HOME/.nanorc /root/.nanorc end -printf "\n# Installing fisher ###########################################################\n\n" -curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish - -set FISHEXTENSIONS \ -edc/bass franciscolourenco/done jethrokuan/fzf jethrokuan/z \ -jorgebucaran/fish-getopts laughedelic/pisces matchai/spacefish \ -tuvistavie/fish-ssh-agent - -fisher add $FISHEXTENSIONS - -printf "\n# Install i3-gaps-rounded #####################################################\n\n" -cd ~/fromGIT -git clone https://github.com/resloved/i3.git i3-gaps-rounded -cd i3-gaps-rounded -rm -rf build -autoreconf --force --install -mkdir build && cd build -../configure --prefix=/usr --sysconfdir=/etc --disable-sanitizers -make -j -sudo make install - printf "\n# Install polybar-battery #####################################################\n\n" cd ~/fromGIT git clone https://github.com/drdeimos/polybar_another_battery.git @@ -212,8 +191,10 @@ cargo install rustfmt racer rustup component add src rustup component add rls +printf "\n# Installing Python packages ##################################################\n\n" pip install --user pyls-isort pyls-mypy +printf "\n# Installing Go packages ######################################################\n\n" go get -v golang.org/x/tools/gopls@latest go get -u -v golang.org/x/tools/cmd/godoc go get -u -v golang.org/x/tools/cmd/goimports @@ -231,6 +212,7 @@ go get -u -v github.com/rogpeppe/godef go get -u -v github.com/zmb3/gogetdoc go get -u -v golang.org/x/tools/gopls +printf "\n# Setting up Chicken ##########################################################\n\n" chicken-install -s apropos chicken-doc cd (chicken-csi -b -e "(import (chicken platform))" -p "(chicken-home)") @@ -238,3 +220,17 @@ curl https://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | sudo tar zx printf "\n# Clean the pacman and yay cache ##############################################\n\n" yay -Sc --noconfirm + +printf "\n# Installing fisher ###########################################################\n\n" +curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish + +printf "\n# Installing Fisher Extensions ################################################\n\n" +fisher add oh-my-fish/theme-bobthefish +fisher add jorgebucaran/fish-bax +fisher add franciscolourenco/done +fisher add jethrokuan/fzf +fisher add jethrokuan/z +fisher add jorgebucaran/fish-getopts +fisher add laughedelic/pisces +fisher add tuvistavie/fish-ssh-agent +fisher add acomagu/fish-async-prompt diff --git a/org/config-website/installation.org b/org/config-website/installation.org index ccdecdb..0517039 100644 --- a/org/config-website/installation.org +++ b/org/config-website/installation.org @@ -1,5 +1,5 @@ #+TITLE: Install a Phundrak-flavored Arch Linux -#+INCLUDE: ~/org/config-website/headers.org +#+INCLUDE: headers.org #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: @@ -39,9 +39,6 @@ - [[#acpilight][Acpilight]] - [[#nordvpn][NordVPN]] - [[#symlink-some-system-config-files][Symlink some system config files]] - - [[#set-up-our-fish-shell][Set up our fish shell]] - - [[#install-fisher][Install =fisher=]] - - [[#install-our-extensions][Install our extensions]] - [[#install-packages-from-git][Install packages from git]] - [[#i3-gaps-rounded][i3-gaps rounded]] - [[#polybar-battery][Polybar Battery]] @@ -53,6 +50,9 @@ - [[#install-go-packages][Install go packages]] - [[#set-up-chicken-scheme-interpretercompiler][Set up Chicken (Scheme interpreter/compiler)]] - [[#clean-the-pacman-and-yay-cache][Clean the =pacman= and =yay= cache]] + - [[#set-up-our-fish-shell][Set up our fish shell]] + - [[#install-fisher][Install =fisher=]] + - [[#install-our-extensions][Install our extensions]] * Introduction :PROPERTIES: @@ -290,7 +290,7 @@ emacs exfat-utils farbfeld feh ffmpegthumbnailer findutils firefox \ flake8 font-mathematica fontforge freeglut fzf gcc-libs gdb gimp glibc \ gnome-disk-utility gnome-epub-thumbnailer gnu-free-fonts gnuplot go-tools \ - golangci-lint-bin graphviz htop i3-gaps i3lock-blur i3status igdm-bin \ + golangci-lint-bin graphviz htop i3-gaps-rounded i3lock-blur i3status igdm-bin \ inetutils j4-dmenu-desktop javascript-typescript-langserver js-beautify \ jfsutils jmtpfs lastpass-cli less linux-headers lldb logrotate lvm2 ly-git \ meson minted mpc mpd mpd-rich-presence-discord-git mpv mupdf-tools nano ncdu \ @@ -530,65 +530,12 @@ end #+END_SRC -** Set up our fish shell - :PROPERTIES: - :CUSTOM_ID: h-f6f4df67-b0de-40bf-95fb-888d42169088 - :END: -*** Install =fisher= - :PROPERTIES: - :CUSTOM_ID: h-d6490ddc-c909-4713-b36a-19c25a79c7ac - :END: - We will be using =fisher= as our extensions manager for Fish. Let’s install - it. - #+BEGIN_SRC fish - printf "\n# Installing fisher ###########################################################\n\n" - curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish - #+END_SRC - -*** Install our extensions - :PROPERTIES: - :CUSTOM_ID: h-3d540273-bdfb-4c63-a05f-2374a010dc29 - :END: - I generally use the following extensions in my Fish shell. - #+BEGIN_SRC fish - set FISHEXTENSIONS \ - edc/bass franciscolourenco/done jethrokuan/fzf jethrokuan/z \ - jorgebucaran/fish-getopts laughedelic/pisces matchai/spacefish \ - tuvistavie/fish-ssh-agent - #+END_SRC - Let’s install these: - #+BEGIN_SRC fish - fisher add $FISHEXTENSIONS - #+END_SRC - ** Install packages from git :PROPERTIES: :CUSTOM_ID: h-e79da7b2-9286-4b66-812e-453e3b2505c7 :END: Now, let’s install some packages from git directly. -*** 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, - that is certainly bad practices, but this allowed me to already have the - needed dependencies for building =i3= installed. Now, let’s clone it, build - it, and install it. Doing this is probably very bad practices though, be - warned. - #+BEGIN_SRC fish - printf "\n# Install i3-gaps-rounded #####################################################\n\n" - cd ~/fromGIT - git clone https://github.com/resloved/i3.git i3-gaps-rounded - cd i3-gaps-rounded - rm -rf build - autoreconf --force --install - mkdir build && cd build - ../configure --prefix=/usr --sysconfdir=/etc --disable-sanitizers - make -j - sudo make install - #+END_SRC - *** Polybar Battery :PROPERTIES: :CUSTOM_ID: h-f228ec52-a7d0-4c16-adfa-75c544fcfa93 @@ -669,6 +616,7 @@ Some packages will be needed from pip in order to get our Emacs setup correctly working. Let’s install them locally for our user: #+BEGIN_SRC fish + printf "\n# Installing Python packages ##################################################\n\n" pip install --user pyls-isort pyls-mypy #+END_SRC @@ -679,6 +627,7 @@ For go development from Emacs, the Spacemacs go and lsp layers requires some packages to be installed. #+BEGIN_SRC fish + printf "\n# Installing Go packages ######################################################\n\n" go get -v golang.org/x/tools/gopls@latest go get -u -v golang.org/x/tools/cmd/godoc go get -u -v golang.org/x/tools/cmd/goimports @@ -704,6 +653,7 @@ Chicken needs to be set up before being used. First, we need to install its documentation. #+BEGIN_SRC fish + printf "\n# Setting up Chicken ##########################################################\n\n" chicken-install -s apropos chicken-doc #+END_SRC @@ -722,5 +672,69 @@ printf "\n# Clean the pacman and yay cache ##############################################\n\n" yay -Sc --noconfirm #+END_SRC - You should now run a system pretty close to the one I have on my main - computer and my thinkpad. + +** Export configuration file from org files + As I strive to write most of my configuration file as literary programming + files through org-mode, they are not versioned nor downloaded by git when + cloning my dotfiles. This is why + +** Set up our fish shell + :PROPERTIES: + :CUSTOM_ID: h-f6f4df67-b0de-40bf-95fb-888d42169088 + :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 + :END: + We will be using =fisher= as our extensions manager for Fish. Let’s install + it. + #+BEGIN_SRC fish + printf "\n# Installing fisher ###########################################################\n\n" + curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish + #+END_SRC + +*** Install our extensions + :PROPERTIES: + :CUSTOM_ID: h-3d540273-bdfb-4c63-a05f-2374a010dc29 + :END: + I generally use the following extensions in my Fish shell. + #+NAME: fish-extensions + #+CAPTION: Fish extensions managed by Fisher + | Package name | Description | + |-----------------------------+------------------------------------------------------------------| + | oh-my-fish/theme-bobthefish | Robust, git-aware, powerline prompt | + | jorgebucaran/fish-bax | Run bash scripts, replaying environment changes in fish | + | franciscolourenco/done | Automatically receive notifications when a long process finishes | + | jethrokuan/fzf | Improved key bindings for [[https://github.com/junegunn/fzf][junegunn/fzf]] | + | jethrokuan/z | Pure-fish [[https://github.com/rupa/z][rupa/z]]-like directory jumping | + | jorgebucaran/fish-getopts | CLI options parser; alternative to the [[https://fishshell.com/docs/current/commands.html#argparse][argparse]] fish builtin | + | laughedelic/pisces | Autoclose parentheses, braces, quotes and other paired symbols | + | tuvistavie/fish-ssh-agent | Utility functions to start your ssh agent | + | acomagu/fish-async-prompt | Make your prompt asynchronous to increase it reactivity | + + #+NAME: fish-ext-py + #+BEGIN_SRC python :exports none :tangle no :var extensions=fish-extensions :cache yes + results = '' + for extension in extensions: + results += "fisher add {0}\n".format(extension[0]) + return results + #+END_SRC + + #+RESULTS[e82c7269c09b1d43a1a335a13c422b22b59079b1]: fish-ext-py + : fisher add oh-my-fish/theme-bobthefish + : fisher add jorgebucaran/fish-bax + : fisher add franciscolourenco/done + : fisher add jethrokuan/fzf + : fisher add jethrokuan/z + : fisher add jorgebucaran/fish-getopts + : fisher add laughedelic/pisces + : fisher add tuvistavie/fish-ssh-agent + : fisher add acomagu/fish-async-prompt + + #+BEGIN_SRC fish :noweb yes + printf "\n# Installing Fisher Extensions ################################################\n\n" + <> + #+END_SRC