feat: break flake.nix into smaller chunks
This commit is contained in:
parent
f6b9287dfc
commit
41295cff75
5 changed files with 113 additions and 102 deletions
103
flake.nix
103
flake.nix
|
@ -2,108 +2,7 @@
|
|||
description = "marleyOS";
|
||||
|
||||
outputs = inputs:
|
||||
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
|
||||
imports = [inputs.easy-hosts.flakeModule];
|
||||
|
||||
systems = [
|
||||
"x86_64-nixos"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
|
||||
### Nixpkgs Config ###
|
||||
perSystem = {system, ...}: {
|
||||
_module.args.pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
overlays = with inputs; [
|
||||
lix.overlays.default
|
||||
nur.overlays.default
|
||||
agenix.overlays.default
|
||||
niri-flake.overlays.niri
|
||||
|
||||
(import ./overlays/ddclient.nix)
|
||||
(import ./overlays/firefox-addons {
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
inherit inputs;
|
||||
})
|
||||
(import ./overlays/jetbrains.nix {inherit inputs;})
|
||||
(import ./overlays/maple-mono-NF.nix)
|
||||
(import ./overlays/marleyvim.nix {inherit inputs;})
|
||||
(import ./overlays/wezterm.nix {inherit inputs;})
|
||||
|
||||
# Custom packages
|
||||
(import ./overlays/marleyos.nix)
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
easyHosts = {
|
||||
### Module Imports ###
|
||||
shared.modules = with inputs; [
|
||||
lix.nixosModules.default
|
||||
agenix.nixosModules.default
|
||||
|
||||
{
|
||||
home-manager.sharedModules = [
|
||||
nixcord.homeModules.nixcord
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
perClass = class: {
|
||||
modules = with inputs;
|
||||
(nixpkgs.lib.optionals (class == "nixos") [
|
||||
home-manager.nixosModules.home-manager
|
||||
agenix.nixosModules.default
|
||||
stylix.nixosModules.stylix
|
||||
niri-flake.nixosModules.niri
|
||||
])
|
||||
++ (nixpkgs.lib.optionals (class == "darwin") [
|
||||
home-manager.darwinModules.home-manager
|
||||
agenix.darwinModules.default
|
||||
stylix.darwinModules.stylix
|
||||
]);
|
||||
};
|
||||
|
||||
hosts = {
|
||||
### Desktop ###
|
||||
nyx = {
|
||||
arch = "x86_64";
|
||||
class = "nixos";
|
||||
};
|
||||
|
||||
### Macbook Air ###
|
||||
mairley = {
|
||||
arch = "aarch64";
|
||||
class = "darwin";
|
||||
nixpkgs = inputs.nixpkgs-darwin;
|
||||
};
|
||||
|
||||
### Servers ###
|
||||
|
||||
marleycentre = {
|
||||
arch = "x86_64";
|
||||
class = "nixos";
|
||||
};
|
||||
|
||||
marleynet = {
|
||||
arch = "x86_64";
|
||||
class = "nixos";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flake = {
|
||||
### Custom Library ###
|
||||
lib.marleyos = {
|
||||
module = ./lib/module.nix;
|
||||
};
|
||||
};
|
||||
};
|
||||
inputs.flake-parts.lib.mkFlake {inherit inputs;} {imports = [./flake];};
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||
|
|
38
flake/config.nix
Normal file
38
flake/config.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{inputs, ...}: {
|
||||
systems = [
|
||||
"x86_64-nixos"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
|
||||
### Nixpkgs Config ###
|
||||
perSystem = {system, ...}: {
|
||||
_module.args.pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
# TODO: Move these to custom modules
|
||||
overlays = with inputs; [
|
||||
lix.overlays.default
|
||||
nur.overlays.default
|
||||
agenix.overlays.default
|
||||
niri-flake.overlays.niri
|
||||
|
||||
(import ./overlays/ddclient.nix)
|
||||
(import ./overlays/firefox-addons {
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
inherit inputs;
|
||||
})
|
||||
(import ./overlays/jetbrains.nix {inherit inputs;})
|
||||
(import ./overlays/maple-mono-NF.nix)
|
||||
(import ./overlays/marleyvim.nix {inherit inputs;})
|
||||
(import ./overlays/wezterm.nix {inherit inputs;})
|
||||
|
||||
# Custom packages
|
||||
(import ./overlays/marleyos.nix)
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
8
flake/default.nix
Normal file
8
flake/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
imports = [
|
||||
# ../lib
|
||||
./config.nix
|
||||
|
||||
../hosts
|
||||
];
|
||||
}
|
66
hosts/default.nix
Normal file
66
hosts/default.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
inputs,
|
||||
self,
|
||||
...
|
||||
}: {
|
||||
imports = [inputs.easy-hosts.flakeModule];
|
||||
|
||||
config.easy-hosts = {
|
||||
### Module Imports ###
|
||||
# TODO: Move module imports to custom module
|
||||
shared.modules = with inputs; [
|
||||
lix.nixosModules.default
|
||||
agenix.nixosModules.default
|
||||
|
||||
{
|
||||
home-manager.sharedModules = [
|
||||
nixcord.homeModules.nixcord
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
perClass = class: {
|
||||
modules = ["${self}/modules/${class}/default.nix"];
|
||||
|
||||
# modules = with inputs;
|
||||
# (nixpkgs.lib.optionals (class == "nixos") [
|
||||
# home-manager.nixosModules.home-manager
|
||||
# agenix.nixosModules.default
|
||||
# stylix.nixosModules.stylix
|
||||
# niri-flake.nixosModules.niri
|
||||
# ])
|
||||
# ++ (nixpkgs.lib.optionals (class == "darwin") [
|
||||
# home-manager.darwinModules.home-manager
|
||||
# agenix.darwinModules.default
|
||||
# stylix.darwinModules.stylix
|
||||
# ]);
|
||||
};
|
||||
|
||||
hosts = {
|
||||
### Desktop ###
|
||||
nyx = {
|
||||
arch = "x86_64";
|
||||
class = "nixos";
|
||||
};
|
||||
|
||||
### Macbook Air ###
|
||||
mairley = {
|
||||
arch = "aarch64";
|
||||
class = "darwin";
|
||||
nixpkgs = inputs.nixpkgs-darwin;
|
||||
};
|
||||
|
||||
### Servers ###
|
||||
|
||||
marleycentre = {
|
||||
arch = "x86_64";
|
||||
class = "nixos";
|
||||
};
|
||||
|
||||
marleynet = {
|
||||
arch = "x86_64";
|
||||
class = "nixos";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
0
lib/default.nix
Normal file
0
lib/default.nix
Normal file
Loading…
Reference in a new issue