feat: profiles module

This commit is contained in:
punkfairie 2025-05-25 14:14:44 -07:00
parent ce706dd76a
commit 1562b2d179
Signed by: punkfairie
GPG key ID: B3C5488E9A1A7CA6
12 changed files with 54 additions and 40 deletions

View file

@ -12,13 +12,15 @@ in {
};
marleyos = {
appearance = {
base = enabled;
};
programs = {
fish = enabled;
wezterm = enabled;
};
profiles.desktop = enabled;
# appearance = {
# base = enabled;
# };
# programs = {
# fish = enabled;
# wezterm = enabled;
# };
};
users = {

View file

@ -6,7 +6,7 @@ in {
networking.hostName = "marleycentre";
marleyos = {
bundles.server = enabled;
profiles.server = enabled;
};
users.users = {

View file

@ -6,8 +6,8 @@ in {
networking.hostName = "marleynet";
marleyos = {
bundles.server = enabled;
services.ddclient = enabled;
profiles.server = enabled;
# services.ddclient = enabled;
};
users.users = {

View file

@ -9,16 +9,19 @@ in {
networking.firewall.allowedTCPPorts = [8080];
marleyos = {
hasNvidia = true;
mounts.babeshare = enabled;
bundles.desktop = enabled;
wayland.niri = enabled;
services = {
ly = enabled;
profiles = {
desktop = enabled;
hardware.nvidia = enabled;
};
# mounts.babeshare = enabled;
# bundles.desktop = enabled;
# wayland.niri = enabled;
# services = {
# ly = enabled;
# };
};
system.stateVersion = "24.05";

5
modules/base/default.nix Normal file
View file

@ -0,0 +1,5 @@
{
imports = [
../options
];
}

View file

@ -0,0 +1,5 @@
{
imports = [
../base
];
}

View file

@ -0,0 +1,5 @@
{
imports = [
../base
];
}

View file

@ -0,0 +1,5 @@
{
imports = [
./profiles.nix
];
}

View file

@ -0,0 +1,10 @@
{lib, ...}: {
options.marleyos.profiles = {
desktop.enable = lib.mkEnableOption "graphical desktop profile";
server.enable = lib.mkEnableOption "server profile";
hardware = {
nvidia.enable = lib.mkEnableOption "Nvidia profile";
};
};
}

View file

@ -1,7 +0,0 @@
{lib, ...}: {
options.marleyos.hasNvidia = lib.mkOption {
type = with lib.types; bool;
default = false;
description = "Whether this machine has an NVIDIA GPU.";
};
}

View file

@ -1,7 +0,0 @@
{lib, ...}: {
options.marleyos.isDesktop = lib.mkOption {
type = with lib.types; bool;
default = false;
description = "Whether this machine is used as a graphical desktop.";
};
}

View file

@ -1,7 +0,0 @@
{lib, ...}: {
options.marleyos.isServer = lib.mkOption {
type = with lib.types; bool;
default = false;
description = "Whether this machine is a server.";
};
}