home | ||
root | ||
src | ||
.gitignore | ||
.gitmodules | ||
arch-install-checklist.md | ||
install.sh | ||
LICENSE | ||
packages.yaml | ||
README.md | ||
requirements.txt | ||
tox.ini |
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
) - Neovim configuration (Fully adjustable, simply edit
init.vim
) - Automatic unknown command package handler
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
- oh-my-zsh configuration is also supported, but it is off by default, adjust
- 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)
- 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/
androot/
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)