dotfiles
dotfiles copied to clipboard
My hand crafted .dotfiles 🤚🛠❤️
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
-
exa:
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
- vim: The editor
Vim plugins
The following vim plugins are available via these dotfiles:
- abolish: Easily search for, substitute, and abbreviate multiple variants of a word
- airline: Statusline enhancements
- ale: Asynchronous linter and fixer
- auto-pairs: Insert or delete brackets, parens, quotes in pair
- characterize: Unicode character metadata
- commentary: Easy commenting
- ctrlp: Fuzzy file, buffer, mru, tag, etc finder.
- devicons: Unicode characters for nerds
- dispatch: Asynchronous build and test dispatcher
- dracula: Modified variant of the dracula color scheme
- easymotion: Efficient movements
- endwise: Wisely add endings
- eunuch: Helpers for unix
- exchange: Easy text exchange operator
- fish: Fish shell syntax
- fugitive: Git on steroids
- git: Git syntax and definitions
- gitgutter: Git diff in sign column
- go: Enhancements for golang
- haskell: Haskell syntax and definitions
- incsearch: Improved incremental searching
- javascript: JavaScript syntax and definitions
- markdown: Markdown syntax and definitions
- operator-user: Define your own operator easily
- repeat: Enable repeating supported plugin maps
- ripgrep: Ripgrep search helper
- rust: Rust syntax and definitions
- schlepp: Easily moving text selections around
- scriptease: A Vim plugin for Vim plugins
- snippets: Snippets for ultisnips
- speeddating: Use CTRL-A/CTRL-X to increment dates, times, and more
- surround: Quoting/parenthesizing made simple
- tabular: Text filtering and alignment
- tagbar: Sidebar for tags
- targets: Additional text objects
- textobj-comment: Textobject enhancement for comments
- textobj-lastpat: Textobject enhancement for last searched patterns
- textobj-user: Enables custom textobjects
- textobj-variable-segment: Textobject enhancement for variables
- tmux-navigator: Seamlessly switch between tmux panes and vim
- tmuxline: Tmux status line modding
- typescript: Typescript syntax and definitions
- ultisnips: Snipped engine
- undotree: Graphica undo list representation
- unimpaired: Pairs of handy bracket mappings
- youcompleteme: Autocompletion for multiple languages
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.