diff --git a/hosts/Parzival-Mobile/default.nix b/hosts/Parzival-Mobile/default.nix index 416bab4..7ff7c0f 100644 --- a/hosts/Parzival-Mobile/default.nix +++ b/hosts/Parzival-Mobile/default.nix @@ -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; } diff --git a/hosts/Parzival/default.nix b/hosts/Parzival/default.nix index 8033d85..5ef9017 100644 --- a/hosts/Parzival/default.nix +++ b/hosts/Parzival/default.nix @@ -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; } diff --git a/modules/core.nix b/modules/core.nix index 54fa4e2..0ac9f66 100644 --- a/modules/core.nix +++ b/modules/core.nix @@ -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 = { diff --git a/modules/desktops/default.nix b/modules/desktops/default.nix new file mode 100644 index 0000000..1d67e60 --- /dev/null +++ b/modules/desktops/default.nix @@ -0,0 +1,10 @@ +{ lib, config, ...}: { + imports = [ + # Wayland desktops here + ./wayland/sway.nix + + # X11 desktops here + ./x11/i3.nix + ]; +} + diff --git a/modules/sway/default.nix b/modules/desktops/wayland/sway.nix similarity index 67% rename from modules/sway/default.nix rename to modules/desktops/wayland/sway.nix index a88d142..2142716 100644 --- a/modules/sway/default.nix +++ b/modules/desktops/wayland/sway.nix @@ -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"; }; diff --git a/modules/hypr/default.nix b/modules/hypr/default.nix deleted file mode 100644 index 8f0f356..0000000 --- a/modules/hypr/default.nix +++ /dev/null @@ -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 - ]; - }; -} diff --git a/modules/programs.nix b/modules/programs.nix index b91d97b..b8153ad 100644 --- a/modules/programs.nix +++ b/modules/programs.nix @@ -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 diff --git a/modules/users/crow/user.nix b/modules/users/crow/user.nix index 80f98c3..fc08104 100644 --- a/modules/users/crow/user.nix +++ b/modules/users/crow/user.nix @@ -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; } diff --git a/modules/users/overseer/user.nix b/modules/users/overseer/user.nix index b6bee91..c048b85 100644 --- a/modules/users/overseer/user.nix +++ b/modules/users/overseer/user.nix @@ -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" ];