added core modules to settings

This commit is contained in:
Sven Vogel 2023-12-15 20:10:28 +01:00
parent aced2f565a
commit ea5ee00760
4 changed files with 52 additions and 29 deletions

View File

@ -1,8 +1,10 @@
{ lib, ... }:
let
settings = import ./../settings.nix;
in
{
imports = [
./java.nix
./dotnet.nix
./printing.nix
./xdg.nix
];
imports = lib.optionals settings.printing.enable [ ./printing.nix ]
++ lib.optionals settings.xdg.enable [ ./xdg.nix ]
++ lib.optionals settings.java [ ./java.nix ]
++ lib.optionals settings.dotnet [ ./dotnet.nix ];
}

View File

@ -1,13 +1,24 @@
{ pkgs, config, ... }: {
services.printing.enable = true;
services.avahi.enable = true;
# for a WiFi printer
services.avahi.openFirewall = true;
services.avahi.nssmdns = false; # Use the settings from below
# settings from avahi-daemon.nix where mdns is replaced with mdns4
system.nssModules = pkgs.lib.optional (!config.services.avahi.nssmdns) pkgs.nssmdns;
system.nssDatabases.hosts = with pkgs.lib; optionals (!config.services.avahi.nssmdns) (mkMerge [
(mkBefore [ "mdns4_minimal [NOTFOUND=return]" ]) # before resolve
(mkAfter [ "mdns4" ]) # after dns
]);
{ pkgs, lib, config, ... }:
let
settings = import ./../settings.nix;
in
{
config = lib.mkMerge [
{
services.printing.enable = true;
}
# Avahi daemon
(lib.mkIf settings.printing.avahi {
services.avahi.enable = true;
# for a WiFi printer
services.avahi.openFirewall = true;
services.avahi.nssmdns = false; # Use the settings from below
# settings from avahi-daemon.nix where mdns is replaced with mdns4
system.nssModules = pkgs.lib.optional (!config.services.avahi.nssmdns) pkgs.nssmdns;
system.nssDatabases.hosts = with pkgs.lib; optionals (!config.services.avahi.nssmdns) (mkMerge [
(mkBefore [ "mdns4_minimal [NOTFOUND=return]" ]) # before resolve
(mkAfter [ "mdns4" ]) # after dns
]);
})
];
}

View File

@ -1,15 +1,12 @@
{ pkgs, config, ... }: {
{ pkgs, ... }:
let
settings = import ./../settings.nix;
in
{
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-kde
];
extraPortals = settings.xdg.extraPortals;
};
environment.systemPackages = with pkgs; [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-kde
];
environment.systemPackages = settings.xdg.extraPortals;
}

View File

@ -1,4 +1,4 @@
{
with import <nixpkgs> {}; {
hardware = {
# support for GPUs
amdgpu = true;
@ -16,6 +16,19 @@
dvd = true; # enable DVD decryption + ripping via Handbrake
bluray = true; # enable Bluray decryption (requires additional setup)
printing = {
enable = true;
avahi = true;
};
xdg = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
xdg-desktop-portal-kde
];
};
java = true;
dotnet = true;
networking = {
wireguard = true; # enable wireguard protocol