Rename some scopes, set most defaults to false and require hosts to want them instead of needing to opt out of them

This commit is contained in:
TheWanderingCrow 2024-10-05 11:26:59 -04:00
parent 18b3a6c64b
commit 99b5ace0a3
9 changed files with 57 additions and 63 deletions

View file

@ -4,7 +4,15 @@
../../modules
];
sway.enable = true;
packages.mudding.enable = true;
networking.hostName = "Parzival-Mobile";
user.crow.enable = true;
desktop.sway.enable = true;
module.gui.enable = true;
module.wayland.enable = true;
module.programming.enable = true;
module.hacking.enable = true;
module.mudding.enable = true;
}

View file

@ -12,11 +12,13 @@
hardware.nvidia.open = false;
hardware.nvidia.modesetting.enable = true;
sway.enable = true;
packages.mudding.enable = true;
packages.gaming.enable = true;
user.crow.enable = true;
services.vault = {
enable = true;
};
desktop.sway.enable = true;
module.gui.enable = true;
module.programming.enable = true;
module.wayland.enable = true;
module.mudding.enable = true;
module.gaming.enable = true;
}

View file

@ -5,7 +5,7 @@
...
}: {
options = {
packages = {
module = {
enable = lib.mkEnableOption "enables packages";
core.enable = lib.mkEnableOption "enables required packages";
gui.enable = lib.mkEnableOption "enables gui+DE packages";
@ -17,15 +17,12 @@
gaming.enable = lib.mkEnableOption "enables gaming packages";
};
users = {
user = {
enable = lib.mkEnableOption "enables users";
crow = {
enable = lib.mkEnableOption "enable crow";
home.enable = lib.mkEnableOption "enable home configuration";
};
vault = {
enable = lib.mkEnableOption "enable vault";
};
overseer = {
enable = lib.mkEnableOption "enable container overseer user";
};
@ -42,43 +39,42 @@
VISUAL = "nvim";
};
users = {
user = {
enable = lib.mkDefault true;
crow = {
enable = lib.mkDefault true;
home.enable = lib.mkDefault config.users.crow.enable;
};
vault = {
enable = lib.mkDefault false;
home.enable = lib.mkDefault config.user.crow.enable;
};
overseer = {
enable = lib.mkDefault false;
};
};
fonts.packages = with pkgs; [
fonts.module = with pkgs; [
font-awesome
nerdfonts
];
packages = {
module = {
enable = lib.mkDefault true;
core.enable = lib.mkDefault true;
gui.enable = lib.mkDefault true;
programming.enable = lib.mkDefault true;
wayland.enable = lib.mkDefault true;
gui.enable = lib.mkDefault false;
programming.enable = lib.mkDefault false;
wayland.enable = lib.mkDefault false;
x11.enable = lib.mkDefault false;
hacking.enable = lib.mkDefault false;
mudding.enable = lib.mkDefault false;
gaming.enable = lib.mkDefault false;
};
hyprland.enable = lib.mkDefault false;
desktop = {
sway = lib.mkDefault false;
};
# Configure pulseaudio
hardware.graphics.enable32Bit = config.packages.gaming.enable;
hardware.pulseaudio.support32Bit = config.packages.gaming.enable;
hardware.graphics.enable32Bit = config.module.gaming.enable;
hardware.pulseaudio.support32Bit = config.module.gaming.enable;
hardware.pulseaudio.enable = lib.mkDefault true;
services.pipewire.enable = false;
services.keyd = {

View file

@ -0,0 +1,10 @@
{ lib, config, ...}: {
imports = [
# Wayland desktops here
./wayland/sway.nix
# X11 desktops here
./x11/i3.nix
];
}

View file

@ -1,5 +1,5 @@
{ inputs, pkgs, lib, config, ...}: {
options.sway.enable = lib.mkEnableOption "enables sway";
options.desktop.sway.enable = lib.mkEnableOption "enables sway";
config = {
programs.sway = lib.mkIf config.sway.enable {
@ -9,7 +9,7 @@
};
config.environment = lib.mkIf config.sway.enable {
config.environment = lib.mkIf config.desktop.sway.enable {
sessionVariables = {
NIXOS_OZONE_WL = "1";
};

View file

@ -1,22 +0,0 @@
{ inputs, pkgs, lib, config, ...}: {
options.hyprland.enable = lib.mkEnableOption "enables hyprland";
config = {
programs.hyprland = lib.mkIf config.hyprland.enable {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
};
};
config.environment = lib.mkIf config.hyprland.enable {
sessionVariables = {
NIXOS_OZONE_WL = "1";
};
systemPackages = with pkgs;
[
hyprcursor
];
};
}

View file

@ -2,7 +2,7 @@
environment.systemPackages = with pkgs;
(
# Core packages
if config.packages.core.enable
if config.module.core.enable
then [
vim
wget
@ -15,7 +15,7 @@
] else []
)
++ (
if config.packages.gui.enable
if config.module.gui.enable
then [
# Writing
logseq
@ -53,7 +53,7 @@
] else []
)
++ (
if config.packages.wayland.enable
if config.module.wayland.enable
then [
foot
wofi
@ -68,13 +68,13 @@
] else []
)
++ (
if config.packages.x11.enable
if config.module.x11.enable
then [] else []
)
++ (
if config.packages.programming.enable
if config.module.programming.enable
then [
inputs.nixvim.packages.${pkgs.system}.default
inputs.nixvim.module.${pkgs.system}.default
lua
libgcc
php83
@ -90,7 +90,7 @@
] else []
)
++ (
if config.packages.hacking.enable
if config.module.hacking.enable
then [
metasploit
exploitdb
@ -102,13 +102,13 @@
] else []
)
++ (
if config.packages.mudding.enable
if config.module.mudding.enable
then [
mudlet
] else []
)
++ (
if config.packages.gaming.enable
if config.module.gaming.enable
then [
steam
protonup-qt

View file

@ -1,5 +1,5 @@
{ pkgs, lib, config, ...}: {
config.users.users.crow = lib.mkIf config.users.crow.enable {
config.users.users.crow = lib.mkIf config.user.crow.enable {
isNormalUser = true;
initialPassword = "changeme";
extraGroups = [ "wheel" "networkmanager" "audio" ];
@ -21,5 +21,5 @@
script = "cd /home/crow/Notes\ngit pull\ngit add .\ngit diff-index --quiet HEAD || git commit -am 'automatic backup'\ngit push";
};
config.home-manager.users.crow = lib.mkIf config.users.crow.home.enable ./home.nix;
config.home-manager.users.crow = lib.mkIf config.user.crow.home.enable ./home.nix;
}

View file

@ -1,5 +1,5 @@
{ lib, config, ...}: {
config.users.users.overseer = lib.mkIf config.users.overseer.enable {
config.users.users.overseer = lib.mkIf config.user.overseer.enable {
isNormalUser = true;
initialPassword = "changeme";
extraGroups = [ "wheel" "libvirtd" ];