Skip to content

Latest commit

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation




Build StatusDownloadsSoftware LicenseCommits since latest release

Dotfiles

This repository is a part of ansible-role-dotfiles and other wayofdev ansible project dependency, but it can also be installed as a stand-alone project using Makefile and make command.

If you like/use this role, please consider starring it. Thanks!

Screenshot

🗂 Table of Contents


🛠️ Supported Toolset

Use either one or many of these, the config files will be in place and ready to provide a familiar interface.

→ Terminal

Currently only supported is iTerm2 for macOS, but I plan to add Hyper to support Linux nativley and on WSL.

NameDescriptionConfig
iTerm2terminal emulator for macOS~/.config/iterm/

→ Shell

NameDescriptionConfig
zshinteractive shell~/.zshrc and others
ohmyzshframework for managing zsh configuration~/.oh-my-zsh/

→ Shell Plugins

List of enabled built-in and third-party omz plugins by default. Plu

PluginDescription
gitProvides many aliases and a few useful functions
keychainStarts keychain to set up and load whichever credentials you want for both gpg and ssh connections
gpg-agentEnables GPG's gpg-agent if it is not running
sudoPrefix previous commands with sudo by pressing esc twice
zsh-autosuggestions[3rd-party]Suggests commands as you type based on history and completions
zsh-syntax-highlighting[3rd-party]Enables highlighting of commands whilst they are typed

→ Shell Theme

NameDescriptionConfig
spaceshipzsh prompt theme~/.zsh_spaceship

→ Package Management

Only minimal list of apps are defined in ~/.Brewfile.

For full macOS installation and configuration refer to ansible playbook — mac provisioner

NameDescriptionConfig
Homebrewpackage manager for macOS~/.Brewfile

→ System Configs

NameDescriptionConfig
chezmoidotfiles manager~/.chezmoi.toml
curldata transfer tool~/.curlrc
gitversion control system~/.gitconfig
nanosmall terminal text editor~/.nanorc
sqlite3sql database engine (client settings)~/.sqliterc
wgetdata transfer tool~/.wgetrc
screenfull-screen window manager~/.screenrc
editorconfigcoding styles for IDE's and editors~/.editorconfig
iterm2iterm2 shell integration script~/.iterm2_shell_integration.zsh
ctophtop-like interface for container metrics~/.ctop

💻 Included Aliases and Commands

These are unified CLI commands available amongst different shells on all platforms. While some of their outputs may differ in style between different environments, their usage and behaviours remain universal.

Additional aliases are provided by Oh-My-Zsh and are listed by using the command alias.

→ Easier Navigation

CommandDescription
~Navigates to user home directory
..Navigates up a directory
...Navigates up three directories
....Navigates up four directories

→ Directory Browsing

CommandDescription
lShow long list with hidden files with human readable sizes
llLists log list of files, including hidden, with human-readable sizes. Appends / to end of directories.
laLists log list of files, including hidden, excluding . and .. directories, with human-readable sizes. Appends / to end of directories.
lsdLists directories only, in long format
lshLists hidden files in long format

→ File Management

CommandDescription
cpvCopies a file securely using rsync
fdFinds directories
ffFinds files in current dir, shortcut to find . -type f -name [expression]

→ General Aliases

CommandDescription
aliasLists registered aliases
cClears the console screen
pathPretty prints registered system $PATH variables
cmShort command to chezmoi
h, hsShows or searches in shell (session) history
jShows list of the jobs that are running in the background and in the foreground
reloadReloads the shell
re.Reloads the shell configuration

→ Networking

CommandDescription
flushdnsFlushes the DNS cache
ipsGets all IP addresses
localipGets local IP address
publicipGets external IP address
GET
HEAD
POST
PUT
DELETE
TRACE
OPTIONS
Sends HTTP requests using lwp-request:
_Usage: GET https://example.com
fpingPings hostname(s) 30 times in quick succession

→ System Administration

CommandDescription
mntLists drive mounts
sysinfoShows system info using neofetch
topMonitors processes and system resources, uses htop
ctophtop-like interface for container metrics. See here

→ Power Management

CommandDescription
lockLocks the session
hibernateHibernates the system
poweroffShuts down the system
rebootRestarts the system

→ Paths

CommandDescription
dlsNavigates to ~/Downloads
docsNavigates to ~/Documents
dtNavigates to ~/Desktop
prjNavigates to ~/Projects – default developer's projects directory. [custom path]

→ Configuration Paths

CommandDescription
cm cdNavigates to Chezmoi~/.local/share/chezmoi dotfiles repository
sublconfNavigates to Sublime Text's local configuration repo.

→ IDE's and Editors

CommandDescription
subl
s
Opens in Sublime Text, example s ./project
pOpens PhpStorm
pcPycharm
_Usage: pc ~/Projects/wayofdev/py_project
golGoland
wbsWebstorm
vimOpens neovim instead of vim, if exists in system

→ Development

CommandDescription
dShortcut to docker
dcShortcut to docker-compose
dsShortcut to docker-sync
gShortcut to git. Full List of git aliases is listed here
gitpShortcut to git push --follow-tags origin master

For full list of available commands check aliases and functions files.


🤝 License

Licence


🙆🏼‍♂️ Author Information

Created in 2022 by lotyp / wayofdev


🧱 Credits and Resources

Inspired by:


🫡 Contributors


About

Personal macOS and Linux dotfiles

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages