Git Product home page Git Product logo

dotfiles's Introduction

Dotfiles

A collection of my config files (aka dotfiles) from Arch Linux. This project is intended to quickly setup my customized environment on a new machine.

Here's a quick look what you get after installation (click to full size):

Appearance of the configured desktop

What's included?

application / program description config file(s)
dunst notification daemon .config/dunst/dunstrc
freetype2 font rendering library .config/fontconfig/fonts.conf
i3 window manager .i3/config
i3pystatus i3status replacement .config/pystatus.py
gtk2 widget-toolkit .gtkrc-2.0
mc file manager .config/mc/
openssh secure shell .ssh/config
xorg display server .config/user-dirs.dirs
.local/share/applications/mimeapps.list
.xinitrc
rxvt-unicode terminal emulator .Xdefaults
bash unix shell .bash_profile
.bashrc
vim text editor .vimrc

~/.xinitrc contains hardware dependent options for specific machines. A machine is recognized by its hostname. This is a list of machines I've been using my dotfiles on (I might not be using all of them, but I decided to keep the configs):

  • golem - Desktop PC
  • marshadow - Dell E6400
  • guzzlord - Acer Aspire 5
  • lumineon - Thinkpad X220

Pre install

You need to install base Arch Linux system. Either follow installation guide or use Anarchy Linux. There's no need to install Xorg, desktop environment or any additional packages, as they will be installed during dotfiles setup. You should just be able to log in as a normal user and make sure sudo command works.

Installation

  1. Clone the repository (you will probably need to install git):
$ git clone https://github.com/rubickcz/dotfiles.git && cd dotfiles
  1. Execute setup.sh and follow instructions:
$ ./setup.sh
  1. Install HW dependent packages:
  • Depending on your CPU, install microcode updates.
  • Install video drivers:
    • for nVidia: pacman -S nvidia nvidia-settings
    • for Intel: wiki
  1. Reboot and log in again to load X.org and i3 window manager.

Post install

Following steps were not automated by a script, because it is easier/more convenient to do them by hand.

SSH

  • Copy your SSH keys to ~/.ssh
  • Copy your private host settings to ~/.ssh/hosts

GPG keys

Import your keys to GnuPG:

$ gpg --import /path/to/secret.key

Encrypted password store

pass utility is used to manage passwords, encrypted passwords can be fetched from a private git repo:

git clone <repo_url> ~/.password-store

Private .bashrc

You can add/copy your private aliases and settings to ~/.private_bashrc.

Wallpaper

Copy your favorite wallpaper to ~/media/images/wallpapers/current.jpg, it will be set at startup.

Troubleshooting

/boot is full

This is caused by mounting EFI partition created by Windows (it's size is around 100MB) as /boot. The EFI parition should be mounted to /efi, otherwise Linux kernel image will fill up the space quickly.

X.org does not start or no login prompt

This is most likely caused by some issue with video driver. Make sure drivers for your GPU are installed. Sometimes following actions help:

  • reboot
  • plug monitor to another output (if available)
  • switch to other virtual terminal (using e.g. Ctrl+Alt+F2) and then back

Screen is tearing

The symptoms are visible horizontal lines on fast moving objects (e.g. in a video). The solution, currently for nVidia only, is to switch on X Server Display Configuration -> Advanced -> Force Full Composition Pipeline in nVidia GUI config. To make effect permanent, let nVidia GUI config write values into file and copy it to /etc/X11/xorg.conf.d/20-nvidia.conf.

dotfiles's People

Contributors

rubickcz avatar

Watchers

 avatar

dotfiles's Issues

Gsimplecall is positioned absolutely

Gsimplecal window is positioned absolutely (in i3 config), so it fits nicely only on FullHD display. On smaller displays, the calendar window is not visible. The position should be either relative or computed dynamically from xrandr output.

xxkb does not remember layout for Chromium

For some strange reason, xxkb is not able to remember layout for Chromium window. It should be investigated why. Current workaround is to use fbxkb instead (which sadly does not support remembering of keyboard layout for each window)

Freetype2 config ignored

It seems that freetype2 config .config/fontconfig/fonts.conf is ignored by new versions of freetype2. Last version that was working was 2.6.5-2.

A workaround (until I find time to investigate this) is to not update freetype2 with pacman, i.e.

$ pacman -Syu --ignore freetype2

Cannot set mouse/touchpad speed

I did not find an easy way how to set mouse speed. I can set mouse acceleration but not speed. It needs some investigation. The mouse behavior is OK, however i would like it to be more precise in low speeds (when trying to click super small areas)

Transparency does not work in urxvt

For some reason, transparency is not working in urxvt. only 100 percent transparency is working, otherwise the backround is in shades of gray (depending on the shading attribute)

PGP password dialog is not in focus

Sometimes, when PGP dialog pops up, it has not focus (but rather browser windows has). I have to move my pointer to focus the PGP password entry windows. This breaks the good UX flow.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.