Skip to content

Starter configs

pls uses simple YAML-based config files. This makes it easy to

  • check these configs into VCS to ensure your teammates can enjoy them
  • back them up with the rest of your dotfiles
  • share them with others to help them get started

This page consists of some configs to get you started. If you have a config that you'd like to share with others, please share with us.

Common files

Since pls comes with a very minimal configuration out-of-the-box, you can use this to set up pls for most common file types.

icons:
pdf: "" # nf-seti-pdf
image: "" # nf-oct-image
audio: "" # nf-seti-audio
video: "" # nf-oct-video
text: "" # nf-seti-text
table: "󰓫" # nf-md-table
specs:
- pattern: \.pdf$
icons:
- pdf
- pattern: \.(txt|rtf)$
icons:
- text
- pattern: \.(csv|tsv)$
icons:
- table
- pattern: \.(mp3|wav|aac)$
icons:
- audio
- pattern: \.(png|jpg|bmp|webp)$
icons:
- image
- pattern: \.(mp4|mov|avi|mkv|webm)$
icons:
- video

Office

If you work with a lot of Microsoft Office apps, you can use this config to have pretty and consistent icons for all your work files.

icons:
word: "󱎒" # nf-md-microsoft_word
excel: "󱎏" # nf-md-microsoft_excel
powerpoint: "󱎐" # nf-md-microsoft_powerpoint
specs:
- pattern: \.docx?$
icons:
- word
- pattern: \.xlsx?$
icons:
- excel
- pattern: \.pptx?$
icons:
- powerpoint

Rust

pls being a Rust project, comes with the configuration for Rust projects baked-in.

Python

If you build Python projects using Pipenv, Poetry or PDM, this config is for you.

icons:
python: "" # nf-seti-python
specs:
- pattern: \.py$
icons:
- python
style: rgb(255,212,59)
- pattern: requirements.*\.txt$
icons:
- lock
- pattern: ^(pyproject\.toml|Pipfile)$
icons:
- package
- pattern: ^(poetry|pdm)\.lock$
icons:
- lock
importance: -1
collapse:
name: pyproject.toml
- pattern: ^Pipfile.lock$
icons:
- lock
importance: -1
collapse:
name: Pipfile

Web development

If you build web applications without any of the major JavaScript frameworks, this config is for you.

icons:
html: "" # nf-seti-html
css: "" # nf-seti-css
sass: "" # nf-seti-sass
less: "" # nf-seti-less
markdown: "" # nf-fa-markdown
specs:
- pattern: \.md$
icons:
- markdown
- pattern: \.x?html?$
icons:
- html
style: rgb(255,212,59)
- pattern: \.s[ac]ss$
icons:
- sass
style: rgb(255,212,59)
- pattern: \.less$
icons:
- less
style: rgb(255,212,59)
- pattern: \.css$
icons:
- css
style: rgb(79,192,141)
collapse:
ext: scss

JavaScript/TypeScript

If you build JavaScript/TypeScript projects, this config is for you. It supports npm and pnpm as package managers, and Vue and React frameworks as well. If you use JavaScript for frontend development, you should also inherit the web dev config above.

icons:
javascript: "󰌞" # nf-md-language_javascript
typescript: "󰛦" # nf-md-language_typescript
vue: "" # nf-seti-vue
react: "" # nf-seti-react
specs:
- pattern: \.ts$
icons:
- typescript
style: rgb(49,120,198)
- pattern: \.(c|m)?js$
icons:
- javascript
style: rgb(247,223,30)
collapse:
ext: ts
- pattern: \.vue$
icons:
- vue
style: rgb(79,192,141)
- pattern: \.(j|t)sx$
icons:
- react
style: rgb(97,218,251)
- pattern: ^package-lock\.json$
icons:
- package
- pattern: ^(pnpm-lock.yaml|package-lock.json)$
icons:
- lock
importance: -1
collapse:
name: package.json