Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM mcr.microsoft.com/devcontainers/base:jammy

ARG PIXI_VERSION=v0.71.0

RUN curl -L -o /usr/local/bin/pixi -fsSL --compressed "https://github.com/prefix-dev/pixi/releases/download/${PIXI_VERSION}/pixi-$(uname -m)-unknown-linux-musl" \
&& chmod +x /usr/local/bin/pixi \
&& pixi info

# set some user and workdir settings to work nicely with vscode
USER vscode
WORKDIR /home/vscode

RUN echo 'eval "$(pixi completion -s bash)"' >> /home/vscode/.bashrc
23 changes: 16 additions & 7 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,30 @@
{
"name": "nfcore-modules",
"image": "nfcore/devcontainer:dev",

"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"remoteEnv": {
// Workspace path on the host for mounting with docker-outside-of-docker
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}",
"DOCKER_API_VERSION": "1.43"
},

"onCreateCommand": "./.devcontainer/setup.sh",

"remoteUser": "root",
"privileged": true,

"hostRequirements": {
"cpus": 4,
"memory": "16gb",
"storage": "32gb"
}
},
"customizations": {
"vscode": {
"settings": {},
"extensions": ["ms-python.python"]
}
},
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
},
"mounts": ["source=${localWorkspaceFolderBasename}-pixi,target=${containerWorkspaceFolder}/.pixi,type=volume"],
"postCreateCommand": "./.devcontainer/setup.sh"
}
3 changes: 1 addition & 2 deletions .devcontainer/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ echo "export PROMPT_DIRTRIM=2" >> $HOME/.bashrc
echo "export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '" >> $HOME/.bashrc
export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '

# Update Nextflow
nextflow self-update
sudo chown vscode .pixi && pixi shell

# Install prek hooks
pip install prek
Expand Down
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
*.config linguist-language=nextflow
*.nf.test linguist-language=nextflow
*.nf.test.snap linguist-language=json
# SCM syntax highlighting & preventing 3-way merges
pixi.lock merge=binary linguist-language=YAML linguist-generated=true -diff
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,7 @@ test_output/
tests/data/
work/
.github/CODEOWNERS-tmp
# pixi environments
.pixi/*
!.pixi/config.toml
pixi.lock
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,10 @@ If you wish to contribute a new module, please see the documentation on the [nf-

> Please be kind to our code reviewers and submit one pull request per module :)

### Dependency management

All required dependencies for module development are listed in `pixi.toml` and can be installed with `pixi install`. Please see the [pixi documentation](https://nf-co.re/developers/pixi) for more information.

## Help

For further information or help, don't hesitate to get in touch on [Slack `#modules` channel](https://nfcore.slack.com/channels/modules) (you can join with [this invite](https://nf-co.re/join/slack)).
Expand Down
17 changes: 17 additions & 0 deletions pixi.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[workspace]
authors = ["nf-core core team <core@nf-co.re>"]
channels = ["conda-forge", "bioconda"]
name = "modules"
platforms = ["osx-arm64", "linux-64"]
version = "0.1.0"

[tasks]

[dependencies]
prek = ">=0.4.5,<0.5"
python = ">=3.14.6,<3.15"
nextflow = ">=26.4.4,<27"
nf-test = ">=0.9.5,<0.10"

[pypi-dependencies]
nf-core = { git = "https://github.com/nf-core/tools.git", tag = "dev" }