Initial commit

This commit is contained in:
Veneficium 2024-06-11 23:59:03 +02:00
commit 69d741b98b
29 changed files with 718 additions and 0 deletions

View file

@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }: {
options = {
settings.gnome.enable = lib.mkEnableOption "enable gnome de";
};
#todo make this more configurable
config = lib.mkIf config.settings.gnome.enable {
services.xserver = {
enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
};
environment.systemPackages = [ pkgs.gnome.gnome-tweaks ];
#enable browser connector for installing extensions
services.gnome.gnome-browser-connector.enable = true;
# Gnome enables pulse by default smh
# make sure to have PIPEWIRE enabled!
hardware.pulseaudio.enable = false;
# remove various bloat
environment.gnome.excludePackages = with pkgs.gnome; [ epiphany gnome-contacts gnome-maps gnome-music gnome-weather totem yelp pkgs.gnome-tour ];
};
}

View file

@ -0,0 +1,24 @@
{ ... }: {
time.timeZone = "Europe/Rome";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "it_IT.UTF-8";
LC_IDENTIFICATION = "it_IT.UTF-8";
LC_MEASUREMENT = "it_IT.UTF-8";
LC_MONETARY = "it_IT.UTF-8";
LC_NAME = "it_IT.UTF-8";
LC_NUMERIC = "it_IT.UTF-8";
LC_PAPER = "it_IT.UTF-8";
LC_TELEPHONE = "it_IT.UTF-8";
LC_TIME = "it_IT.UTF-8";
};
console.keyMap = "it";
services.xserver.xkb = {
layout = "it";
variant = "";
};
}

View file

@ -0,0 +1,20 @@
{ config, lib, ... }: {
options = {
settings.services.audio.enable = lib.mkEnableOption "enable sound through pipewire and its compat layers";
};
config = lib.mkIf config.settings.services.audio.enable {
sound.enable = true;
#enable RealtimeKit for realtime audio ( req by PulseAudio )
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
};
}

View file

@ -0,0 +1,19 @@
{ config, lib, ... }: {
options = {
settings.services.printing.enable = lib.mkEnableOption "enable printing";
};
config = lib.mkIf config.settings.services.printing.enable {
services = {
printing = {
enable = true;
};
#todo make this also configurable maybe a seperate module?
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
};
};
}