idimitrov.dev/flake.nix

55 lines
1.2 KiB
Nix
Raw Normal View History

2023-10-27 17:12:20 +02:00
{
description = ''
2023-11-10 16:24:33 +01:00
NextJS flake
2023-10-27 17:12:20 +02:00
'';
inputs = {
2023-11-19 07:06:47 +01:00
nixpkgs.url = "nixpkgs";
2023-11-15 13:25:12 +01:00
ide = {
2023-11-18 07:49:38 +01:00
url = "github:ivandimitrov8080/flake-ide";
2023-11-15 13:25:12 +01:00
inputs.nixpkgs.follows = "nixpkgs";
};
2023-10-27 17:12:20 +02:00
};
2023-11-15 13:25:12 +01:00
outputs = { self, nixpkgs, ide, ... }:
2023-10-27 17:12:20 +02:00
let
system = "x86_64-linux";
2023-10-27 18:21:25 +02:00
pkgs = nixpkgs.legacyPackages.${system};
2023-11-19 07:06:47 +01:00
nvim = ide.nvim.${system}.standalone {
plugins = {
lsp.servers = {
html.enable = true;
tsserver.enable = true;
jsonls.enable = true;
tailwindcss.enable = true;
2023-11-16 00:19:42 +01:00
cssls.enable = true;
};
2023-11-15 13:25:12 +01:00
};
};
2023-10-27 17:12:20 +02:00
buildInputs = with pkgs; [
coreutils-full
nodejs_20
bun
2023-11-15 13:25:12 +01:00
nvim
2023-10-27 17:12:20 +02:00
];
tmuxConfig = ''
tmux new-session -s my_session -d
tmux new-window -t my_session:1
tmux new-window -t my_session:2
2023-11-11 15:21:23 +01:00
tmux new-window -t my_session:3
2023-11-16 09:12:15 +01:00
tmux send-keys -t my_session:1.0 'nvim' C-m
2023-11-11 15:21:23 +01:00
tmux send-keys -t my_session:3.0 'bun run dev' C-m
2023-10-27 17:12:20 +02:00
tmux attach-session -t my_session
'';
in
{
devShell.${system} = pkgs.mkShell {
inherit buildInputs;
shellHook = ''
${tmuxConfig}
'';
};
};
}