saschagrunert / dotfiles

My hand crafted .dotfiles 🤚🛠❤️

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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="john@doe.com" 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

vim screenshot alacritty screenshot

Contributing

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

About

My hand crafted .dotfiles 🤚🛠❤️

License:MIT License


Languages

Language:Shell 49.8%Language:Python 27.0%Language:Vim Script 20.5%Language:Nix 1.6%Language:Makefile 0.7%Language:Vim Snippet 0.4%