diff --git a/systems/frodo/default.nix b/systems/frodo/default.nix index cbc51ee..f6966cf 100644 --- a/systems/frodo/default.nix +++ b/systems/frodo/default.nix @@ -8,6 +8,11 @@ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix + ../modules/common.nix + ../modules/users.nix + ../modules/locales.nix + ../modules/services.nix + ../modules/programs.nix ]; # Bootloader. @@ -16,103 +21,6 @@ boot.loader.grub.useOSProber = true; 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? - } diff --git a/systems/gandalf/default.nix b/systems/gandalf/default.nix index 469a300..a550a7f 100644 --- a/systems/gandalf/default.nix +++ b/systems/gandalf/default.nix @@ -4,97 +4,36 @@ imports = [ ./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.efi.canTouchEfiVariables = true; networking.hostName = "gandalf"; - networking.networkmanager.enable = true; - networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8"]; - networking = { - interfaces = { - enp130s0 = { - wakeOnLan.enable = true; - }; - }; - firewall = { - allowedUDPPorts = [ 9 ]; - }; + networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ]; + + networking.interfaces.enp130s0.wakeOnLan.enable = true; + networking.firewall.allowedUDPPorts = [ 9 ]; + + services.xserver.videoDrivers = ["nvidia"]; + + hardware = { + graphics.enable = true; + + nvidia.modesetting.enable = true; + nvidia.open = true; + nvidia.nvidiaSettings = 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; - - videoDrivers = ["nvidia"]; + virtualisation.libvirtd.enable = true; - xkb = { - layout = "us"; - variant = ""; - }; - }; - - printing.enable = true; - - pulseaudio.enable = false; - - pipewire = { - enable = true; - - alsa = { - enable = true; - support32Bit = true; - }; - - pulse.enable = true; - }; - + services = { # Bluetooth fixes 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" @@ -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? } diff --git a/systems/modules/common.nix b/systems/modules/common.nix new file mode 100644 index 0000000..744af04 --- /dev/null +++ b/systems/modules/common.nix @@ -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"; +} diff --git a/systems/modules/locales.nix b/systems/modules/locales.nix new file mode 100644 index 0000000..c4ecf8c --- /dev/null +++ b/systems/modules/locales.nix @@ -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"; + }; +} diff --git a/systems/modules/programs.nix b/systems/modules/programs.nix new file mode 100644 index 0000000..8657b89 --- /dev/null +++ b/systems/modules/programs.nix @@ -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; + }; +} diff --git a/systems/modules/services.nix b/systems/modules/services.nix new file mode 100644 index 0000000..ac9f5f2 --- /dev/null +++ b/systems/modules/services.nix @@ -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; + }; +} diff --git a/systems/modules/users.nix b/systems/modules/users.nix new file mode 100644 index 0000000..b4f8533 --- /dev/null +++ b/systems/modules/users.nix @@ -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; + }; +}