idimitrov.dev/flake.nix

52 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-07 15:21:50 +01:00
nixpkgs.url = "github:NixOS/nixpkgs";
2023-11-15 13:25:12 +01:00
ide = {
url = "git+ssh://git@github.com/ivandimitrov8080/xin-ide";
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-15 13:25:12 +01:00
nvim = ide.nvim.${system} {
plugins.lsp.servers = {
html.enable = true;
tsserver.enable = true;
jsonls.enable = true;
tailwindcss.enable = true;
};
};
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-10-27 17:12:20 +02:00
tmux send-keys -t my_session:1.0 'vi' 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}
'';
};
};
}