Skip to content

elnappo/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

198c884 · May 10, 2023
Jul 1, 2020
May 9, 2023
May 10, 2023
Oct 21, 2018
Feb 4, 2022
Feb 4, 2022
Nov 7, 2018
Jan 24, 2014
Feb 4, 2022
Oct 18, 2016
May 9, 2023
Sep 29, 2017
Feb 4, 2022
Feb 1, 2022
Feb 16, 2023
Dec 22, 2014
May 28, 2017
Feb 4, 2022
Feb 10, 2018
Dec 10, 2018
Jul 10, 2017
Oct 21, 2018
Feb 4, 2022

Repository files navigation

elnappo’s dotfiles Build Status

These are my dotfiles, they can be used under macOS and Linux (mainly Arch Linux but Ubuntu is also supported). What is special about it is that Ansible is used to configure and sync your system settings. This has many advantages in contrast to simple bash scripts or a Makefile.

Features

  • update packages (homebrew, pacman, apt) and the dotfiles repository with $ update
  • update your settings (dotfiles) with $ dotfiles
  • sync your packages with $ brewsync between hosts
  • Try to use consistent color theme and fonts between all components
  • set some macOS defaults (dotfiles/ansible/tasks/macos_defaults.yml)
  • set some Arch Linux specific options (dotfiles/ansible/tasks/arch.yml)
  • dnscrypt for encrypted and locally cached DNS queries (macOS only)
  • try to keep ~/ clean
  • configuration is mainly handled by Ansible (playbook: ~/.dotfiles/ansible/dotfiles.yml)

Included configurations

  • OS
    • macOS
    • Arch Linux
    • Ubuntu / (CentOS)
  • curl
  • fish / zsh / bash
  • GTK
  • i3 (i3blocks)
  • iTerm 2
  • SSH
  • Terminator
  • Termite
  • tmux
  • Transmission
  • Vim
  • Visual Studio Code
  • Wget
  • Karabiner-Elements

Install (for me)

$ git clone https://github.com/elnappo/dotfiles.git ~/.dotfiles
$ cd ~/.dotfiles/init
$ ./setup.sh

Install (for you)

  • Fork this repository
  • Edit at least the following files (better take a look at all files):
├── ansible
│   ├── tasks
│   │   └── macos_defaults.yml
│   ├── vars
│   │   ├── casks.yml
│   │   ├── formula.yml
│   │   ├── gems.yml
│   │   ├── pip.yml
│   │   └── taps.yml
│   └── vars.yml
└── init
    └── macos.bash
  • Some interesting variables for the Ansible playbook are set in dotfiles/ansible/vars.yml

    • login_shell: /opt/homebrew/bin/fish
    • sudo_without_password: true
    • use_dnscrypt: true install and configure DNSCrypt
    • login_window_text: Enter any 11-digit prime number to continue. set a custom message to appear at the bottom of your login window (macOS)
  • Clone and install dotfiles repository:

$ git clone https://github.com/<YOURNAME>/dotfiles.git ~/.dotfiles
$ cd ~/.dotfiles/init
$ ./setup.sh

What is missing

  • gitconfig

SSH client configuration

~/.ssh/config or system wide in /etc/ssh/ssh_config, an basic example can be found at contrib/ssh_config.

Inspired by