Skip to content

A personal repository of dotfiles, configs, scripts and tools I often setup after any (arch) Linux installation.

Notifications You must be signed in to change notification settings

01walid/my-arch-stuff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Arch Linux Stuff

Personal repository of dotfiles, configs, scripts and tools I often setup after any (arch) Linux installation. I decided to gather them in one place, so I can remember exactly what I did, and maintain the same personal-experience across machines/servers and improve it over time.

You’re welcome to use them, but you’ll probably want to fork it to remove anything peculiar to me or my setup that I’ve left in here. I'll be glad if you suggest me any improvement or better tools.

These are a bit Archlinux-specific stuff, but they can be useful for other distros as well.

Post-installation tools

Don't expect that I'll list everything here (e.g. install git, libreoffice, firefox...), but I'll list what are other uncommon tools that I need them or found them useful to me, but it's usually hard to remember them (or even their names) at once, so here they are:

Extra packages repositories

I often activate the multilib repository in /etc/pacman.conf plus these 2 more repos:

[archlinuxfr]
# For downloading 'yaourt', a wrapper for pacman which adds seamless access to the Arch User Repository
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

[herecura-stable]
# additional apps not found in community (such as python-enabled Vim, qVim, teamviewer... etc)
Server = http://repo.herecura.be/herecura-stable/$arch
SigLevel = PackageOptional

Sorting the best mirrors

I use Reflector, a script which can retrieve the latest mirror list from the MirrorStatus page, filter the most up-to-date mirrors, sort them by speed and overwrite the file /etc/pacman.d/mirrorlist.

Here is the command I use:

reflector --verbose -l 6 --sort rate --save /etc/pacman.d/mirrorlis

You can find it in scripts/bestservers.sh so you don't have to remember it.

Font configs

I use the awesome infinality project to improve the font rendering, to an even better-than-windows rendering:

yaourt freetype2-infinality 
yaourt fontconfig-infinality # this may be a dependency of the first one

I then activate the LCD filter, anyway, everything is very well described in the Arch Wiki. you can find my fonts.conf file in confs/.config/fontconfig/fonts.conf that obviously should reside in ~/.config/fontconfig/fonts.conf of your Home directory.

However, some widely used fonts (especially on the web) should be installed in your system, here are some I often install:

yaourt ttf-arabeyes-fonts # Collection of free Arabic fonts
yaourt ttf-amiri 
yaourt ttf-sil-scheherazade # Unicode Arabic font from SIL 
yaourt ttf-qurancomplex-fonts # Fonts by King Fahd Glorious Quran Printing Complex in al-Madinah al-Munawwarah
pacman -S ttf-ubuntu-font-family
yaourt ttf-tahoma # or yaourt ttf-microsoft-tahoma 
yaourt ttf-win7-fonts 

See this Wiki section for more fonts. For the terminal (and even for coding) I use Monofur, and as Arabic web content is more and more using the Android fonts, I also install droid-arabic-naskh and droid-arabic-kufi (they're all available in AUR).

If you installed Infinality as I mentioned, it comes with the infctl setstyle command, you can select the font style (win7, winxp, osx, linux, ...), for instance: infctl setstyle win7 to mimic the font rendering to be the same as Windows7 (or better!).

Better Gnome/gtk app appearance

I use KDE, and by default, some gtk apps look ugly, to fix that (so they look like native KDE apps), install:

pacman -S gtk-qt-engin
pacman -S oxygen-gtk3
yaourt oxygen-gtk-icon

Then go to system settings -> GTK Styles and Fonts, select the oxygen-gtk style, logout/in, done.

For the sake of beauty I use KFaenza icons (like Faenza but for KDE!) yaourt kfaenza with Androbit KDE desktop theme.

Better windows file systems handling

To be able to format USB sticks and other hard-disk partitions to FAT/NTFS:

pacman -S dosfstools # gets you mkfs.vfat and mkfs.msdos
pacman -S ntfsprogs  # gets you mkfs.ntf
pacman -S exfat-utils # for the exFAT file system

# optional, for supporting the Samsung Flash-Friendly File System (F2FS)
pacman -S f2fs-tools

Better Terminal

I use zsh instead of bash, with the must-have oh-my-zsh with git (enabled by default) and syntax highlighting plugins. You can find my .zshrc file in dotfiles/.zshrc.

Pacman colors

From version >= 4, Pacman support colored outputs, you just need to uncomment the "Color" line in pacman.conf.

Git basic config

Important before doing any commit, so you won't loose any credits:

git config --global user.name "YOUR FULL NAME HERE"
git config --global user.email "YOUR EMAIL HERE"
git config --global core.editor nano # or vim
git config --global color.ui true
git config format.pretty oneline # optional

Allow mounting a filesystem on a system device for any user

Put the following in /etc/polkit-1/rules.d/10-enable-mount.rules

polkit.addRule(function(action) {
    if (action.id == "org.freedesktop.udisks2.filesystem-mount-system") {
        return polkit.Result.YES;
    }
});

Routine stuff

from time to time, I run these commands:

$ pacman -Sc # to delete unused packages and free up disk space
$ pacman-optimize # Improves pacman's database access speeds (puts all the small files together in one (physical) location on the hard disk )
$ fc-cache -vf # for refreshing the font cache
$ yaourt -Syua --devel # full system update, however I often just use pacman -Syu

Tools I use

  • pacman -S imagemagic this includes the convert command to convert between image format or resize them easily, e.g. convert input.jpg output.png, or even to PDF: convert page*.png output.pdf. Search the web for advanced usage.

  • pacman -S texlive-latexextr and pacman -S texlive-scienc if you use LaTex, these include the "polyglossia" package for better Arabic support (see this paper) and some other useful scientific packages

  • pacman -S youtube-dl to download online videos from the command line with ease, example usage: youtube-dl -t <video-link-here>, the -t option to set the video title as the name of the downloaded file.

  • pacman -S tree a directory listing program displaying a depth indented list of files. Example usage:

$ cd /to/some/directory
$ tree
# the ouput:
|-- net
|   |-- dev_snmp6
|   |-- netfilter
|   |-- rpc
|   |   |-- auth.rpcsec.context
|   |   |-- auth.rpcsec.init
|   |   |-- nfsd.export
|   |   `-- nfsd.fh
|   `-- stat
|-- root -> /

you can print that to file: tree > file.txt

  • pacman -S cloc for counting lines of code, see: http://cloc.sourceforge.net, kudos to @sohaibafifi.

  • setfacl (comes with systemd as a dependency) for more advanced folder and user/groups permissions.

  • pacdiff for managing .pacnew files and see the diff, and also use Kompare, and Kdiff3 (GUIs for KDE).

  • yaourt --stats nice stats about installed packages.

I believe there are other useful tools I use from time to time, I'll write them here whenever I remember them.

TODO

  • ☐ Android devices handling.
  • ☐ My nginx configuration files.
  • ☐ Add an install file for auto-installing all of the mentioned tools and config/dotfiles.

License

Public domain. Do whatever you like with it if any is useful to you.

About

A personal repository of dotfiles, configs, scripts and tools I often setup after any (arch) Linux installation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published