blob: cb2a6009bc268419a7224b4fba52ab61e75e5955 [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 Grey5dbad002023-03-04 15:21:51 +000026 ./modules/tesseract.nix
Skyler Grey4f3e6062023-03-04 01:29:29 +000027 {
28 security.sudo.wheelNeedsPassword = false;
29 users.mutableUsers = false;
30 }
31 ];
Skyler Grey1e2187f2023-03-03 22:45:10 +000032 };
Skyler Grey1e2187f2023-03-03 22:45:10 +000033
34 deploy.nodes.clicks = {
35 profiles.system = {
36 remoteBuild = true;
37 user = "root";
38 path = deploy-rs.lib.x86_64-linux.activate.nixos
39 self.nixosConfigurations.clicks;
40 };
41 hostname = "192.168.89.74";
42 profilesOrder = [ "system" ];
43 };
Skyler Grey4f3e6062023-03-04 01:29:29 +000044
45 formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
Skyler Grey1e2187f2023-03-03 22:45:10 +000046 };
47}