aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
blob: c6f8c4891b20928ff927f670d5bc6e1be18324b7 (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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
{
  description = "nerdypepper's nixos config";

  inputs = {
    nixpkgs.url = github:NixOS/nixpkgs/nixpkgs-unstable;

    nixos-hardware.url = "github:nixos/nixos-hardware";

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

    prompt = {
      url = "git+https://git.peppe.rs/cli/prompt";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    better-text-objs = {
      url = "git+https://git.peppe.rs/vim/better-text-objs";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    vim-colors-plain = {
      url = "git+https://git.peppe.rs/vim/vim-colors-plain";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    flaresolverr = {
      url = "git+https://git.peppe.rs/flakes/flaresolverr";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    niri = {
      url = "github:sodiboo/niri-flake";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    readit = {
      url = "git+https://git.peppe.rs/web/readit";
    };

  };

  outputs =
    { self
    , nixpkgs
    , nixos-hardware
    , home-manager
    , prompt
    , better-text-objs
    , vim-colors-plain
    , flaresolverr
    , niri
    , readit
    , ...
    } @ inputs: {

      overlays = {
        # statix = statix.overlay;
        prompt = prompt.overlay;
        better-text-objs = better-text-objs.overlay;
        vim-colors-plain = vim-colors-plain.overlay;
        flaresolverr = flaresolverr.overlays.default;
      };

      formatter."x86_64-linux" = nixpkgs.legacyPackages."x86_64-linux".nixpkgs-fmt;

      nixosConfigurations = {

        myrtle = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux";
          modules = [
            ({ config = { nix.registry.nixpkgs.flake = nixpkgs; }; })
            {
              imports = [ ./hosts/myrtle/configuration.nix ];
              _module.args.self = self;
            }
            home-manager.nixosModules.home-manager
            {
              home-manager.useGlobalPkgs = true;
              home-manager.useUserPackages = true;
              home-manager.users.np = {
                imports = [ ./hosts/myrtle/home.nix ];
                _module.args.self = self;
                _module.args.inputs = inputs;
                _module.args.theme = import ./theme;
                _module.args.font = import ./font.nix;
              };
            }
            nixos-hardware.nixosModules.asus-battery
          ];
        };

        mantis = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux";
          modules = [
            ({ config = { nix.registry.nixpkgs.flake = nixpkgs; }; })
            {
              imports = [ ./hosts/mantis/configuration.nix ];
              _module.args.self = self;
            }
            home-manager.nixosModules.home-manager
            {
              home-manager.useGlobalPkgs = true;
              home-manager.useUserPackages = true;
              home-manager.users.op = {
                imports = [ ./hosts/mantis/home.nix ];
                _module.args.self = self;
                _module.args.inputs = inputs;
                _module.args.theme = import ./theme;
                _module.args.font = import ./font.nix;
              };
            }

            {
              imports = [niri.nixosModules.niri];
              nixpkgs.overlays = [niri.overlays.niri];
              programs.niri.enable = true;
              programs.niri.config = builtins.readFile ./hosts/mantis/niri-config.kdl;
            }

          ];
        };

        laurel = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux";
          modules = [
            ({ config = { nix.registry.nixpkgs.flake = nixpkgs; }; })
            {
              imports = [ ./hosts/laurel/configuration.nix ];
              _module.args.self = self;
            }
            flaresolverr.nixosModules.default
            readit.nixosModules.default
          ];
        };

      };
    };

}