dotfiles

My hand crafted .dotfiles 🤚🛠❤️

MIT License

Stars
47

Dotfiles

My dotfiles, crafted with

The following dependencies are needed to use all features from this dotfile repository:

  • Desktop:
    • alacritty:
      A cross-platform, GPU-accelerated terminal emulator
    • arc:
      The GTK theme
    • bibata:
      Beatiful cursor theme
    • picom:
      A compositor for X11
    • dunst:
      Lightweight and customizable notification daemon
    • feh:
      A fast and light image viewer
    • hexchat:
      IRC client
    • i3:
      A tiling window manager
    • i3lock-fancy:
      A fancy lock screen for i3
    • i3status-rust:
      A replacement for i3status
    • ibus:
      Intelligent Input Bus
    • j4-dmenu:
      The desktop menu
    • nerd-fonts:
      Iconic fonts
    • networkManager:
      For managing network connections
    • papirus:
      The icon theme
    • spotify:
      Listening to music
    • thunderbird:
      Reading and writing mails
    • unclutter:
      Hides the mouse cursor after a dedicated timeout
    • x11:
      Windowing system
    • xautolock:
      Automatically locks the screen after a certain amount of time
  • Vim:
    • alex:
      Needed for ALE Markdown/asciidoc linting and fixing
    • cscope:
      Tool for source code indexing and querying
    • ctags:
      Generates tags file for source code discovery
    • floskell:
      Needed for ALE Haskell linting and fixing
    • node:
      Needed for YouCompleteMe typescript/javascript support
    • npm:
      Needed for YouCompleteMe typescript/javascript support
    • autopep8:
      Needed for ALE python linting and fixing
    • clang-format:
      Needed for ALE C/C++ linting and fixing
    • golangci-lint:
      Needed for ALE golang linting and fixing
    • hdevtools:
      Needed for ALE haskell linting and fixing
    • hfmt:
      Needed for ALE haskelllinting and fixing
    • hlint:
      Needed for ALE haskelllinting and fixing
    • isort:
      Needed for ALE python linting and fixing
    • prettier:
      Needed for general ALE linting and fixing
    • proselint:
      Needed for ALE Markdown/asciidoc linting and fixing
    • rls:
      Needed for ALE rust linting and fixing
    • rustfmt:
      Needed for ALE rust code formatting
    • shellcheck:
      Needed for ALE bash/sh linting and fixing
    • shfmt:
      Needed for ALE bash/sh linting and fixing
    • textlint:
      Needed for ALE Markdown/asciidoc linting and fixing
    • tflint:
      Needed for ALE terraform linting and fixing
    • write-good:
      Needed for ALE Markdown/asciidoc linting and fixing
    • yapf:
      Needed for ALE python linting and fixing
    • yamllint:
      Needed for ALE yaml linting and fixing
  • Development:
    • autojump:
      A cd command that learns
    • bat:
      Like cat with wings
    • ccache:
      Compiler cache for gcc and clang
    • cht.sh:
      Command line stackoverflow queries
    • clang:
      The LLVM compiler frontend
    • cmake:
      Cross platform make tool
    • cppcheck:
      Linter for C/C++ projects
    • cpplint:
      Linter for C/C++ projects
    • eza:
      Modern version of ls
    • fd:
      A fast alternative to find
    • fish:
      The interactive shell
    • fzf:
      Command line fuzzy finder
    • gdb:
      The debugger for various kind of projects
    • ghc:
      The glasgow haskell compiler
    • git:
      Revision control system
    • golang:
      The go programminng language
    • htop:
      Process manager for the terminal
    • nix:
      A powerful functional package manager
    • osc:
      Command Line Interface to work with an Open Build Service
    • python:
      The python scripting language
    • rainbarf:
      CPU/RAM/battery stats chart bar for tmux
    • ranger:
      VIM-inspired filemanager for the console
    • ripgrep:
      Recursively searches directories for a regex pattern
    • rust:
      The rust programming language
    • rustup:
      Rust toolchain and component management
    • stack:
      The haskell tool stack
    • tig:
      Command line git explorer
    • tmux:
      Terminal multiplexer
    • tokei:
      Count lines of code quickly
    • typos:
      Source code spell checker
    • vim:
      The editor

Vim plugins

The following vim plugins are available via these dotfiles:

Installation

To install all files into your home directory, simply execute:

> git clone https://github.com/saschagrunert/dotfiles ~/.dotfiles
> cd ~/.dotfiles
> make install USER="John Doe" EMAIL="[email protected]" SIGNKEY="123"

The variables USER, EMAIL and SIGNKEY specify additionally created git user data.

Vim

To install all necessary vim plugins you need to run :PlugInstall on initial startup of vim.

Updating

To update to the latest version of these dotfiles:

> make update

Alternatively you can run make crontab which installs a local cron job for updating the repository every hour.

Vim

To update all necessary vim plugins you can run :PlugUpdate or :PlugUpdate!.

Uninstall

To uninstall all created symlinks and data from your home directory, run:

> make uninstall

Screenshots

Contributing

You want to contribute to this project? Wow, thanks! So please just fork it and submit a pull request.