-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
107 lines (101 loc) · 2.4 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
99
100
101
102
103
104
105
106
107
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/release-24.11";
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
fenix,
}: let
supportedSystems = ["aarch64-linux" "aarch64-darwin"];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
in {
packages = forAllSystems (
system: let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
macPackages =
if system == "aarch64-darwin"
then
with pkgs; [
pinentry_mac
]
else [];
in {
default = pkgs.buildEnv {
name = "home-packages";
paths = with pkgs;
[
# general tools
ripgrep
eza
lazygit
gh
bat
zoxide
jq
gnupg
fzf
ffmpeg_7-headless
cachix
typst
typst-lsp
typstyle
typst-live
taplo
just
delta
aoc-cli
mold
graphite-cli
# pulumi stuff
pulumictl
pulumiPackages.pulumi-language-nodejs
pulumiPackages.pulumi-language-python
pulumiPackages.pulumi-language-go
# terminal + editing
starship
kitty
neovim
vscode
fish
# js tooling
corepack
bun
fnm
# python
uv
ruff
# formatters + lsps
prettierd
stylua
rustywind
alejandra # for nix
tailwindcss-language-server
pyright
kotlin-language-server
ktlint
# language tools
zulu17
jdt-language-server
go
gopls
typescript
nodejs_20
(fenix.packages.${system}.fromToolchainFile {
dir = ./.;
sha256 = "sha256-yMuSb5eQPO/bHv+Bcf/US8LVMbf/G/0MSfiPwBhiPpk=";
})
]
++ macPackages;
};
}
);
};
}