My personal linux configuration files (dotfiles). These include custom full-fledged ZSH configuration, vim config, many handy aliases and other things.
Find a file
2021-07-16 05:10:21 +02:00
home Rewrite xmobar config 2021-07-16 05:10:11 +02:00
root Merge branch 'arch' into gentoo 2021-07-16 00:43:17 +02:00
.gitignore Add pacman cache cleanup utilities 2021-04-01 19:27:56 +02:00
.gitmodules Add dmenu git module 2021-07-14 14:35:41 +02:00
kernel-config.md Add kernel config guide file 2021-07-14 14:38:58 +02:00
LICENSE Create LICENSE 2020-10-23 11:09:50 +02:00
README.md Update README.md 2021-05-11 15:25:34 +00: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.

Sample images

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

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 (designed for nvim, but will work for vim with some adjustments). This config will automatically install addons first time it's used, and it will detect if it's running in TTY and use default fonts only, to avoid errors.
  • Many handy aliases and functions (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.
  • Automatic logout for TTY sessions or for root logins after 10 minutes of inactivity
  • NetworkManager configuration which assigns new mac for each network

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.

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)