blob: 5c54f2c6dfa7902b4d3edc0494ef4648c474377d [file] [log] [blame]
Skyler Grey1e2187f2023-03-03 22:45:10 +00001{
2 description = "A flake to deploy and configure Clicks' NixOS server";
3
4 inputs.deploy-rs.url = "github:serokell/deploy-rs";
5
6 outputs = { self, nixpkgs, deploy-rs, ... }@inputs: {
Skyler Grey4f3e6062023-03-04 01:29:29 +00007 nixosConfigurations.clicks =
8 let
9 system = "x86_64-linux";
10 pkgs = import nixpkgs {
11 inherit system;
12 config.allowUnfree = true;
13 };
14 in
15 nixpkgs.lib.nixosSystem {
16 inherit system pkgs;
17 modules = [
18 ./default/configuration.nix
19 ./default/hardware-configuration.nix
20 ./modules/mongodb.nix
21 ./modules/git.nix
22 ./modules/caddy.nix
23 ./modules/fuck.nix
24 ./modules/node.nix
Skyler Grey7e4504e2023-03-04 15:19:33 +000025 ./modules/kitty.nix
Skyler Grey4f3e6062023-03-04 01:29:29 +000026 {
27 security.sudo.wheelNeedsPassword = false;
28 users.mutableUsers = false;
29 }
30 ];
Skyler Grey1e2187f2023-03-03 22:45:10 +000031 };
Skyler Grey1e2187f2023-03-03 22:45:10 +000032
33 deploy.nodes.clicks = {
34 profiles.system = {
35 remoteBuild = true;
36 user = "root";
37 path = deploy-rs.lib.x86_64-linux.activate.nixos
38 self.nixosConfigurations.clicks;
39 };
40 hostname = "192.168.89.74";
41 profilesOrder = [ "system" ];
42 };
Skyler Grey4f3e6062023-03-04 01:29:29 +000043
44 formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
Skyler Grey1e2187f2023-03-03 22:45:10 +000045 };
46}