-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
98 lines (92 loc) · 2.31 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
{
description = "My Neovim config";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs, ... }:
let
genSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ];
pkgs = genSystems (system: import nixpkgs { inherit system; });
runtimeDependencies = genSystems (system:
with pkgs.${system}; [
ansible-language-server
beam27Packages.elixir
beam27Packages.elixir-ls
black
cargo
clang-tools
codespell
delve
docker-compose-language-service
dockerfile-language-server-nodejs
emmet-language-server
fswatch
fzf
gcc
gnumake
go
gofumpt
gopls
gotools
imagemagick
isort
jq
lldb
lua-language-server
luajit
luajitPackages.magick
luajitPackages.tiktoken_core
luarocks
markdownlint-cli
marksman
nil
nixd
nixpkgs-fmt
nodejs
nodePackages.bash-language-server
nodePackages.typescript-language-server
openssl
phpactor
php84
php84Packages.composer
php84Packages.php-cs-fixer
php84Extensions.xdebug
pkg-config
prettierd
pyright
ripgrep
rust-analyzer
rustfmt
shellcheck
shfmt
stylua
tailwindcss-language-server
taplo
tree-sitter
unzip
vscode-langservers-extracted
wget
yaml-language-server
yamlfmt
]);
in
{
inherit runtimeDependencies;
homeManagerModules.default = import ./nix/hm-module.nix self;
devShells = genSystems (system:
with pkgs.${system}; {
default = mkShell {
buildInputs = [
neovim
nodejs
(writeShellScriptBin "nvim-dev" ''
NVIM_APPNAME=nvim-dev nvim $@
'')
] ++ runtimeDependencies.${system};
shellHook = ''
ln -sfT $(git rev-parse --show-toplevel) "$XDG_CONFIG_HOME"/nvim-dev
'';
};
});
};
}