about summary refs log tree commit diff stats
path: root/flake/nixosConfigurations/default.nix
blob: e5aa8020021900b29092912946dfd3fffbd78c49 (plain) (blame)
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
# vim: ts=2
{
  system,
  inputs,
  ...
}: let
  sysLib = import ../../lib {
    inherit pkgs;
    inherit (inputs) shell-library;
  };
  lib = inputs.nixpkgs.lib.extend (_: _: {
    inherit (sysLib) makeShellScriptWithLibrary;
  });

  inherit (inputs.nixpkgs.lib) nixosSystem;

  pkgs = import inputs.nixpkgs {
    inherit system;
    config = {
      allowUnfreePredicate = pkg:
        builtins.elem (lib.getName pkg) [
          "steam"
          "steam-original"
        ];
    };
  };
  homeManagerConfig = {
    home-manager = {
      useGlobalPkgs = true;
      useUserPackages = true;
      users.soispha = import ./home-manager;
      extraSpecialArgs = {
        inherit pkgs;
        inherit
          (inputs)
          user_js
          system
          neovim_config
          impermanence
          snap-sync
          ;
      };
    };
  };
  defaultModules = [
    inputs.agenix.nixosModules.default

    inputs.home-manager.nixosModules.home-manager
    homeManagerConfig
  ];
in {
  # full systems
  tiamat = nixosSystem {
    inherit system;
    specialArgs = {inherit inputs pkgs;};
    modules =
      [
        ./hosts/tiamat/configuration.nix
      ]
      ++ defaultModules;
  };
  mammun = nixosSystem {
    inherit system;
    specialArgs = {inherit inputs pkgs;};
    modules =
      [
        ./hosts/mammun/configuration.nix
      ]
      ++ defaultModules;
  };

  # minimal ones
  spawn = nixosSystem {
    inherit system;
    specialArgs = inputs;
    modules = [./hosts/spawn/configuration.nix];
  };
}