We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
furpoll / flake.nix
1
{
2
description = "furpoll";
3
4
inputs = {
5
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
6
fenix = {
7
url = "github:nix-community/fenix";
8
inputs.nixpkgs.follows = "nixpkgs";
9
};
10
};
11
12
outputs =
13
{
14
self,
15
nixpkgs,
16
fenix,
17
}:
18
let
19
systems = [
20
"aarch64-darwin"
21
"aarch64-linux"
22
"x86_64-darwin"
23
"x86_64-linux"
24
];
25
eachSystem = nixpkgs.lib.genAttrs systems;
26
in
27
{
28
formatter = eachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
29
30
packages = eachSystem (
31
system:
32
let
33
toolchain = fenix.packages.${system}.stable.minimalToolchain;
34
pkgs = nixpkgs.legacyPackages.${system};
35
in
36
rec {
37
default = furpoll;
38
39
furpoll =
40
(pkgs.makeRustPlatform {
41
cargo = toolchain;
42
rustc = toolchain;
43
}).buildRustPackage
44
{
45
pname = "furpoll";
46
version = "0.1.0";
47
48
nativeBuildInputs = [ pkgs.pkg-config ];
49
buildInputs = [ pkgs.openssl ];
50
51
src = ./.;
52
53
cargoLock.lockFile = ./Cargo.lock;
54
};
55
56
furpoll-docker = pkgs.dockerTools.buildImage {
57
name = "nossa.ee/talya/furpoll";
58
tag = self.rev or "dev";
59
config = {
60
Cmd = [ "/bin/furpoll" ];
61
User = "1000:1000";
62
};
63
64
copyToRoot = pkgs.buildEnv {
65
name = "furpoll-root";
66
paths = [
67
furpoll
68
pkgs.dockerTools.caCertificates
69
];
70
pathsToLink = [
71
"/bin"
72
"/etc"
73
];
74
};
75
};
76
}
77
);
78
79
devShells = eachSystem (
80
system:
81
let
82
pkgs = nixpkgs.legacyPackages.${system};
83
in
84
{
85
default = pkgs.mkShell {
86
name = "furpoll";
87
88
packages = [
89
(fenix.packages.${system}.stable.withComponents [
90
"cargo"
91
"rustc"
92
"rust-analyzer"
93
"clippy"
94
"rustfmt"
95
"rust-src"
96
])
97
pkgs.pkg-config
98
pkgs.openssl
99
];
100
};
101
}
102
);
103
};
104
}
105