Compare commits

...

3 commits

Author SHA1 Message Date
dc2a91736f
fix(devcontainer): Fix JSON syntax 2024-11-14 18:14:25 +00:00
dd4165dfd3
feat(devenv): Add base shell 2024-11-14 18:13:11 +00:00
1478d5b54e
feat(dev): Setup devcontainer 2024-11-14 18:08:36 +00:00
5 changed files with 70 additions and 3 deletions

1
.devcontainer/Dockerfile Normal file
View file

@ -0,0 +1 @@
FROM ghcr.io/xtruder/nix-devcontainer:v1

View file

@ -0,0 +1,51 @@
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or the definition README at
// https://github.com/microsoft/vscode-dev-containers/tree/master/containers/docker-existing-dockerfile
{
"name": "devcontainer-project",
"dockerFile": "Dockerfile",
"context": "${localWorkspaceFolder}",
"build": {
"args": {
"USER_UID": "${localEnv:USER_UID}",
"USER_GID": "${localEnv:USER_GID}"
}
},
// run arguments passed to docker
"runArgs": [
"--security-opt", "label=disable"
],
"containerEnv": {
// extensions to preload before other extensions
"PRELOAD_EXTENSIONS": "arrterian.nix-env-selector"
},
// disable command overriding and updating remote user ID
"overrideCommand": false,
"userEnvProbe": "loginShell",
"updateRemoteUserUID": false,
// build development environment on creation, make sure you already have shell.nix
"onCreateCommand": "nix develop",
// Add the IDs of extensions you want installed when the container is created.
"customizations": {
"vscode": {
"extensions": [
// select nix environment
"arrterian.nix-env-selector",
// extra extensions
//"fsevenm.run-it-on",
"jnoortheen.nix-ide"
]
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": []
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "go version",
}

View file

@ -52,9 +52,11 @@
}
);
# Base dev shell
devenv.shells.default = {
imports = [ "${self}/shells/base.nix" ];
imports = [
"${self}/shells/base.nix"
"${self}/shells/nix.nix"
];
};
formatter = pkgs.nixfmt-rfc-style;

View file

@ -1,4 +1,9 @@
{ ... }:
{ pkgs, ... }:
{
packages = with pkgs; [
gnupg
git
];
env.GPG_TTY = "\$(tty)";
}

8
shells/nix.nix Normal file
View file

@ -0,0 +1,8 @@
{ pkgs, ... }:
{
languages.nix.enable = true;
packages = [
nixfmt-rfc-style
];
}