renemarc dotfiles

repository·master·Indexed 43 days ago

https://github.com/renemarc/dotfiles

A collection of cross-platform, cross-shell dotfiles managed by chezmoi for macOS, Windows, and Linux. It provides standardized aliases, terminal configurations for iTerm2, Hyper, and Windows Terminal, and enhanced setups for Bash, Zsh, and PowerShell 5.1+. Includes pre-configured settings for tools like Git, Vim, tmux, Starship, and Homebrew/Scoop.

Tokens
2.2K
Snippets
8
Records
21
Agent score
55%

What's inside renemarc dotfiles

  1. Overview of cross-platform dotfiles

    master

    This project provides a universal command set and colorful shell configurations designed to work across different operating systems and shells. It aims to provide a familiar user experience and consistent 'creature comforts' regardless of the environment. The dotfiles are managed using chezmoi.

    Key goals include:

    • Unified aliases and commands.
    • Cross-platform file management toolset.
    • Easy access to common paths and popular cross-platform apps.
    • System-agnostic update and dotfiles install commands.
    • A consistent, aesthetic interface.
  2. Sync iTerm2 preferences with dotfiles

    master

    To keep iTerm2 modifications in sync with this repository, the configuration uses a chezmoi symlink pattern. When running chezmoi apply, the file symlink_com.googlecode.iterm2.plist.tmpl is parsed and converted into a symbolic link pointing to com.googlecode.iterm2.plist.

    Note that the actual .plist file is not copied to your home directory; instead, it is symlinked. To make iTerm2 actually use this file, you must enable the custom preferences loading setting within iTerm2.

    chezmoi apply
  3. Prettify the PowerShell prompt with Oh-My-Posh and Posh-Git

    master

    To enhance the PowerShell prompt with Git integration and visual themes, install the posh-git, oh-my-posh, and PSReadLine modules. This setup provides a Git-oriented prompt and improved command-line editing capabilities.

    Note: For full visual support (Powerline/Nerd Fonts), refer to external guides on configuring Windows Terminal with fonts like Cascadia Code.

    Install-Module posh-git -Scope CurrentUser
    Install-Module oh-my-posh -Scope CurrentUser
    Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck
  4. Configure iTerm2 to load custom preferences

    master

    After applying the dotfiles, you must instruct iTerm2 to load the preferences from the managed file.

    Navigate to the following path in the iTerm2 application settings:

    iTerm2 → General → Preferences

    Enable the setting: Load preferences from a custom folder or URL.

  5. Supported Shells and configurations

    master

    The dotfiles provide enhanced configurations for the following shells:

    • Bash (Linux, macOS): Configured via ~/.bashrc, enhanced with Bash-It.
    • PowerShell 5.1+ (Linux, macOS, Windows): Configured via ~/.config/powershell/, enhanced with Oh-My-Posh, Terminal Icons, and others.
    • Z shell (Zsh) (Linux, macOS): Configured via ~/.zshrc, enhanced with Oh-My-Zsh and Powerlevel10K.
  6. Supported Terminals and configurations

    master

    The following terminal applications are supported with specific configuration files:

    • Hyper (Linux, macOS, Windows): ~/.hyper.js (template).
    • iTerm2 (macOS): ~/.config/iterm/.
    • macOS Terminal (macOS).
    • Windows Terminal (Windows): ~/.config/windows_terminal/.
  7. Supported Universal Apps and configurations

    master

    A wide range of cross-platform tools are pre-configured:

    • chezmoi: ~/.chezmoi.toml (template).
    • cURL: ~/.curlrc.
    • Git: ~/.gitconfig (template).
    • GNU Nano 4.x+: ~/.nanorc (enhanced with Improved Nano Syntax Highlighting).
    • GNU Wget: ~/.wgetrc.
    • Micro: ~/.config/micro/.
    • OpenSSH: ~/.ssh/config (template).
    • Ripgrep: ~/.ripgreprc.
    • SQLite3: ~/.sqliterc.
    • Starship: ~/.config/starship.toml.
    • tmux: ~/.tmux.conf.local (enhanced with Oh-My-Tmux).
    • Vim: ~/.vimrc (enhanced with Ultimate vimrc).
  8. Use development aliases for Docker, Git, and Python

    master

    Streamline development workflows with these aliases:

    • dk: Alias for docker.
    • dco: Alias for docker-compose.
    • g: Alias for git.
    • va: Activate a Python virtual environment (venv).
    • ve: Create a Python virtual environment (venv).
    g status
    dk ps
    ve myenv
    va myenv
  9. Manage macOS and Windows UI visibility

    master

    Toggle UI elements on specific operating systems:

    macOS (Bash/Zsh):

    • hidedesktop or showdesktop: Toggle desktop icons.
    • hidefiles or showfiles: Toggle hidden files in Finder.
    • spotoff or spoton: Toggle Spotlight.

    Windows (PowerShell):

    • hidefiles or showfiles: Toggle hidden files in File Explorer.
  10. Perform system administration tasks

    master

    Common sysadmin utilities available in Bash and Zsh:

    • mnt: List drive mounts.
    • path: Print each $PATH entry on a separate line.
    • sysinfo: Display system information (uses Winfetch, Neofetch, or Screenfetch).
    • top: Monitor processes and system resources (uses atop, htop, ntop, or native tools).
    • update: Keep all applications and packages up to date.
  11. Browse directories with unified aliases

    master

    Use these aliases to list directory contents in various formats across Bash, PowerShell, and Zsh:

    • l: List visible files in long format.
    • ll: List all files in long format (excluding . and ..).
    • lsd: List only directories in long format.
    • lsh: List only hidden files in long format.