• Stars
    star
    232
  • Rank 172,847 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 9 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

πŸ’» macOS System Configuration with Fish, Package Control, VS Code, Repo management, Hammerspoon

Dotfiles

For more information about dotfiles, I wrote these articles on my blog:

Usage

  1. Generate new SSH keys and add them to your GitHub account
    1. Alternatively, restore your safely backed up SSH keys to ~/.ssh/
  2. Install Homebrew and git
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
  1. Clone this repository
git clone [email protected]:rkalis/dotfiles.git
  1. Run the bootstrap.sh script
    1. Alternatively, only run the setup.sh scripts in specific subfolders if you don't need everything
  2. (Optional) Point your Alfred preference sync to a backed up folder
  3. Login to applications, enter license keys, set preferences

Customisation

I strongly encourage you to play around with the configurations, and add or remove features. If you would like to use these dotfiles for yourself, I'd recommend changing at least the following:

Git

  • The .gitconfig file includes my [user] config, replace these with your own user name and email

OSX

  • At the top of the setup.sh file, my computer name is set, replace this with your own computer name

Packages

This folder is a collection of the programs and utilities I use frequently. These lists can easily be amended to your liking.

Repos

This folder is a collection of my own repos, some of which are even private. The existing lists can easily be edited or replaced by custom lists.

Contents

Root (/)

  • bootstrap.sh - Calls all setup.sh scripts

User Bin (bin/)

  • setup.sh - Symlinks the other contents of the folder to ~/bin/
  • imgcat - A utility to display images inline in iTerm 2
  • sethidden - A shell script which takes command line arguments to show or hide hidden files
  • togglehidden - A shell script that toggles between showing and hiding hidden files

Duti (duti/)

  • setup.sh - Sets the defaults set up in the different files
  • app.package.id - Contains all extensions for the specified program

Fish (fish/)

  • setup.sh - Symlinks all fish files to their corresponding location in ~/.config/fish/
  • config.fish - Global fish configuration (.fishrc)
  • fishfile - List of fisher plugins
  • completions/
    • repo.fish - Contains all repos as completions for the repo command
    • repodir.fish - Contains all repos as completions for the repodir command
  • functions/
    • abbrex.fish - Utility for expanding abbreviations in fish-scripts
    • clear.fish - Clears the screen and shows fish_greeting
    • emptytrash.fish - Empties trash and clears system logs
    • fish_greeting.fish - Fish greeting with fish logo
    • fish_prompt.fish - The Classic + Git prompt from the fish web config
    • fisher.fish - Fish plugin manager
    • forrepos.fish - Executes a passed command for all repos in ~/repos
    • ls.fish - Calling ls with parameter --color=auto
    • manp.fish - Open a man page in Preview
    • mvnpurge.fish - Purge local mvn repository
    • pubkey.fish - Copies the SSH public key to the clipboard
    • repo.fish - Finds a repository in ~/repos and jumps to it
    • repodir.fish - Finds a repository in ~/repos and prints its path
    • setup.fish - Initial setup for a new fish installation, contains abbreviations
    • update.fish - Installs OS X Software Updates, updates Ruby gems, Homebrew, npm, and their installed packages
    • week.fish - Returns the current week number

Git (git/)

  • setup.sh - Symlinks all git files to ~/
  • .gitignore_global - Contains global gitignores, such as OS-specific files and several compiled files
  • .gitconfig - Sets several global Git variables

Hammerspoon (hammerspoon/)

  • setup.sh - Symlinks all lua and AppleScript files to ~/.hammerspoon/
  • init.lua - Contains the main Hammerspoon config, importing the others
  • bluetooth.lua - Toggles Bluetooth headset connection
  • caffeinate.lua - Shortcuts for managing screen state (locking, etc.)
  • connect_headphones.applescript - Toggles Bluetooth headset connection
  • hyper.lua - Binds the "F18" key to a Hyper mode, which can be used for global commands
  • minimising.lua - Shortcuts for minimising and unminimising windows
  • shortcuts.lua - Hyper key bindings to existing shortcuts
  • spectacle.lua - Window and monitor management using hyper mode

Karabiner (karabiner/)

  • setup.sh - Symlinks Karabiner settings to ~/.config/karabiner
  • karabiner.json - Binds the CAPS LOCK key to "F18" to use with hammerspoon

macOS Preferences (macos/)

  • setup.sh - Executes a long list of commands pertaining to macOS Preferences

Packages (packages/)

  • setup.sh - Installs the contents of the .list files and the Brewfile

Repositories (repos/)

  • setup.sh - Clones the repositories in the .list files at the corresponding locations

Helper Scripts (scripts/)

  • functions.sh - Contains helper functions for symlinking files and printing progress messages

Vim (vim/)

  • setup.sh - Symlinks all vim files to ~/
  • .vimrc - Basic Vim configuration

Visual Studio Code (vscode/)

  • setup.sh - Symlinks the settings.json file to ~/Library/Application Support/Code/User
  • settings.json - Contains user settings for Visual Studio Code

More Repositories

1

truffle-plugin-verify

βœ… Verify your smart contracts on Etherscan from the Truffle CLI
TypeScript
445
star
2

truffle-assertions

πŸ›  Assertions and utilities for testing Ethereum smart contracts with Truffle unit tests
JavaScript
158
star
3

cashscript

βš–οΈ Easily write and interact with Bitcoin Cash smart contracts
TypeScript
94
star
4

ethroulette

🎰 Decentralised autonomous casino on the Ethereum blockchain
Solidity
50
star
5

AppiePy

πŸ›’ A Python API for Albert Heijn
Python
29
star
6

allbastards.com

πŸ–Ό Browse all BASTARD GAN PUNKS on a single page
TypeScript
18
star
7

radical.domains

πŸ’° Harberger taxes for ENS domains (live only on Rinkeby)
TypeScript
17
star
8

awesome-truffle-plugins

πŸ•Ά List of awesome Truffle plugins
16
star
9

ionic-soundboard

🎧 Ionic 3 Soundboard app with sounds from a custom URL
TypeScript
14
star
10

blockchain-audit-trail

πŸ” Demo application showcasing an audit trail that is validated against the Ethereum blockchain.
JavaScript
14
star
11

liquidefi

JavaScript
12
star
12

safestats.xyz

TypeScript
12
star
13

electrum-cli

Quickly make requests to an electrum server with a simple CLI
JavaScript
7
star
14

nft-swaps-data

TypeScript
6
star
15

p5-typescript-starter

TypeScript
4
star
16

radicalize.art

JavaScript
4
star
17

cashscript-playground

JavaScript
4
star
18

minesweeper

πŸ’£ LΓΆvely Minesweeper
Lua
4
star
19

thesis-evaluation

JavaScript
3
star
20

truffle-plugin-workshop

Truffle University - Plugin creation workshop
JavaScript
2
star
21

kindofcabrio.nl

🏎 De zware keuzes in het leven - Kind of cabrio?
CSS
1
star
22

throwback-tetris

πŸ‘Ύ LΓΆvely Tetris
Lua
1
star