Skip to content

marhop/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

140 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 (neo)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/Neovim. Then run :PlugUpdate from inside Vim/Neovim to install all plugins listed in the .vimrc or init.vim file, respectively.

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

About

Configuration files for my shell environment

Topics

Resources

License

Stars

Watchers

Forks

Contributors