Skip to content

casjay-systems/macos

Repository files navigation

These are the base dotfiles that I start with when I set up a new environment. For more specific local needs I use the .local files described in the Local Settings section.

Table of Contents

  1. Jason's DotFiles
    1. Table of Contents
    2. Setup
    3. Customize
      1. Local Settings
        1. ~/.config/local/bash.local
        2. ~/.config/local/gitconfig.local
        3. ~/.config/local/vimrc.local
      2. Forks
    4. Update
    5. Screenshots
      1. Git
      2. tmux & vim
    6. License

Setup

To set up the dotfiles just run the appropriate snippet in the terminal:

(:red_circle: Tested on Debian, Ubuntu, Fedora, Kali, ParrotOS, ArcoLinux, and MacOS)

(:warning: DO NOT run the setup snippet if you do not fully understand what it does. Seriously, DON'T!).

OS Snippet
Auto bash -c "$(curl -LsS https://github.com/casjay-systems/linux/raw/main/install.sh)"
Linux Installer bash -c "$(curl -LsS https://github.com/casjay-systems/linux/raw/main/install.sh)"
MacOS Installer bash -c "$(curl -LsS https://github.com/casjay-systems/macos/raw/main/install.sh)"
Windows Installer powershell.exe -Command Invoke-WebRequest https://github.com/casjay-systems/windows/raw/main/install.cmd -o %USERPROFILE%\Downloads\install.cmd; %USERPROFILE%\Downloads\install.cmd

That's it! ✨

The setup process will:

Setup process in action:

Setup process on linux Setup process on linux
macOS linux

Customize

Local Settings

The dotfiles can be easily extended to suit additional local requirements by using the following files:

~/.config/local/bash.local

The ~/.config/local/bash.local file it will be automatically sourced after all the other bash related files, thus, allowing its content to add to or overwrite the existing aliases, settings, PATH, etc.

Here is a very simple example of a ~/.config/local/bash.local file:

#!/bin/bash

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# Set local aliases.

alias starwars="telnet towel.blinkenlights.nl"

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# Set PATH additions.

PATH="$PATH:$HOME/.local/dotfiles/macos/src/bin"

export PATH

~/.config/local/gitconfig.local

The ~/.config/local/gitconfig.local file it will be automatically included after the configurations from ~/.gitconfig, thus, allowing its content to overwrite or add to the existing git configurations.

Note: Use ~/.config/local/gitconfig.local to store sensitive information such as the git user credentials, e.g.:

[commit]

    # Sign commits using GPG.
    # https://help.github.com/articles/signing-commits-using-gpg/

    gpgsign = true


[user]

    name = Your Name
    email = [email protected]
    signingkey = XXXXXXXX

~/.config/local/vimrc.local

The ~/.config/local/vimrc.local file it will be automatically sourced after ~/.vimrc, thus, allowing its content to add or overwrite the settings from ~/.vimrc.

Forks

If you decide to fork this project, do not forget to substitute my username with your own in the setup snippets and in the setup script

Update

To update the dotfiles you can either run the setup script or, if you want to just update one particular part, run the appropriate os script.

Screenshots

Git

Output for git status:

Output for Git status on macOS Output for Git status on linux
macOS linux

Output for git log:

Output for Git status on macOS Output for Git log on linux
macOS linux

tmux & vim

tmux and vim on macOS tmux and vim on linux
macOS linux

License

The code is available under the MIT license.