95 lines
2.3 KiB
Nix
95 lines
2.3 KiB
Nix
{
|
|
description = "A very basic flake";
|
|
inputs.fup.url = "github:gytis-ivaskevicius/flake-utils-plus";
|
|
|
|
nixConfig = {
|
|
nix = ["http://cache.home"];
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
fup,
|
|
nixpkgs,
|
|
}:
|
|
fup.lib.eachSystem [fup.lib.system.x86_64-linux] (system: let
|
|
pkgs = import nixpkgs {inherit system;};
|
|
|
|
mdpls = let
|
|
version = "30761508593d85b5743ae39c4209947740eec92d";
|
|
in
|
|
pkgs.rustPlatform.buildRustPackage rec {
|
|
inherit version;
|
|
pname = "mdpls";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "euclio";
|
|
repo = "mdpls";
|
|
rev = version;
|
|
sha256 = "sha256-4n1MX8hS7JmKzaL8GfMq2q3IdwE4fvMmWOYo7rY+cdY=";
|
|
};
|
|
|
|
cargoSha256 = "sha256-J49A43BSCJGqaY7AX7XsoMwy6sgyaIx2Vz57Z1cFItc=";
|
|
};
|
|
|
|
shells = {
|
|
nix = {
|
|
name = "generic nix";
|
|
packages = with pkgs; [
|
|
alejandra
|
|
nil
|
|
];
|
|
};
|
|
node = {
|
|
name = "generic node";
|
|
packages = with pkgs; [
|
|
nodejs
|
|
yarn
|
|
nodePackages.vls
|
|
nodePackages.typescript-language-server
|
|
nodePackages.yaml-language-server
|
|
nodePackages.vscode-json-languageserver-bin
|
|
nodePackages.vscode-html-languageserver-bin
|
|
nodePackages.vscode-css-languageserver-bin
|
|
];
|
|
};
|
|
nodeIonic = {
|
|
name = "generic node + ionic";
|
|
packages =
|
|
shells.node.packages
|
|
++ (with pkgs; [
|
|
android-studio
|
|
]);
|
|
};
|
|
php = {
|
|
name = "generic php";
|
|
packages = with pkgs; [
|
|
php
|
|
phpPackages.composer
|
|
];
|
|
};
|
|
nodePhp = {
|
|
name = "generic node + php";
|
|
packages = with shells; node.packages ++ php.packages;
|
|
};
|
|
python = {
|
|
name = "generic python";
|
|
packages = with pkgs; [
|
|
python3Packages.python-lsp-server
|
|
];
|
|
};
|
|
markdown = {
|
|
name = "generic markdown";
|
|
packages = [mdpls];
|
|
};
|
|
};
|
|
in {
|
|
devShells = pkgs.lib.attrsets.mapAttrs (name: value: pkgs.mkShell value) shells;
|
|
|
|
hydraJobs = self.devShells.${system};
|
|
|
|
packages = {
|
|
inherit mdpls;
|
|
};
|
|
});
|
|
}
|