Code Monkey home page Code Monkey logo

dotfiles's Introduction

dotfiles

๐Ÿ’พ My dotfiles repository. If you have a suggestion, improvement or question, don't hesitate to open an issue.

One-line config

  1. First, (if you haven't done so,) install the dependencies

    sudo apt install git zsh wget curl libicu-dev
    
    # Install Git Credential Manager
    GCM_VERSION=2.5.0
    wget -O gcm-linux_amd64.deb https://github.com/git-ecosystem/git-credential-manager/releases/download/v$GCM_VERSION/gcm-linux_amd64.$GCM_VERSION.deb
    sudo dpkg -i gcm-linux_amd64.deb
    rm gcm-linux_amd64.deb
  2. Then, usually you could setup config by

    • via curl

      sh -c "$(curl -fsSL https://raw.githubusercontent.com/yttty/dotfiles/main/bootstrap.sh)"
    • or via wget

      sh -c "$(wget https://raw.githubusercontent.com/yttty/dotfiles/main/bootstrap.sh -O -)"
  3. Lastly, change your default shell to zsh

    • (sudo needed) via sudo chsh

      sudo chsh -s $(which zsh) $(whoami)
    • (Password needed) via chsh

      chsh -s $(grep /zsh$ /etc/shells | tail -1)
    • If neither work, try

      mv ~/.bash_profile ~/.bash_profile.bak
      echo 'export SHELL=/usr/bin/zsh
      [ -z "$ZSH_VERSION" ] && exec "$SHELL" -l' > ~/.bash_profile
  4. If you decide to use this configuration as is, don't forget to change your name and e-mail address in the .gitconfig files.

Optional config

Install Python

  • (Recommended) via miniconda3

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/yttty/dotfiles/main/optional/conda/install_miniconda.sh)"
  • via pyenv

    • First, install compile dependencies for python

      sudo apt install -y libssl-dev liblzma-dev libbz2-dev libreadline-dev libsqlite3-dev tk-dev libffi-dev
    • Then install pyenv

      sh -c "$(curl -fsSL https://raw.githubusercontent.com/yttty/dotfiles/main/optional/pyenv/install_pyenv.sh)"
    • Then install the appropriate version of Python (e.g., 3.11)

      source ~/.zshrc
      pyenv install 3.11.6
      pyenv global 3.11.6

Additional monitoring tools

  • Install additional monitoring tools sudo apt install glances htop (it will also install a system-level python3)

Special requirements for vim on old OS versions

Vim 8 is required because some wonderful plugins (e.g. dense-analysis/ale) require vim 8. For Ubuntu 18.04 or later releases, vim 8 is the default version, so you can install with apt install vim.

Otherwise, you may need to compile vim by yourself. This is not hard. The following commands help you compile vim without GUI support and with python support.

Note: You may need to install build dependencies first, for Ubuntu, use sudo apt install cmake ctags build-essential libncurses5-dev libncursesw5-dev

git clone https://github.com/vim/vim.git
cd vim
./configure --prefix=\your\prefix \
            --disable-gui \
            --disable-netbeans \
            --enable-multibyte \
            --enable-python3interp \
            --with-features=huge \
            --enable-fail-if-missing
make
make install

Reference

dotfiles's People

Contributors

yttty avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.