Browse Source
chore: Add nix flake with development shell
chore: Add nix flake with development shell
Signed-off-by: provokateurin <kate@provokateurin.de>pull/52891/head
Failed to extract signature
6 changed files with 158 additions and 1 deletions
-
3.envrc
-
2.gitignore
-
2.reuse/dep5
-
3build/files-checker.php
-
61flake.lock
-
88flake.nix
@ -0,0 +1,3 @@ |
|||
watch_file lib/versioncheck.php |
|||
watch_file package.json |
|||
use flake |
@ -0,0 +1,61 @@ |
|||
{ |
|||
"nodes": { |
|||
"flake-utils": { |
|||
"inputs": { |
|||
"systems": "systems" |
|||
}, |
|||
"locked": { |
|||
"lastModified": 1731533236, |
|||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", |
|||
"owner": "numtide", |
|||
"repo": "flake-utils", |
|||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", |
|||
"type": "github" |
|||
}, |
|||
"original": { |
|||
"owner": "numtide", |
|||
"repo": "flake-utils", |
|||
"type": "github" |
|||
} |
|||
}, |
|||
"nixpkgs": { |
|||
"locked": { |
|||
"lastModified": 1747428706, |
|||
"narHash": "sha256-XVds9FkRrY59xRNNq14FNsFGqDiexXX/mlHcX4hPyyk=", |
|||
"owner": "nixos", |
|||
"repo": "nixpkgs", |
|||
"rev": "2e1496bf8652ff4af4e4d4737277f71e4a4f5cb2", |
|||
"type": "github" |
|||
}, |
|||
"original": { |
|||
"owner": "nixos", |
|||
"ref": "nixos-25.05", |
|||
"repo": "nixpkgs", |
|||
"type": "github" |
|||
} |
|||
}, |
|||
"root": { |
|||
"inputs": { |
|||
"flake-utils": "flake-utils", |
|||
"nixpkgs": "nixpkgs" |
|||
} |
|||
}, |
|||
"systems": { |
|||
"locked": { |
|||
"lastModified": 1681028828, |
|||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", |
|||
"owner": "nix-systems", |
|||
"repo": "default", |
|||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", |
|||
"type": "github" |
|||
}, |
|||
"original": { |
|||
"owner": "nix-systems", |
|||
"repo": "default", |
|||
"type": "github" |
|||
} |
|||
} |
|||
}, |
|||
"root": "root", |
|||
"version": 7 |
|||
} |
@ -0,0 +1,88 @@ |
|||
{ |
|||
inputs = { |
|||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; |
|||
flake-utils.url = "github:numtide/flake-utils"; |
|||
}; |
|||
|
|||
outputs = { nixpkgs, flake-utils, ... }: |
|||
flake-utils.lib.eachDefaultSystem (system: |
|||
let |
|||
pkgs = nixpkgs.legacyPackages.${system}; |
|||
lib = pkgs.lib; |
|||
in |
|||
{ |
|||
devShells.default = |
|||
let |
|||
php_version = lib.strings.concatStrings (builtins.match ".*PHP_VERSION_ID < ([0-9])0([0-9])00.*" (builtins.readFile ./lib/versioncheck.php)); |
|||
php = pkgs.pkgs."php${php_version}".buildEnv { |
|||
# Based off https://docs.nextcloud.com/server/latest/admin_manual/installation/php_configuration.html |
|||
extensions = ({ enabled, all }: enabled ++ (with all; [ |
|||
# Required |
|||
ctype |
|||
curl |
|||
dom |
|||
fileinfo |
|||
filter |
|||
gd |
|||
mbstring |
|||
openssl |
|||
posix |
|||
session |
|||
simplexml |
|||
xmlreader |
|||
xmlwriter |
|||
zip |
|||
zlib |
|||
# Database connectors |
|||
pdo_sqlite |
|||
pdo_mysql |
|||
pdo_pgsql |
|||
# Recommended |
|||
intl |
|||
sodium |
|||
# Required for specific apps |
|||
ldap |
|||
smbclient |
|||
ftp |
|||
imap |
|||
# Recommended for specific apps (optional) |
|||
gmp |
|||
exif |
|||
# For enhanced server performance (optional) |
|||
apcu |
|||
memcached |
|||
redis |
|||
# For preview generation (optional) |
|||
imagick |
|||
# For command line processing (optional) |
|||
pcntl |
|||
|
|||
# Debugging |
|||
xdebug |
|||
])); |
|||
|
|||
extraConfig = '' |
|||
max_execution_time=300 |
|||
memory_limit=-1 |
|||
|
|||
xdebug.mode=debug |
|||
''; |
|||
}; |
|||
node_version = builtins.substring 1 (-1) (builtins.elemAt (lib.strings.splitString "." (builtins.fromJSON (builtins.readFile ./package.json)).engines.node) 0); |
|||
node = pkgs."nodejs_${node_version}"; |
|||
in |
|||
pkgs.mkShell { |
|||
NOCOVERAGE = 1; |
|||
|
|||
packages = [ |
|||
php |
|||
php.packages.composer |
|||
node |
|||
# Preview generation |
|||
pkgs.ffmpeg |
|||
pkgs.libreoffice |
|||
]; |
|||
}; |
|||
} |
|||
); |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue