From e8ffcf11ec193d40ffc90ab85d63d7b9a6fb4873 Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Tue, 7 Jun 2022 09:54:36 +0200 Subject: [PATCH] Add Rocket devshell --- flake.lock | 24 ++++++++++++++++++++++++ flake.nix | 24 +++++++++++++++++++++++- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index 59c4f10a..efc737fa 100644 --- a/flake.lock +++ b/flake.lock @@ -308,10 +308,34 @@ "nixos-mailserver": "nixos-mailserver", "nixpkgs": "nixpkgs", "nur": "nur", + "rust-overlay": "rust-overlay", "tetris": "tetris", "utils": "utils" } }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1654483484, + "narHash": "sha256-Ki/sMgrUEj+31P3YMzZZp5Nea7+MQVVTdaRWQVS1PL4=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "6bc59b9c4ad1cc1089219e935aa727a96d948c5d", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "tetris": { "inputs": { "devshell": [ diff --git a/flake.nix b/flake.nix index bc45c33d..189e256e 100644 --- a/flake.nix +++ b/flake.nix @@ -70,9 +70,14 @@ devshell.follows = "devshell"; }; }; + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; }; - outputs = inputs@{ self, nixpkgs, accentor, accentor-api, accentor-web, agenix, devshell, emacs-overlay, flake-utils, home-manager, nixos-mailserver, nur, tetris, utils }: + outputs = inputs@{ self, nixpkgs, accentor, accentor-api, accentor-web, agenix, devshell, emacs-overlay, flake-utils, home-manager, nixos-mailserver, nur, rust-overlay, tetris, utils }: let customPackages = callPackage: { jdtls = callPackage ./packages/jdtls { }; @@ -93,6 +98,7 @@ accentor-web = accentor-web.packages.${self.system}.default; }) nur.overlay + rust-overlay.overlay ]; }; hostDefaults = { @@ -318,6 +324,22 @@ name = "Scriptingtalen project"; packages = [ (pkgs.python3.withPackages (ps: with ps; [ beautifulsoup4 requests ])) ]; }; + Rocket = pkgs.devshell.mkShell { + name = "Rocket"; + imports = [ "${devshell}/extra/language/c.nix" ]; + env = [ + { name = "PQ_LIB_DIR"; value = "${pkgs.postgresql.lib}/lib"; } + ]; + packages = with pkgs; [ + binutils + (rust-bin.nightly.latest.default.override { extensions = [ "rust-analyzer-preview" "rust-src" ]; }) + ]; + language.c = { + compiler = pkgs.gcc; + includes = [ pkgs.postgresql.lib pkgs.sqlite pkgs.libmysqlclient pkgs.openssl ]; + libraries = [ pkgs.postgresql.lib pkgs.sqlite pkgs.libmysqlclient pkgs.openssl ]; + }; + }; }; }; };