Modularized config

This commit is contained in:
2026-01-28 18:11:35 +01:00
parent 3b2a08f16c
commit 94651da127
7 changed files with 121 additions and 212 deletions

View File

@@ -8,6 +8,11 @@
imports = imports =
[ # Include the results of the hardware scan. [ # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
]; ];
# Bootloader. # Bootloader.
@@ -16,103 +21,6 @@
boot.loader.grub.useOSProber = true; boot.loader.grub.useOSProber = true;
networking.hostName = "frodo"; # Define your hostname. networking.hostName = "frodo"; # Define your hostname.
networking.networkmanager.enable = true;
time.timeZone = "Europe/Amsterdam";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "nl_NL.UTF-8";
LC_IDENTIFICATION = "nl_NL.UTF-8";
LC_MEASUREMENT = "nl_NL.UTF-8";
LC_MONETARY = "nl_NL.UTF-8";
LC_NAME = "nl_NL.UTF-8";
LC_NUMERIC = "nl_NL.UTF-8";
LC_PAPER = "nl_NL.UTF-8";
LC_TELEPHONE = "nl_NL.UTF-8";
LC_TIME = "nl_NL.UTF-8";
};
users.defaultUserShell = pkgs.zsh;
security.rtkit.enable = true;
users.users.avravels = {
isNormalUser = true;
description = "Armel van Ravels";
extraGroups = [ "networkmanager" "wheel" "libvirtd" ];
packages = with pkgs; [
home-manager
discord
spotify
protonvpn-gui
];
shell = pkgs.zsh;
};
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
gnumake
git
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
services = {
openssh.enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
xserver = {
enable = true;
xkb = {
layout = "us";
variant = "";
};
};
printing.enable = true;
pulseaudio.enable = false;
pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
};
};
hardware = {
graphics.enable = true;
};
programs = {
hyprland = {
enable = true;
xwayland.enable = true;
};
zsh.enable = true;
gamescope = {
enable = false;
capSysNice = true;
};
steam = {
enable = true;
remotePlay.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
};
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11"; # Did you read the comment?
} }

View File

@@ -4,97 +4,36 @@
imports = imports =
[ [
./hardware-configuration.nix ./hardware-configuration.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
]; ];
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "gandalf"; networking.hostName = "gandalf";
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8"]; networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ];
networking = {
interfaces = { networking.interfaces.enp130s0.wakeOnLan.enable = true;
enp130s0 = { networking.firewall.allowedUDPPorts = [ 9 ];
wakeOnLan.enable = true;
}; services.xserver.videoDrivers = ["nvidia"];
};
firewall = { hardware = {
allowedUDPPorts = [ 9 ]; graphics.enable = true;
};
nvidia.modesetting.enable = true;
nvidia.open = true;
nvidia.nvidiaSettings = true;
}; };
time.timeZone = "Europe/Amsterdam"; virtualisation.libvirtd.enable = true;
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "nl_NL.UTF-8";
LC_IDENTIFICATION = "nl_NL.UTF-8";
LC_MEASUREMENT = "nl_NL.UTF-8";
LC_MONETARY = "nl_NL.UTF-8";
LC_NAME = "nl_NL.UTF-8";
LC_NUMERIC = "nl_NL.UTF-8";
LC_PAPER = "nl_NL.UTF-8";
LC_TELEPHONE = "nl_NL.UTF-8";
LC_TIME = "nl_NL.UTF-8";
};
users.defaultUserShell = pkgs.zsh;
security.rtkit.enable = true;
users.users.avravels = {
isNormalUser = true;
description = "Armel van Ravels";
extraGroups = [ "networkmanager" "wheel" "libvirtd" ];
packages = with pkgs; [
home-manager
discord
spotify
protonvpn-gui
];
shell = pkgs.zsh;
};
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
gnumake
git
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
services = {
openssh.enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
xserver = {
enable = true;
videoDrivers = ["nvidia"];
xkb = { services = {
layout = "us";
variant = "";
};
};
printing.enable = true;
pulseaudio.enable = false;
pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
};
# Bluetooth fixes # Bluetooth fixes
udev.extraRules = '' udev.extraRules = ''
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="0489", ENV{ID_MODEL_ID}=="e111", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess" SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="0489", ENV{ID_MODEL_ID}=="e111", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
@@ -107,39 +46,5 @@
''; '';
}; };
hardware = {
graphics.enable = true;
nvidia = {
modesetting.enable = true;
open = true;
nvidiaSettings = true;
};
};
virtualisation.libvirtd.enable = true;
programs = {
virt-manager.enable = true;
hyprland = {
enable = true;
xwayland.enable = true;
};
zsh.enable = true;
gamescope = {
enable = false;
capSysNice = true;
};
steam = {
enable = true;
remotePlay.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
};
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11"; # Did you read the comment?
} }

View File

@@ -0,0 +1,18 @@
{ config, pkgs, ... }:
{
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
users.defaultUserShell = pkgs.zsh;
environment.systemPackages = with pkgs; [
gnumake
git
];
security.rtkit.enable = true;
system.stateVersion = "25.11";
}

View File

@@ -0,0 +1,18 @@
{ config, pkgs, ... }:
{
time.timeZone = "Europe/Amsterdam";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "nl_NL.UTF-8";
LC_IDENTIFICATION = "nl_NL.UTF-8";
LC_MEASUREMENT = "nl_NL.UTF-8";
LC_MONETARY = "nl_NL.UTF-8";
LC_NAME = "nl_NL.UTF-8";
LC_NUMERIC = "nl_NL.UTF-8";
LC_PAPER = "nl_NL.UTF-8";
LC_TELEPHONE = "nl_NL.UTF-8";
LC_TIME = "nl_NL.UTF-8";
};
}

View File

@@ -0,0 +1,19 @@
{ config, pkgs, ... }:
{
programs = {
zsh.enable = true;
hyprland.enable = true;
hyprland.xwayland.enable = true;
steam.enable = true;
steam.remotePlay.openFirewall = true;
steam.localNetworkGameTransfers.openFirewall = true;
virt-manager.enable = true;
gamescope.enable = false;
gamescope.capSysNice = true;
};
}

View File

@@ -0,0 +1,25 @@
{ config, pkgs, ... }:
{
services.openssh.enable = true;
services = {
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
xserver = {
enable = true;
xkb.layout = "us";
xkb.variant = "";
};
printing.enable = true;
pulseaudio.enable = false;
pipewire.enable = true;
pipewire.alsa.enable = true;
pipewire.alsa.support32Bit = true;
pipewire.pulse.enable = true;
};
}

16
systems/modules/users.nix Normal file
View File

@@ -0,0 +1,16 @@
{ config, pkgs, ... }:
{
users.users.avravels = {
isNormalUser = true;
description = "Armel van Ravels";
extraGroups = [ "networkmanager" "wheel" "libvirtd" ];
packages = with pkgs; [
home-manager
discord
spotify
protonvpn-gui
];
shell = pkgs.zsh;
};
}