/my-linux-config

The purpose of this repository is to keep detailed and updated instructions on what and how to install my optimal minimum required Linux system for front-end development

Creative Commons Zero v1.0 UniversalCC0-1.0

Linux: from zero to front-end ready

Introduction

The purpose of this repository is to keep detailed and updated instructions on what and how to install my optimal minimum required linux system for front-end development. It is also aimed to all the users which are interested in using linux, but feel insecure because all the myths about the Linux complexity

Operating system

Antergos

Antergos is a Linux distro based on Arch Linux. The reason why is my chosen distro are:

  • Rolling release: It comes with the latests packages. More about rolling relase
  • Stability: Do not crashes unexpectedly, is a very stable system.
  • Packages repo: Is the same as Arch and basically has everything I look for.
  • Ease of installation: The installer, Cnchi is really easy.
  • preinstalled desktops: Comes with many options for desktops (mate, KDE, Cinnamon, including no desktop at all.

How to install

  1. Download the latest Antergos ISO file to your computer.
  2. If you are already using Linux, I would recommend Etcher to burn the ISO into a USB.
  3. Reboot your system and select the USB as booting system
  4. Antergos will boot from your USB, ensure that you are connected to internet to update Antergos installer. If you are using WiFi, look for it it in the top left menu.
  5. Before installing it, you can test Antergos directly for the USB.
  6. Once you are ready, launch Cnchi installer.
  7. Choose your language and location
  8. Choose what desktop you want to install. My recommendation is to use Gnome (more about this later).
  9. Choose what software your want to install by default. I tend to install:
    1. AUR: The Arch User Repository (More on this later)
    2. Bluetooth
    3. Chromium + Firefox
    4. Print support
    5. Libreoffice
  10. Mirrors More about mirrors
  11. Erase disk and install Antergos.
  12. Wait for install and reload.

Package managers

PACMAN Pacman is the built-in software manager for antergos. Is the tool you'll use to download and update your system software.

About pacman :point-right: 1. Search a package: sudo pacman -Ss <name> 1. Install a package sudo pacman -S <name> 1. Remove sudo pacman -Rs <name> 1. Upgrade sudo pacman -Syu

AUR The Arch User Repository (AUR) is a community-driven repository for Arch users. Its a sort of pacman, but community-driven.

About AUR (Arch User Repository) :point-right: https://wiki.archlinux.org/index.php/Pacman_(Espa%C3%B1ol) 1. Search a package: yaourt -Ss <name> 1. Install a package: yaourt -S <name> --noconfirm 1. Remove a package: yaourt -Rs <name> --noconfirm 1. Upgrade a package: yaourt -Syua --noconfirm 1. Install through yaourt without --noconfirm 1. Edit PKGBUILD? -> N 1. Edit {name}.install? -> N 1. Continue building {name}? -> Y 1. Continue installing {name}? -> Y

Desktop Manager: Gnome

Gnome is my favourite desktop. It has the better user experience, stability and user interface. Is not as fast as other desktops, specially tiling window managers. its easy to use and has a huge community and amazing software. If you prioritize performance in your desktop over UX or UI, you should probably check i3

  1. Gnome cheat sheet
  2. GNOME Tweak Tool. Installed by default, allows you to edit advanced assets from your desktop, as the icons or the shell theme.
    1. Gnome Shell. The look and feel of your dektops. There are thousands out there. I use Numix Frost
    2. Icons. I use Numix Squeare. There are many icon sets (install on ~/.icons and choose theme in the selector)
  3. GNOME extensions are plugins for your desktop.
    1. Extensions can be installed, activated and removed from your browser https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation#Arch_Linux
      1. AlternateTab https://extensions.gnome.org/extension/15/alternatetab/
      2. Applications menu https://extensions.gnome.org/extension/6/applications-menu/
      3. Dash to Dock https://extensions.gnome.org/extension/307/dash-to-dock/
      4. Native Window placement https://extensions.gnome.org/extension/18/native-window-placement/
      5. Removable Drive Menu https://extensions.gnome.org/extension/7/removable-drive-menu/
      6. User Themes https://extensions.gnome.org/extension/19/user-themes/
  4. Advanced Gnome

Terminal

  1. Install VIM editor

  2. ZSH

    1. Select default options when installing

    2. Changing_your_default_shell: Set as your default shell on reload

      chsh -s /usr/bin/zsh
      
  3. Antigen . The plugin manager for ZSH

    1. Install through yaourt -S antigen-git
      source /usr/share/zsh/share/antigen.zsh
      
    2. Extensions antigen bundle {pluginName}
      1. Oh-my-zsh
      2. Themes
      3. NVM
      4. Z
    3. Log out and log in again to reload your terminal.

GIT

  1. Install Git as Antigen extension
  2. Configure GIT
  3. Generate an SSH key
  4. Add the SSH key to github
  5. Add the SSH key to gitlab

Fonts

  1. How to install fonts
  2. Also the Gnome fonts viewer (open the font and click on install)

Browsers sudo pacman -Ss {browser-name}

  1. Firefox Developer Edition sudo pacman -S firefox-developer-edition
  2. Chromium sudo pacman -S chromium

Code editor

  1. VSCode yaourt -S code --noconfirm

UI editors

  1. Vectorial: Inkscape pacman -S inkcape
    1. Inkscape Open Symbols
    2. Inkscape SVGO
    3. Inkscape export layers
    4. Inkscape placeholders
  2. Bitmap: Gimp pacman -S gimp

Troubleshooting

  1. NodeJS ENOSPC