Skip to content

arkandas/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles_banner

Files and configuration scripts for terminal and system preferences, mostly focused on macOS.

macOS configuration

iterm2

Quick Installation Script

zsh -c "$(curl -fsSL https://raw.githubusercontent.com/arkandas/dotfiles/master/install.sh)"

install_script

⚠️ NOTE: This installer executes scripts from the utils folder, you should check them first to verify what you're installing.

The following options are currently available:

  1. Configure new Mac:
  2. Restore system preferences:
  3. Set computer name:
    • Prompts the user for a new computer name (as done via System Preferences → Sharing)
  4. Set git credentials:
    • Prompts the user for their git username and email

    • Adds ~/.ssh/id_rsa to the users's keychain

    • Configures git to globally ignore certain files defined in ~/.gitignore

    • Configures git to use diff-so-fancy for all diff output

    • Optional: Set multiple git accounts in the ~/.ssh/config file:

      # Main account
      Host github.com
      HostName github.com
      AddKeysToAgent yes
      UseKeychain yes
      IdentityFile ~/.ssh/id_rsa
      
      # Other github account: userName
      Host github-userName
      HostName github.com
      AddKeysToAgent yes
      UseKeychain yes
      IdentityFile ~/.ssh/id_rsa_userName
      IdentitiesOnly yes

Linux Configuration

Debian Openbox

1-Image

2-Image

Nvidia Drivers

Debian non-free microcode

  • Intel video drivers
sudo apt-get install xserver-xorg-video-intel
  • Intel microcode
sudo apt-get install intel-microcode
  • Wifi (wireless tools should be installed by default)
sudo apt-get install wireless-tools

Obmenu

Obmenu-generator github

The program requires a lot of perl dependencies that can be compiled directly from their respective github repos.

Make sure dependencies are met, specially the ones related to gtk2; in case there are errors, launch the program with: obmenu-generator -i and check the output for pipe errors.

IMPORTANT: You will need a config.pl and a schema.pl file inside the ~/.config/obmenu-generator/ folder, changes to the obmenu configuration need to be made to the schema.pl file.

To generate a new dinamic menu with icons:

obmenu-generator -p -i

To generate a static menu with icons:

obmenu-generator -s -i

Openbox

Install the following Openbox add-ons:

  1. Tint2
sudo apt-get install tint2
  1. Conky (Requires the conky-all package)
sudo apt-get install conky-all
  1. Thunar daemon for debian

  2. Volti or VolumeIcon for the volume applet (The real volume controller to select output will be the gtk front of pulseaudio)

sudo apt-get install volti

or

sudo apt-get install volumeicon
  1. Network configuration 5.1. With network manager: Install the network manager package and compile or install the gnome applet (nm-applet). Requires setting the network manager on systemctl (systemctl enable NetworkManager.service) Edit NetworkManager

    5.2. With the Wicd Applet: Debian has control of the network interfaces out of the box (It might require to install the intel wifi microcode upgrade for the wifi subsystem)

    sudo apt-get install wicd wicd-gtk
  2. blueberry-tray with all the bluetooth config

  3. Openbox configuration utilities:

    1. obconf
    2. lxapperance
    3. arandr
    4. lxrandr
    5. lxinput

Rofi

  1. Clone the Rofi repo Rofi
git clone https://github.com/DaveDavenport/rofi.git
  1. Follow the installation guide

  2. Install Rofi themes

  3. Add Rofi to the hotkeys section in the openbox rc.xml file

  4. Set Rofi on obmenu-generator

  5. Change rofi themes with rofi-theme-selector

Keyboard Hotkeys

Hotkeys that trigger actions such as the execution of a program can be added or modified on the rc.xml file at ~/.config/openbox/rc.xml

To add a new keybind, modify your rc.xml, and inside the <keyboard> tag add something like:

<!-- Custom bind -->
 <keybind key="Key combo Ex: C-A-t">
      <action name="Execute">
        <command>terminator</command>
      </action>
    </keybind>

The key mapping is:

Value Key
S Shift Key
C Control Key
A Alt Key
W Super Key
M Meta Key
H Hyper Key

Some samples:

   <!-- Personal Keybinds-->
    <keybind key="C-A-t">
      <action name="Execute">
        <command>terminator</command>
      </action>
    </keybind>
    <keybind key="C-A-g">
      <action name="Execute">
        <command>google-chrome</command>
      </action>
    </keybind>
    <keybind key="C-A-f">
      <action name="Execute">
        <command>xdg-open http://</command>
      </action>
    </keybind>
    <keybind key="C-A-m">
      <action name="Execute">
        <command>thunar</command>
      </action>
    </keybind>
    <keybind key="C-A-c">
      <action name="Execute">
        <command>code</command>
      </action>
    </keybind>
    <keybind key="C-A-r">
      <action name="Execute">
        <command>rofi -show drun -font "inconsolata 10"</command>
      </action>
    </keybind>
    <keybind key="C-A-s">
      <action name="Execute">
        <command>shutter</command>
      </action>
    </keybind>
    <keybind key="XF86MonBrightnessUp">
      <action name="Execute">
        <command>xbacklight +10</command>
      </action>
    </keybind>
    <keybind key="XF86MonBrightnessDown">
      <action name="Execute">
        <command>xbacklight -10</command>
      </action>
    </keybind>
    <!-- End Personal Keybinds-->

Add volumen keys to your config

<keybind key="XF86AudioRaiseVolume">
  <action name="Execute">
    <command>amixer set Master 5%+ unmute</command>
  </action>
</keybind>
<keybind key="XF86AudioLowerVolume">
  <action name="Execute">
    <command>amixer set Master 5%- unmute</command>
  </action>
</keybind>
<keybind key="XF86AudioMute">
  <action name="Execute">
    <command>amixer set Master toggle</command>
  </action>
</keybind>

Nerd Fonts

  1. Clone the Nerd Fonts project from Nerd Fonts

  2. Install the fonts using the provided script

  3. Reload font cache with:

    sudo dpkg-reconfigure fontconfig 
  4. Reboot or reload with dpkg

  5. Select the new system font with lxappearance

Xinitrc Configuration File with nvidia drivers loaded

#!/bin/sh

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
# Xrandr set defaul resulution (1920x1080 - 96 dpi)
# xrandr --dpi 96

# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)

# invoke global X session script
./etc/X11/Xsession

exec openbox-session

Keyboard

  1. Change Keyboard layout from "us" to "intl"
/etc/default/keyboard
  1. Check all available keyboard distributions on:
/usr/share/X11/xkb/rules/xorg.lst 
  1. Reconfigure the keyboard:
sudo dpkg-reconfigure keyboard-configuration
  1. Update initram:
sudo update-initramfs -u 

Notifications

By default, openbox does not support notifications out of the box, so we'll install a notification daemon. The most complete and less intensive resource-wise is xfce4-notifyd:

sudo apt-get install xfce4-notifyd

Conky

  1. Install conky with:
sudo apt-get install conky-all
  1. Clone conky proyect "conky Harmattan" from Conky Harmattan

  2. Install inkscape (Necessary for the svg icons)

  3. copy the .harmattan-assets folder to the root of your home directory ~.

  4. Install dependencies conky, curl and jq and Droid Sans font

  5. Copy your .conkyrc file to the root of your home directory ~

  6. Add conky & to your openbox autostart file

Screenshots

Menu1

Menu2

Menu3

About

Dotfiles for multiple Operating Systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published