Files and configuration scripts for terminal and system preferences, mostly focused on macOS.
zsh -c "$(curl -fsSL https://raw.githubusercontent.com/arkandas/dotfiles/master/install.sh)"
utils
folder, you should check them first to verify what you're installing.
The following options are currently available:
- Configure new Mac:
- Installs XCode Command Line Tools and clones this repository
- Installs Homebrew, formulae, casks and apps from Brewfile
- Installs Oh-my-zsh and plugins:
- Installs Powerlevel10k Zsh theme
- Copies Iterm2, .zshrc, Powerlevel10k, nano and .gitignore settings
- Configures and installs OpenJDK, pyenv, fnm and Angular
- Restore system preferences:
- Sets System Preferences from os_prefs.sh
- Set computer name:
- Prompts the user for a new computer name (as done via System Preferences → Sharing)
- 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
-
- Nvidia Optimus drivers: https://wiki.debian.org/NvidiaGraphicsDrivers/Optimus
- Install xorg and xorg-server
- Add Jessie Backports
- Remove nouveau
- Blacklist nouveau on modprobe.d with intel microcode
- Install nvidia-drivers backports and linux headers
- 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
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
Install the following Openbox add-ons:
- Tint2
sudo apt-get install tint2
- Conky (Requires the conky-all package)
sudo apt-get install conky-all
-
Thunar daemon for debian
-
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
-
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
-
blueberry-tray with all the bluetooth config
-
Openbox configuration utilities:
- obconf
- lxapperance
- arandr
- lxrandr
- lxinput
- Clone the Rofi repo Rofi
git clone https://github.com/DaveDavenport/rofi.git
-
Follow the installation guide
-
Install Rofi themes
-
Add Rofi to the hotkeys section in the openbox
rc.xml
file -
Set Rofi on obmenu-generator
-
Change rofi themes with
rofi-theme-selector
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>
-
Clone the Nerd Fonts project from Nerd Fonts
-
Install the fonts using the provided script
-
Reload font cache with:
sudo dpkg-reconfigure fontconfig
-
Reboot or reload with dpkg
-
Select the new system font with
lxappearance
#!/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
- Change Keyboard layout from "us" to "intl"
/etc/default/keyboard
- Check all available keyboard distributions on:
/usr/share/X11/xkb/rules/xorg.lst
- Reconfigure the keyboard:
sudo dpkg-reconfigure keyboard-configuration
- Update initram:
sudo update-initramfs -u
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
- Install conky with:
sudo apt-get install conky-all
-
Clone conky proyect "conky Harmattan" from Conky Harmattan
-
Install inkscape (Necessary for the svg icons)
-
copy the .harmattan-assets folder to the root of your home directory
~
. -
Install dependencies
conky
,curl
andjq
and Droid Sans font -
Copy your
.conkyrc
file to the root of your home directory~
-
Add
conky &
to your openbox autostart file