My little and ( very ) basic dotfiles config, including my i3, emacs and zsh configuration files, and some other things I have set up. It's pretty simple, but I like it.
Oh, I almost forget, the calendar thingy it's only for 2020, for 2021 I've made a Python script using the NASA APOD API.
Well, to make it fast and simple, there's a Makefile to create symbolic links to each file of the configuration.
To install everything at once (why not), just execute:
make install-all
Yes, the make
commands are very verbose, but I prefer to keep it that way so they're self explanatory.
Each part has it's own make
command to install it (linking the files would be a better description):
make install-zsh
make install-i3
make install-emacs
This is my zsh/oh-my-zsh configuration, I use the fino theme, with a couple of custom things, nothing especial.
I also have some plugins enabled, but I encourage you to look for the ones that suit what you're going to do:
plugins=(git
git-extras
pip
pyenv
yarn
zsh-syntax-highlighting
)
And, of course, because all software developers are quite lazy, I have some alias established, just a couple:
alias g+++="g++ -Wall -Werror -pedantic -o"
alias gccc="gcc -g -o"
The other one (upmvpn
) is for the university, so it's useless for someone else.
Ans, that's everything on the zsh
front :D
Hidden border, I don't like wasting screen space :D
# BORDER STYLE <normal | 1pixel | pixel xx | none | pixel>
new_window none
new_float normal
# HIDE BORDERS
hide_edge_borders both
Terminus font everywhere. Also, the perfect font size for me is 11pt.
# FONT
# Font for window titles. Will also be used by the bar unless a different font is used in the bar {} block below.
font terminus 11
I use Terminator as my custom terminal.
# START A TERMINAL ('terminator' is my custom terminal)
bindsym $mod+Return exec terminator
Quite long rofi statement to open the menu, but it's all I need/want. Also, quite pretty.
# START PROGRAM LAUNCHER (rofi)
bindsym $mod+d exec "rofi -show drun -modi drun,window,run -font \\"terminus 11\\" -show-icons -sidebar-mode -columns 2 -disable-history -terminal terminator"
My sound section is a bit of a mess, since the Bluetooth headphones volume can't be controlled using this keys. This has to be solved... at some point
##################
# SOUND CONTROLS #
##################
# This sections could use some work, since Bluetooth headphones volume can't be controlled
bindsym $mod+Ctrl+m exec "terminal -fn \\"xft:Hack:style=Medium\\" -e 'alsamixer'"
# VOLUME CONTROLS
bindsym XF86AudioRaiseVolume exec amixer -q set Master 0.75dB+ unmute
bindsym XF86AudioLowerVolume exec amixer -q set Master 0.75dB- unmute
bindsym XF86AudioMute exec amixer -q -D pulse set Master toggle
Package management based on the Alfedi emacs.d config. file (Thanks :D)
(when (>= emacs-major-version 24)
(require 'package)
(add-to-list
'package-archives
'("melpa" . "http://melpa.org/packages/"))
(package-initialize))
(unless (featurep 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(eval-when-compile (require 'use-package))
Basic start-up options and parameters:
;; Start-up Options
(tooltip-mode -1)
(tool-bar-mode -1)
(menu-bar-mode -1)
(scroll-bar-mode -1)
(electric-pair-mode 1)
(show-paren-mode 1)
(set-window-fringes nil 0 0)
(setq custom-file "~/.emacs.d/.emacs-custom.el")
(setq make-backup-files nil)
(setq auto-save-default nil)
Deletion of the whole selected text if the user press any key:
;; Delete the selected text when key pressed
(delete-selection-mode t)
No splash-screen and no startup screen:
;; Splash-screen
(setq inhibit-splash-screen t)
(setq initial-scratch-message nil)
(setq inhibit-startup-screen t)
Sets the indentation width to 2 spaces (I've used the Google approach):
;; Indentation
(setq tab-width 2
indent-tabs-mode nil)
Change the Yes/No
option to Y/N
, which makes more sense than typing the whole word:
;; yes/no --> y/n
(defalias 'yes-or-no-p 'y-or-n-p)
Disable automatic backups and saves (they're quite annoying sometimes):
;; Backup and Autosaves (thanks Git ;D)
(setq make-backup-files nil)
(setq auto-save-default nil)