Switch to devenv

This commit is contained in:
Oliver Davies 2025-02-13 20:16:27 +00:00
parent c2d9680ab4
commit f4ac3d085c
7 changed files with 164 additions and 53 deletions

11
.gitignore vendored
View file

@ -7,6 +7,15 @@
node_modules
source/build
# ATDC pages
/source/atdc/*
# Direnv
/.direnv/
/source/atdc/*
# Devenv
.devenv*
devenv.local.nix
# Pre-commit
.pre-commit-config.yaml

View file

@ -4,6 +4,6 @@ tmux new-window -dn shell
tmux new-window -dn server
tmux new-window -dn daily_emails -c "source/_daily_emails"
tmux send-keys -t server "./run start" Enter
tmux send-keys -t server "devenv up" Enter
nvim

100
devenv.lock Normal file
View file

@ -0,0 +1,100 @@
{
"nodes": {
"devenv": {
"locked": {
"dir": "src/modules",
"lastModified": 1739003866,
"owner": "cachix",
"repo": "devenv",
"rev": "ebaa7440666d6aadea574b723c9188cf6f56447f",
"type": "github"
},
"original": {
"dir": "src/modules",
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1733328505,
"owner": "edolstra",
"repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1733477122,
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "7bd9e84d0452f6d2e63b6e6da29fe73fac951857",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "rolling",
"repo": "devenv-nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1737465171,
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"devenv": "devenv",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks"
}
}
},
"root": "root",
"version": 7
}

38
devenv.nix Normal file
View file

@ -0,0 +1,38 @@
{
pkgs,
lib,
config,
inputs,
...
}:
{
packages = with pkgs; [ git ];
languages = {
javascript = {
enable = true;
pnpm = {
enable = true;
install.enable = true;
};
};
php.enable = true;
};
processes = {
sculpin.exec = "vendor/bin/sculpin generate --server --watch";
tailwind.exec = "npx tailwindcss --config tailwind.config.ts --input css/tailwind.css --output ../source/build/tailwind.css";
};
enterShell = ''
which composer
[[ ! -d vendor ]] && composer install
'';
tasks = { };
enterTest = '''';
}

15
devenv.yaml Normal file
View file

@ -0,0 +1,15 @@
# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json
inputs:
nixpkgs:
url: github:cachix/devenv-nixpkgs/rolling
# If you're using non-OSS software, you can set allowUnfree to true.
# allowUnfree: true
# If you're willing to use a package that's vulnerable
# permittedInsecurePackages:
# - "openssl-1.1.1w"
# If you have more than one devenv you can merge them
#imports:
# - ./backend

View file

@ -1,27 +0,0 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1722813957,
"narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,24 +0,0 @@
# Do not edit this file. It is automatically generated by https://www.oliverdavies.uk/build-configs.
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs =
{ nixpkgs, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
in
{
devShells.${system}.default = pkgs.mkShell {
buildInputs = with pkgs; [
bashInteractive
nodePackages.pnpm
nodejs
php82
php82Packages.composer
];
};
formatter.${system} = pkgs.nixfmt-rfc-style;
};
}