aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
blob: a50b2bd54c0d4decfe02cebd8acd5e0afe2be0b4 (plain)
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
{
  description = "One flake to rule them all.";

  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
  inputs.nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";

  inputs.home-manager.url = "github:nix-community/home-manager/release-24.11";
  inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs";

  inputs.agenix.url = "github:ryantm/agenix";
  inputs.agenix.inputs.nixpkgs.follows = "nixpkgs";

  inputs.deploy-rs.url = "github:serokell/deploy-rs";

  outputs =
    { ... }@inputs:
    let
      helpers = import ./modules { inherit inputs; };
      inherit (helpers) mergeSets mkSystem;
    in
    mergeSets [
      (mkSystem "frigg" "x86_64-linux" inputs.nixpkgs [
        "customs/cgit"
        "profiles/common"
        "profiles/upgrade"
        "profiles/wireguard"
        "profiles/zfs"
        "scripts/motd"
        "scripts/pushover"
        "services/dns"
        "services/ssh"
      ])
      (mkSystem "heimdall" "x86_64-linux" inputs.nixpkgs [
        "profiles/common"
        "profiles/upgrade"
        "scripts/motd"
        "scripts/pushover"
        "services/dns"
        "services/searx"
        "services/ssh"
      ])
      (mkSystem "loki" "aarch64-linux" inputs.nixpkgs [
        "profiles/common"
        "profiles/upgrade"
        "scripts/motd"
        "scripts/pushover"
        "services/matrix"
        "services/ssh"
      ])
      (mkSystem "odin" "x86_64-linux" inputs.nixpkgs [
        "containers/freshrss"
        "containers/jellyfin"
        "containers/lubelogger"
        "containers/pinchflat"
        "containers/vaultwarden"
        "containers/watchtower"
        "profiles/common"
        "profiles/podman"
        "profiles/upgrade"
        "profiles/wireguard"
        "profiles/zfs"
        "scripts/motd"
        "scripts/pushover"
        "scripts/zquota"
        "services/ssh"
      ])
      (mkSystem "sol" "x86_64-linux" inputs.nixpkgs [
        "profiles/common"
        "profiles/upgrade"
        "scripts/motd"
        "scripts/pushover"
        "services/ssh"
        "services/xonotic"
      ])
      (mkSystem "sparrow" "x86_64-linux" inputs.nixpkgs [
        "profiles/common"
        "profiles/vpn"
        "profiles/xorg"
        "profiles/zsa"
      ])
      (mkSystem "thor" "x86_64-linux" inputs.nixpkgs [
        "profiles/common"
        "profiles/upgrade"
        "profiles/wireguard"
        "scripts/motd"
        "scripts/pushover"
        "services/fediverse"
        "services/ssh"
        "services/website"
      ])
      (mkSystem "woodpecker" "x86_64-linux" inputs.nixpkgs [
        "profiles/common"
        "profiles/fstrim"
        "profiles/libvirtd"
        "profiles/nvidia"
        "profiles/steam"
        "profiles/wireshark"
        "profiles/xorg"
        "profiles/zsa"
      ])
    ];
}