{"id":14065920,"url":"https://github.com/westurner/dotfiles","last_synced_at":"2025-10-04T14:00:20.193Z","repository":{"id":5074660,"uuid":"6236733","full_name":"westurner/dotfiles","owner":"westurner","description":"Bash, Python, IPython scripts, and userspace configuration https://westurner.org/dotfiles/","archived":false,"fork":false,"pushed_at":"2025-09-14T18:12:41.000Z","size":70009,"stargazers_count":43,"open_issues_count":31,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-14T20:29:49.927Z","etag":null,"topics":["bashrc","conda","gnome","i3wm","ipython","makefile","python","shell","virtualenv","virtualenvwrapper"],"latest_commit_sha":null,"homepage":"https://westurner.org/dotfiles/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"d3/d3","license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/westurner.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-10-16T00:41:23.000Z","updated_at":"2025-06-07T12:18:29.000Z","dependencies_parsed_at":"2023-07-06T13:31:42.463Z","dependency_job_id":"8e46ee3b-4d6e-42a9-97f2-aa6491d2e9b7","html_url":"https://github.com/westurner/dotfiles","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/westurner/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/westurner%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/westurner%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/westurner%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/westurner%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/westurner","download_url":"https://codeload.github.com/westurner/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/westurner%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278322145,"owners_count":25967874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bashrc","conda","gnome","i3wm","ipython","makefile","python","shell","virtualenv","virtualenvwrapper"],"created_at":"2024-08-13T07:04:50.033Z","updated_at":"2025-10-04T14:00:20.168Z","avatar_url":"https://github.com/westurner.png","language":"Python","readme":"\n===========\nDotfiles\n===========\n\n| Source: https://github.com/westurner/dotfiles\n| Download: https://github.com/westurner/dotfiles/releases\n| Build: https://travis-ci.org/westurner/dotfiles\n| Docs: https://westurner.org/dotfiles/\n| Docs: https://westurner.github.io/dotfiles/\n| Docs: https://wrdfiles.readthedocs.org/en/latest/\n\n.. image:: https://img.shields.io/github/release/westurner/dotfiles.svg\n   :target: https://github.com/westurner/dotfiles/releases\n\n.. image:: https://img.shields.io/github/tag/westurner/dotfiles.svg\n   :target: https://github.com/westurner/dotfiles/tags\n\n.. image:: https://travis-ci.org/westurner/dotfiles.svg?branch=master\n   :target: https://travis-ci.org/westurner/dotfiles\n\n.. _GitHub: https://github.com/westurner/dotfiles\n.. _Documentation: https://westurner.org/dotfiles/   \n.. _ReadTheDocs: https://wrdfiles.readthedocs.org/en/latest/\n\n\nGoals\n=======\n* Streamline frequent workflows\n* Configure Bash, ZSH, and Vim\n* Configure Python, pip, virtualenv, virtualenvwrapper\n* Configure IPython\n* Configure Gnome\n* Configure i3wm\n* Support Debian Linux, Ubuntu Linux, OSX\n* Document commands and keyboard shortcuts\n* Create a productive working environment\n\n\n.. _installation:\n\nInstallation\n==============\n\nRequirements\n---------------\nProject requirements are installed by \n`bootstrap_dotfiles.sh`_ and/or, optionally, also a `Makefile`_.\n\n* `Bash`, `Git`, `Python`, `pip`\n\n.. _bootstrap_dotfiles.sh:\n   https://github.com/westurner/dotfiles/blob/master/scripts/bootstrap_dotfiles.sh\n.. _Makefile:\n   https://github.com/westurner/dotfiles/blob/master/Makefile\n\n\n.. _install the dotfiles:\n\nInstall the dotfiles\n---------------------\n| Source: https://github.com/westurner/dotfiles\n| Documentation: https://westurner.org/dotfiles/\n\n\nThe `bootstrap_dotfiles.sh`_ shell script:\n\n* clones the ``dotfiles`` and ``dotvim`` repositories\n* creates symlinks from ``HOME`` to ``__DOTFILES``,\n* installs the ``dotfiles`` Python package,\n* installs additional requirements with `pip`\n\n.. code:: bash\n\n   wget bootstrap_dotfiles.sh\n   bash ./scripts/bootstrap_dotfiles.sh -I -R\n\n\nCreate a `virtualenv` with `virtualenvwrapper`\nnamed \"``dotfiles``\":\n\n.. code:: bash\n\n    # Install virtualenvwrapper\n    pip install virtualenvwrapper   # apt-get install python-virtualenvwrapper\n    source $(which 'virtualenvwrapper.sh')    # 07-bashrc.virtualenvwrapper.sh\n\n    export WORKON_HOME=\"~/-wrk/-ve27\"                    # __WRK/-ve python2.7      \n    mkdir -p $WORKON_HOME\n  \n    # Create a virtualenvwrapper virtualenv\n    mkvirtualenv dotfiles  # workon dotfiles\n    mkdir $VIRTUAL_ENV/src\n    cd $VIRTUAL_ENV/src\n\n    # Clone the dotfiles git repository\n    branch=\"master\"     # stable\n    # branch=\"develop\"  # development\n    git clone ssh://git@github.com/westurner/dotfiles -b ${branch}\n    cd dotfiles\n\n    # Install dotfiles pkg, symlinks, and extra pip requirements\n    scripts/bootstrap_dotfiles.sh -I -R         # -I calls -S\n\nWith Python builds that haven't set a prefix which is writeable\nby the current user, you can also install into ``~/.local`` with\n``pip --user``:\n\n.. code:: bash\n\n    # (Optional) Also install pkg and reqs into ~/.local/bin (pip --user)\n    # scripts/bootstrap_dotfiles.sh -I -R -u\n\n\n.. _dotfiles git repository: https://github.com/westurner/dotfiles\n\n.. note:: See `Quickstart`_, which uses venv-style paths.\n\n\nSource the dotfiles\n---------------------\n* Bash (and ZSH) configuation sets are sequentially numbered 00-99.\n\n  `00-bashrc.before.sh`_ sources a documented, numerically sequential\n  sequence of bash scripts.\n\n* ZSH loads much of the standard Bash configuration and oh-my-zsh.\n\n  `00-zshrc.before.sh`_\n\n* `bootstrap_dotfiles.sh`_ ``-S``\n  installs dotfiles ``${__DOTFILES}`` symlinks.\n\n  .. code:: bash\n\n      ln -s ~/-dotfiles/etc/.bashrc ~/.bashrc\n      ln -s ~/-dotfiles/etc/.zshrc ~/.zshrc\n\n.. code:: bash\n\n   # Source the dotfiles\n   source ~/.bashrc                                         # source ~/.zshrc\n\n   # source ${__DOTFILES}/etc/.bashrc\n   ## source ${__DOTFILES}/etc/bash/00-bashrc.before.sh     # dotfiles_reload\n   ### dotfiles configuration sequence                # (\\d\\d)-bashrc.(.*).sh\n   #### source ${__DOTFILES}/etc/bash/99-bashrc.after.sh\n   ##### source ${__PROJECTSRC}                     # ${__WRK}/.projectsrc.sh\n\n   # print venv configuration\n   dotfiles_status\n   ds\n\n.. code:: bash\n\n    Last login: Tue Dec  2 15:01:56 on ttys000\n    #\n    # dotfiles_reload()\n    #ntid  _TERM_ID=\"#SElGeTf5VcA\"  #_USRLOG=\"/Users/W/-usrlog.log\"\n    # dotfiles_status()\n    HOSTNAME='nb-mb1'\n    USER='W'\n    __WRK='/Users/W/-wrk'\n    PROJECT_HOME='/Users/W/-wrk'\n    WORKON_HOME='/Users/W/-wrk/-ve'\n    VIRTUAL_ENV_NAME=''\n    VIRTUAL_ENV=''\n    _SRC=''\n    _APP=''\n    _WRD=''\n    _USRLOG='/Users/W/-usrlog.log'\n    _TERM_ID='#SElGeTf5VcA'\n    PATH='/Users/W/.local/bin:/Users/W/-dotfiles/scripts:/usr/sbin:/sbin:/bin:/usr/local/bin:/usr/bin:/opt/X11/bin:/usr/local/git/bin'\n    __DOTFILES='/Users/W/-dotfiles'\n    #\n    # cd /\n    #SElGeTf5VcA W@nb-mb1:/\n    $\n    $ stid 'dotfiles'\n    #stid  _TERM_ID=\"dotfiles\"  #_TERM_ID__=\"dotfiles install\"  #_USRLOG=\"/Users/W/-usrlog.log\"\n    # stid 'dotfiles'\n    dotfiles W@nb-mb1:/\n    $ \n    \n\n.. _00-bashrc.before.sh:\n    https://github.com/westurner/dotfiles/blob/master/etc/bash/00-bashrc.before.sh\n\n.. _00-zshrc.before.sh:\n    https://github.com/westurner/dotfiles/blob/master/etc/zsh/00-zshrc.before.sh\n\n.. _bootstrap_dotfiles.sh:\n    https://github.com/westurner/dotfiles/blob/master/scripts/bootstrap_dotfiles.sh\n\n\nUpgrade the dotfiles\n----------------------\n\n.. code:: bash\n\n   # check for any changes to symlinked dotfiles\n   cdd                                                   # cddotfiles\n   git status \u0026\u0026 git diff                                # gsi ; gitw diff\n\n   # pull and upgrade dotfiles and dotvim\n   scripts/bootstrap_dotfiles.sh -U\n\n\n\nQuickstart\n============\n\nThis is a verbose example of installing and working with a\n``VIRTUAL_ENV`` in ``WORKON_HOME`` named \"``dotfiles``\".\n\nSee `Install the dotfiles`_ for more terse installation instructions.\n\n.. code:: bash\n\n\n    # clone and install dotfiles and dotvim\n    # with venv-style paths (_SRC, _APP, _WRD)\n\n    # __WRK             -- base path for workspace               [venv]\n    __WRK=\"$HOME/-wrk\"\n    cd $__WRK                     # cdwrk                        [venv]\n\n    # WORKON_HOME       -- path to virtualenv dirs  [virtualenvwrapper]\n    WORKON_HOME=\"${__WRK}/-ve27\"  # ~/-wrk/-ve27\n    test -d ${WORKON_HOME} || mkdir -p ${WORKON_HOME}\n    cd $WORKON_HOME               # cdworkonhome cdwh cdve       [venv]\n\n    # VIRTUAL_ENV_NAME  -- basename for VIRTUAL_ENV              [venv]\n    VIRTUAL_ENV_NAME=\"dotfiles\"\n\n    # VIRTUAL_ENV       -- current virtualenv path         [virtualenv]\n    VIRTUAL_ENV=\"${WORKON_HOME}/${VIRTUAL_ENV_NAME}\"\n    cd $VIRTUAL_ENV               # cdv cdvirtualenv [venv, virtualenvwrapper]\n\n    # _SRC              -- basepath of source repositories (e.g. for pip) \n    _SRC=\"${VIRTUAL_ENV}/src\"\n    cd $_SRC                      # cdsrc cds                    [venv]\n\n    # _APP              -- basename of current working directory [venv]\n    _APP=\"dotfiles\"\n\n    # _WRD              -- working directory path                [venv]\n    _WRD=\"${_SRC}/${_APP}\"        # cdwrd cdw                    [venv]\n\n    git clone https://github.com/westurner/dotfiles $_WRD\n    git clone https://github.com/westurner/dotvim ${_WRD}/etc/vim\n    cd $_WRD                      # cdwrd cdw                    [venv]\n\n    # __DOTFILES        -- symlink root for current dotfiles     [venv]\n    __DOTFILES=\"${HOME}/-dotfiles\"\n    ln -s $_WRD $__DOTFILES\n    ls ~/-dotfiles\n    cd $__DOTFILES                # cddotfiles cdd               [venv]\n  \n    ## Install the dotfiles\n    $_WRD/scripts/bootstrap_dotfiles.sh -h      # help\n    $_WRD/scripts/bootstrap_dotfiles.sh -I      # or: make install\n    $_WRD/scripts/bootstrap_dotfiles.sh -S      # or: make install_symlinks\n\n\nFor further documentation, see:\n\n* https://westurner.org/dotfiles/usage\n* https://westurner.org/dotfiles/venv\n\n\n\nFurther Dotfiles Resources\n===========================\n* https://dotfiles.github.io/\n* https://github.com/webpro/awesome-dotfiles\n\n.\n\n* https://westurner.org/dotfiles/\n\n  * https://westurner.org/dotfiles/usage\n  * https://westurner.org/dotfiles/usage#bash\n  * https://westurner.org/dotfiles/usage#vim\n  * https://westurner.org/wiki/workflow\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesturner%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwesturner%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesturner%2Fdotfiles/lists"}