Modularized config
This commit is contained in:
@@ -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?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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?
|
||||||
}
|
}
|
||||||
|
|||||||
18
systems/modules/common.nix
Normal file
18
systems/modules/common.nix
Normal 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";
|
||||||
|
}
|
||||||
18
systems/modules/locales.nix
Normal file
18
systems/modules/locales.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
19
systems/modules/programs.nix
Normal file
19
systems/modules/programs.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
25
systems/modules/services.nix
Normal file
25
systems/modules/services.nix
Normal 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
16
systems/modules/users.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user