idimitrov.dev/flake.nix
2023-11-18 08:49:38 +02:00

55 lines
1.2 KiB
Nix

{
description = ''
NextJS flake
'';
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
ide = {
url = "github:ivandimitrov8080/flake-ide";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, ide, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
nvim = ide.nvim.${system} {
plugins = {
lsp.servers = {
html.enable = true;
tsserver.enable = true;
jsonls.enable = true;
tailwindcss.enable = true;
cssls.enable = true;
};
};
};
buildInputs = with pkgs; [
coreutils-full
nodejs_20
bun
nvim
];
tmuxConfig = ''
tmux new-session -s my_session -d
tmux new-window -t my_session:1
tmux new-window -t my_session:2
tmux new-window -t my_session:3
tmux send-keys -t my_session:1.0 'nvim' C-m
tmux send-keys -t my_session:3.0 'bun run dev' C-m
tmux attach-session -t my_session
'';
in
{
devShell.${system} = pkgs.mkShell {
inherit buildInputs;
shellHook = ''
${tmuxConfig}
'';
};
};
}