added options to build with to avoid removing and re-adding stuff

This commit is contained in:
twoneis 2024-01-13 22:06:10 +01:00
parent 90b5d970be
commit 066b65c34c
8 changed files with 81 additions and 56 deletions

View file

@ -1,6 +1,7 @@
{ config, pkgs, ... }: { { config, pkgs, ... }: {
imports = [ imports = [
./hardware-config.nix ./hardware-config.nix
./options.nix
]; ];
networking.hostName = "desktop"; networking.hostName = "desktop";

View file

@ -0,0 +1,5 @@
{ ... }: {
withNiri = false;
withGnome = true;
withVM = false;
}

View file

@ -1,6 +1,7 @@
{ pkgs, ... }: { { pkgs, ... }: {
imports = [ imports = [
./hardware-config.nix ./hardware-config.nix
./options.nix
]; ];
networking.hostName = "surface"; networking.hostName = "surface";

View file

@ -0,0 +1,5 @@
{ ... }: {
withNiri = false;
withGnome = true;
withVM = false;
}

View file

@ -2,16 +2,23 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ pkgs, ... }: { { pkgs, lib, config, ... }: {
options = {
withNiri = with lib; mkEnableOption "Enable niri";
withGnome = with lib; mkEnableOption "Enable gnome";
withVM = with lib; mkEnableOption "Enable VM related configuration";
};
imports = [ imports = [
./audio.nix ./audio.nix
./containers.nix ./containers.nix
./fonts.nix ./fonts.nix
./gnome ./gnome
./niri ./niri
./virt.nix
]; ];
config = {
# Allow packages from nixpkgs # Allow packages from nixpkgs
nixpkgs.config = { nixpkgs.config = {
allowUnfree = true; allowUnfree = true;
@ -78,4 +85,5 @@
description = "twoneis"; description = "twoneis";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = [ "networkmanager" "wheel" ];
}; };
};
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { { pkgs, lib, config, ... }: lib.mkIf (config.withGnome) {
# Enable the GNOME Desktop Environment. # Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.enable = true;

View file

@ -1,3 +1,3 @@
{ ... }: { { lib, config, ... }: lib.mkIf (config.withNiri) {
programs.niri.enable = true; programs.niri.enable = true;
} }

5
modules/system/virt.nix Normal file
View file

@ -0,0 +1,5 @@
{ lib, config, ... }: lib.mkIf (config.withVM) {
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
users.users.twoneis.extraGroups = [ "libvirtd" ];
}