updated installation bootstrap

This commit is contained in:
Lucien Cartier-Tilet 2020-01-29 21:19:57 +01:00
parent 0064c97c27
commit 6b7cb66baa
Signed by: phundrak
GPG Key ID: BD7789E705CB8DCA
2 changed files with 92 additions and 82 deletions

View File

@ -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

View File

@ -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: <meta name="description" content="Phundrak-flavored Arch Linux" />
#+HTML_HEAD_EXTRA: <meta property="og:title" content="Phundrak-flavored Arch Linux" />
@ -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. Lets 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
Lets 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, lets 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, lets 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. Lets 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. Lets 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"
<<fish-ext-py()>>
#+END_SRC