My personal linux configuration files (dotfiles). These include custom full-fledged ZSH configuration, vim config, many handy aliases and other things.
Go to file
2021-05-11 12:34:15 +02:00
home Add symlink to vimrc for neovim 2021-05-11 12:34:15 +02:00
root Set timeout when logged as root 2021-05-10 22:10:21 +02:00
src Compltete source-code rewrite 2021-04-12 18:06:50 +02:00
.gitignore Add pacman cache cleanup utilities 2021-04-01 19:27:56 +02:00
.gitmodules Add dotfiles 2020-10-22 18:00:38 +02:00
arch-install-checklist.md Compltete source-code rewrite 2021-04-12 18:06:50 +02:00
install.sh Use requirements.txt for dependencies 2021-03-09 22:18:35 +01:00
LICENSE Create LICENSE 2020-10-23 11:09:50 +02:00
packages.yaml Add more font packgaes 2021-05-11 12:33:41 +02:00
README.md Update README.md 2021-05-10 17:35:06 +00:00
requirements.txt Compltete source-code rewrite 2021-04-12 18:06:50 +02:00
tox.ini Compltete source-code rewrite 2021-04-12 18:06:50 +02:00

Dotfiles

These are my personal dotfiles. This also include an automated installer for certain packages (Arch Linux specific) and for putting the dotfiles in place. Source code for this automated script is in src directory, and the dotfiles are located in home and root directories respectively.

You are highly adviced to first go through these dotfiles yourself and adjust them to your liking.

What does it do

  • Automated arch installation script
  • Full fledged ZSH configuration without the need to rely on oh-my-zsh
    • oh-my-zsh configuration is also supported, but it is off by default, adjust .zshrc to enable it
    • Even though enabling it is an option, it is not a necessary thing to do, oh-my-zsh has a lot of code that is mostly irrelevant and unused, these dotfiles give you the ability to completely avoid it, if you desire to do so
  • Custom prompt, both for oh-my-zsh configuration or for standalone usage
  • Custom VIM configuration (this was designed for regular vim, nvim support can't be guaranteed)
  • Many handy aliases (likely too many, you should adjust that to your needs)
  • XDG configuration to avoid too much cluttering in home directory
  • Automatic handlers which override default command not found behavior to show the package to which given command belongs (requires pkgfile on Arch Linux)
  • Automated package installation for Arch Linux, which includes many handy packages. You should certainly take a look at which packages will be installed and adjust packages.yaml before you run it.
  • Extensive vscode settings, note that these are the settings which I like, you will probably want to adjust them to your personal needs, or perhaps even replace them
  • Opensnitch firewall rules, which block most unauthorized traffic and only allow needed things. This also blocks spotify ads.

Requirements

curl and tar, or git to clone the repository itself. Installation uses python and pip with some python packages in requirements.txt but these will get installed automatically by the install.sh script.

Sample images

  • Prompt (Fully adjustable, either manually here, or using other oh-my-zsh themes and removing the custom theme from .zshrc) image
  • Vim configuration (Fully adjustable, simply edit vimrc) image
  • Automatic unknown command package handler image

Installation

Clone this repository anywhere you like $ git clone https://github.com/ItsDrike/dotfiles

If you don't want to install git (running straight from newly installed os), you can use curl:
$ curl -LJO https://github.com/ItsDrike/dotfiles/tarball/master
And extract from .tar.gz archive: $ tar xvf [archive name]

Running the script

Before you run, you should take a look at the files included and adjust them however you like.
Make sure you only run the script after you've adjusted everything to your liking, there are many things which aren't needed and might not be desired, make sure to really check every file this will add and remove/adjust those you don't want

  • All config files which will be added are in home/ and root/ directory. Make sure to remove the undesired ones.
  • All packages are located in packages.yaml, Make sure to remove all packages which you don't want to be installed.

When you are prepared, you can run the installer (assuming you're in the clonned directory): $ chmod +x install.sh (Make installation script executable) $ sh install.sh (run the installation script, which will begin the instalaltion)