An open API service indexing awesome lists of open source software.

https://github.com/ioncache/dotfiles

'nix dotfiles
https://github.com/ioncache/dotfiles

bash dotfiles

Last synced: 12 months ago
JSON representation

'nix dotfiles

Awesome Lists containing this project

README

          

# dotfiles

## Description

'nix dotfiles

Well, it will probably work on a nix system. It's actually mostly been tested on OSX, and some of the dependencies will only install automatically on OSX.

## Table of Contents

- [dotfiles](#dotfiles)
- [Description](#description)
- [Table of Contents](#table-of-contents)
- [Installation](#installation)
- [Setup Commands](#setup-commands)
- [Dependencies](#dependencies)
- [Post Install Manual Changes](#post-install-manual-changes)
- [TODO](#todo)

## Installation

```./setup.sh```

This will:

- backup all current dotfiles to `~/.dotfile_backups/`
- install dependencies if possible
- generate a self-signed ssl cert and copy it to `~/`
- install new dotfiles to `~/`
- install new fonts to `~/Library/Fonts` on OSX or `~/.fonts` elsewhere

## Setup Commands

- `backup` - will backup current dotfiles to `~/.dotfile_backups/`
- `deps` - will try to install dependencies
- `generate_ssl_cert` - will generate a self-signed ssl cert and copy the files to your home folder
- `install`: runs the `backup`, `deps` `generate_ssl_cert` `install_dotfiles`, `install_fonts` and `setup_git` targets -- **this is the default command**
- `install_bin` - will install new binaries to `~/bin`; `~/bin` is already added to the path in the included .bashrc
- `install_dotfiles` - will install the new dotfiles to `~/`
- `install_fonts` - will install new fonts to `~/Library/Fonts` or `~/.fonts` on other systems
- `restore` - will restore backed up dotfiles, usage `RESTORE_TIMESTAMP= ./setup.sh restore`
- `setup_git` - asks you to enter a name and email that will be used when making commits with git

## Dependencies

Not completely necessary, but may be desired. Will be installed by default if possible.

- autojump - a faster way to navigate your filesystem -
- bat - A cat(1) clone with wings -
- ctags - this will only install on OSX as the BSD one installed is fairly outdated -
- exa - ls replacement -
- fd - A simple, fast and user-friendly alternative to 'find' -
- fzf - command-line fuzzy finder -
- git-extras - some extra commands for git -
- homebrew - package management for OSX -
- jq - like sed for json -
- starship - cross shell prompt -
- vim-plug - vim plugin manager -

## Post Install Manual Changes

1. change the font in your terminal to whichever font you like from the fonts folder.
- please see instructions for your particular OS on how to do this

## TODO

- allow for other flavours of linux than debian, eg, redhat
- make dependencies install correctly on linux -- mostly done
- install vim-plug plugins automatically
- if the dotfiles installed did not exist before the installation, then maybe the restore task should remove them; but this could have issues if the user subsequently added one of those files; maybe ask the user if they want the files removed
- ask user if they would like vim or emacs (or editor of their choice) to be their default editor in the EDITOR env variable
- make dependency installation interactive so user can choose which they want... maybe entire process could be interactive
- **shell integration** - allow for shells other than `bash` to be used