Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akarzim/dotfiles
My personal dotfiles
https://github.com/akarzim/dotfiles
dotfiles zsh
Last synced: 13 days ago
JSON representation
My personal dotfiles
- Host: GitHub
- URL: https://github.com/akarzim/dotfiles
- Owner: akarzim
- License: mit
- Created: 2020-06-07T21:30:46.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-17T07:03:48.000Z (about 2 months ago)
- Last Synced: 2024-12-17T07:43:52.119Z (about 2 months ago)
- Topics: dotfiles, zsh
- Language: Shell
- Size: 369 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
Dotfiles
My personal dotfiles.
Explore the docs »
Report Bug
·
Request Feature
## Table of Contents
* [About the Project](#about-the-project)
* [Built With](#built-with)
* [Getting Started](#getting-started)
* [Prerequisites](#prerequisites)
* [Installation](#installation)
* [Usage](#usage)
* [Miscellanea](#miscellanea)
* [Roadmap](#roadmap)
* [Contributing](#contributing)
* [License](#license)
* [Contact](#contact)
* [Acknowledgements](#acknowledgements)## About The Project
This repo hosts my personal dotfiles.
[![Dotfiles Screen Shot][screenshot]][screenshot]
### Built With
* [ZSH](http://zsh.sourceforge.net/)
## Getting Started
To get a local copy up and running follow these simple steps.
### Prerequisites
* macOS
```sh
brew install bat exa fd fzf git git-delta htop ncdu neovim ripgrep sqlparse \
tig tldr tmux tree universal-ctags watch z zplug
```Plus for [age] file encryption tool support:
```sh
brew tap filippo.io/age https://filippo.io/age
brew install age
```[age]: https://github.com/FiloSottile/age
### Installation
1. Clone the repo
```sh
git clone https://github.com/akarzim/dotfiles.git
```2. Install dotfiles
```sh
cd dotfiles && ./init.zsh
```## Usage
```
Usage: ./init.zsh [-d | --diff] [-f | --force] [-h | --help] [-V | --version] [program ...]Environment:
DIFF hide/show changes between files if they are different (default: 0 ; values: 0, 1)
FORCE overwrite or not existing files if they are different (default: 0 ; values: 0, 1)
GPGTOOL executable for the GPG file encryption tool (default: gpg)
AGETOOL executable for the age file encryption tool (default: age)
AGEKEY path to your age private keyOptions:
--age-key=AGE_KEY path to your age private key
--age-tool=AGE_TOOL set the age file encryption tool executable
--gpg-tool=GPG_TOOL set the gpg file encryption tool executable
-d, --diff, --no-diff show/hide changes between files if they are different
-f, --force, --no-force overwrite or not existing files if they are different
-h, --help print this help
-V, --version print the version number"
```Add support for other dotfiles by creating new `.zsh` files under the `modules/`
directory. You have some functions at your disposal:- `link SOURCE [DOTFILE]` to create a symlink from `SOURCE` to `DOTFILE`
- `copy SOURCE [DOTFILE]` to copy the `SOURCE` file to the `DOTFILE` destination
- `decipher SOURCE [DOTFILE]` to copy an encrypted `SOURCE` file to the `DOTFILE` destination
- `rlink DIRECTORY SOURCE [DOTFILE]` recursively link `SOURCE` to `DOTFILE` in `DIRECTORY` subdirectories
- `rcopy DIRECTORY SOURCE [DOTFILE]` recursively copy `SOURCE` to `DOTFILE` in `DIRECTORY` subdirectories
- `rdecipher DIRECTORY SOURCE [DOTFILE]`recursively decipher `SOURCE` to `DOTFILE` in `DIRECTORY` subdirectories
- `module MODULE` to check if `MODULE` is required
- `program PROGRAM` to check if `PROGRAM` is executableNOTE: The last argument is optional. If it is missing, it will be forged from
the file name `SOURCE` prefixed with a period.### Cache
A caching policy is also available to avoid useless computations:
- `caching_policy DIRECTORY` returns true if the cache is obslolete.
### A la carte
By providing your program selection, you can update a subset of the available
configuration. For example, to choose only zsh and git, just call `./init.zsh
zsh git` and that's it.## Miscellanea
1. `init.zsh` and `functions.zsh` contain ZSH syntax which is not Bash compatible:
- Glob qualifiers[^1]
- Character Highlighting[^2]
1. `functions.zsh` contains BSD-based specific regex syntax[^3]## Roadmap
See the [open issues](https://github.com/akarzim/dotfiles/issues) for a list of
proposed features (and known issues).## Contributing
Contributions are what make the open source community such an amazing place to
be learn, inspire, and create. Any contributions you make are **greatly
appreciated**.1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## License
Distributed under the MIT License. See `LICENSE` for more information.
## Contact
François Vantomme - [@akarzim](https://mastodon.host/@akarzim)
Project Link:
## Acknowledgements
* [Othneil Drew][othneildrew] for [this readme template][readme-template]
* [DevHints.io][devhints] for [this Bash cheatsheet][bash][^1]: http://zsh.sourceforge.net/Doc/Release/Expansion.html#Glob-Qualifiers
[^2]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting
[^3]: https://stackoverflow.com/a/12696899/1340861[contributors-shield]: https://img.shields.io/github/contributors/akarzim/dotfiles.svg?style=flat-square
[contributors-url]: https://github.com/akarzim/dotfiles/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/akarzim/dotfiles.svg?style=flat-square
[forks-url]: https://github.com/akarzim/dotfiles/network/members
[stars-shield]: https://img.shields.io/github/stars/akarzim/dotfiles.svg?style=flat-square
[stars-url]: https://github.com/akarzim/dotfiles/stargazers
[issues-shield]: https://img.shields.io/github/issues/akarzim/dotfiles.svg?style=flat-square
[issues-url]: https://github.com/akarzim/dotfiles/issues
[license-shield]: https://img.shields.io/github/license/akarzim/dotfiles.svg?style=flat-square
[license-url]: https://github.com/akarzim/dotfiles/blob/master/LICENSE.txt
[screenshot]: images/screenshot.png
[othneildrew]: https://github.com/othneildrew
[readme-template]: https://github.com/othneildrew/Best-README-Template
[devhints]: https://devhints.io/
[bash]: https://devhints.io/bash