Skip to content

Latest commit

 

History

History
78 lines (57 loc) · 2 KB

File metadata and controls

78 lines (57 loc) · 2 KB

Configuration files for my shell environment.

Installation

  1. Make sure the following prerequisites are installed (package names are for Debian/Arch). In any case:

    • The stow package for "installation" of the config files.
    • Obviously, the bash, git, tmux, and vim packages.
    • The bash-completion package for Bash tab completion.
    • The ripgrep package for the rg search tool.

    For Haskell development:

    • The GHCup installer according to the instructions on its website.
    • GHC, cabal, and HLS via GHCup.

    For Python development:

    • The pipenv/python-pipenv package (packaging, dependency management, virtual environments).
    • The python3-pylsp/python-lsp-server package (LSP server).
    • The flake8/python-flake8 package (linting).
    • The python3-autopep8/autopep8 package (auto-formatting).
    • The mypy and python3-pylsp-mypy/python-pylsp-mypy packages (type checking).
  2. Configure terminal emulator (Gnome Terminal, Putty, ...) for use with the Nord color theme.

  3. Clone to ~/.dotfiles/.

  4. Inside the cloned repository, run stow for each required set of config files to create the respective symlinks in ~. Example:

    $ stow bash
    $ stow vim
    $ stow haskell
  5. Install the vim-plug plugin manager for Vim. Then run :PlugUpdate from inside Vim to install all plugins listed in the .vimrc file.

Random usage notes

Haskell development

Start new projects:

$ mkdir my-project
$ cd my-project
$ cabal init -i
...
$ cabal build
$ cabal run

See also https://schooloffp.co/2020/08/17/whirlwind-tour-of-cabal-for-beginners.html.

Python development

Start new projects in a virtual environment:

$ mkdir my-project
$ cd my-project
$ pipenv install [whatever] # no package just creates a Pipfile
$ pipenv shell
...
$ exit