summaryrefslogtreecommitdiff
path: root/nixos
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--flake.lock (renamed from nixos/flake.lock)19
-rw-r--r--hosts/apocalypse/backup.nix (renamed from nixos/hosts/apocalypse/backup.nix)6
-rw-r--r--hosts/apocalypse/default.nix (renamed from nixos/hosts/apocalypse/default.nix)21
-rw-r--r--hosts/apocalypse/firewall.nix (renamed from nixos/hosts/apocalypse/firewall.nix)0
-rw-r--r--hosts/apocalypse/hardware-configuration.nix (renamed from nixos/hosts/apocalypse/hardware-configuration.nix)0
-rw-r--r--hosts/apocalypse/nvidia.nix (renamed from nixos/hosts/apocalypse/nvidia.nix)0
-rw-r--r--modules/desktop/wms/xfce.nix (renamed from nixos/desktop/xfce.nix)15
-rw-r--r--nixos/common/default.nix77
-rw-r--r--nixos/common/services.nix27
-rw-r--r--nixos/desktop/apps.nix13
-rw-r--r--nixos/desktop/default.nix67
-rw-r--r--nixos/desktop/hyprland.nix46
-rw-r--r--nixos/flake.nix47
-rw-r--r--nixos/hosts/crank-vm/default.nix20
-rw-r--r--nixos/hosts/crank-vm/hardware-configuration.nix65
-rw-r--r--nixos/hosts/icetea-dispenser/GrubBG.pngbin4109858 -> 0 bytes
-rw-r--r--nixos/hosts/icetea-dispenser/default.nix49
-rw-r--r--nixos/hosts/icetea-dispenser/hardware-configuration.nix155
18 files changed, 43 insertions, 584 deletions
diff --git a/nixos/flake.lock b/flake.lock
index 359c4df..4dc32b1 100644
--- a/nixos/flake.lock
+++ b/flake.lock
@@ -7,32 +7,31 @@
]
},
"locked": {
- "lastModified": 1751468302,
- "narHash": "sha256-tWosziZTT039x6PgEZUhzGlV8oLvdDmIgKTE8ESMaEA=",
+ "lastModified": 1752093218,
+ "narHash": "sha256-+3rXu8ewcNDi65/2mKkdSGrivQs5zEZVp5aYszXC0d0=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "501cfec8277f931a9c9af9f23d3105c537faeafe",
+ "rev": "206ed3c71418b52e176f16f58805c96e84555320",
"type": "github"
},
"original": {
"owner": "nix-community",
- "ref": "release-25.05",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
- "lastModified": 1751582995,
- "narHash": "sha256-u7ubvtxdTnFPpV27AHpgoKn7qHuE7sgWgza/1oj5nzA=",
- "owner": "NixOS",
+ "lastModified": 1751984180,
+ "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
+ "owner": "nixos",
"repo": "nixpkgs",
- "rev": "7a732ed41ca0dd64b4b71b563ab9805a80a7d693",
+ "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0",
"type": "github"
},
"original": {
- "owner": "NixOS",
- "ref": "nixos-25.05",
+ "owner": "nixos",
+ "ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
diff --git a/nixos/hosts/apocalypse/backup.nix b/hosts/apocalypse/backup.nix
index 07386be..3529024 100644
--- a/nixos/hosts/apocalypse/backup.nix
+++ b/hosts/apocalypse/backup.nix
@@ -10,6 +10,10 @@
instances."remote_vault" = {
onCalendar = "weekly";
settings = {
+ snapshot_preserve_min = "1w";
+ snapshot_preserve = "2w";
+ target_preserve_min = "1w";
+ target_preserve = "4w";
ssh_identity = "/etc/vault_key"; # NOTE: must be readable by user/group btrbk
ssh_user = "vaultmanager";
stream_compress = "lz4";
@@ -17,7 +21,7 @@
target = "ssh://10.127.9.1/vault/backups/apocalypse";
subvolume = {
"@root" = {
- snapshot_create = "always";
+ snapshot_create = "ondemand";
};
};
};
diff --git a/nixos/hosts/apocalypse/default.nix b/hosts/apocalypse/default.nix
index e57105c..8993dc2 100644
--- a/nixos/hosts/apocalypse/default.nix
+++ b/hosts/apocalypse/default.nix
@@ -1,12 +1,24 @@
- {pkgs, config, lib, ...}:
+ {lib, ...}:
{
imports = [
./hardware-configuration.nix
- ../../common
./nvidia.nix
./backup.nix
./firewall.nix
];
+
+ ## Addons for this system
+ addons = {
+ desktop.hyprland.enable = true;
+ desktop.xfce.enable = true;
+
+ virtualisation.guest = false;
+ virtualisation.host = true;
+
+ vpn.mullvad.enable = true;
+ gpg.enable = true;
+ };
+
boot.loader.grub = {
useOSProber = true;
device = "nodev";
@@ -18,7 +30,7 @@
};
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.systemd.enable = true;
- boot.crashDump.enable = false;
+ boot.crashDump.enable = true;
boot.plymouth = {
enable = true;
theme = "bgrt";
@@ -47,7 +59,7 @@
programs.nix-ld.enable = true;
services.printing.enable = true;
- nixpkgs.config.allowUnfree = true;
+ # nix.config.allowUnfree = true;
services.resolved = {
@@ -58,7 +70,6 @@
dnsovertls = "opportunistic";
};
-
networking.useDHCP = lib.mkDefault true;
networking.firewall.checkReversePath = false;
diff --git a/nixos/hosts/apocalypse/firewall.nix b/hosts/apocalypse/firewall.nix
index 5c73966..5c73966 100644
--- a/nixos/hosts/apocalypse/firewall.nix
+++ b/hosts/apocalypse/firewall.nix
diff --git a/nixos/hosts/apocalypse/hardware-configuration.nix b/hosts/apocalypse/hardware-configuration.nix
index d8ae434..d8ae434 100644
--- a/nixos/hosts/apocalypse/hardware-configuration.nix
+++ b/hosts/apocalypse/hardware-configuration.nix
diff --git a/nixos/hosts/apocalypse/nvidia.nix b/hosts/apocalypse/nvidia.nix
index ef95b43..ef95b43 100644
--- a/nixos/hosts/apocalypse/nvidia.nix
+++ b/hosts/apocalypse/nvidia.nix
diff --git a/nixos/desktop/xfce.nix b/modules/desktop/wms/xfce.nix
index 563b205..0c62ee0 100644
--- a/nixos/desktop/xfce.nix
+++ b/modules/desktop/wms/xfce.nix
@@ -1,5 +1,15 @@
-{pkgs, ...}:
-{
+{pkgs, config, lib, ...}:
+let
+ cfg = config.addons.desktop.xfce;
+in {
+
+ options.addons.desktop.xfce = {
+ enable = lib.mkEnableOption "Enable xfce";
+ };
+
+ config = lib.mkIf cfg.enable (lib.mkMerge [
+ (import ../../../utils/makeWm.nix "xfce" "x11" )
+ {
environment.systemPackages = with pkgs; [
# XFCE stuff
xfce.catfish
@@ -23,4 +33,5 @@
gnome-disk-utility
];
services.xserver.desktopManager.xfce.enable = true;
+ }]);
}
diff --git a/nixos/common/default.nix b/nixos/common/default.nix
deleted file mode 100644
index b199ca5..0000000
--- a/nixos/common/default.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-
-# Edit this configuration file to define what should be installed on
-# your system. Help is available in the configuration.nix(5) man page, on
-# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
-
-{ config, lib, pkgs, ... }:
-
-{
- imports =
- [ # Include the results of the hardware scan.
- ./services.nix
- ];
-
- nix.settings.experimental-features = ["nix-command" "flakes"];
- time.timeZone = "Europe/Amsterdam"; # Set timezone
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Select internationalisation properties.
- i18n.defaultLocale = "en_US.UTF-8";
- console = {
- font = "Lat2-Terminus16";
- keyMap = "us";
- # useXkbConfig = true; # use xkb.options in tty.
- };
-
- # Enable the X11 windowing system.
- # services.xserver.enable = true;
-
- # Define a user account. Don't forget to set a password with ‘passwd’.
- programs.zsh.enable = true;
- users.users.wilkuu = {
- shell = pkgs.zsh;
- isNormalUser = true;
- extraGroups = [ "wheel" "networkmanager" "input" "docker" "adbusers" "libvirtd" ]; # Enable ‘sudo’ for the user.
- packages = with pkgs; [
- tree
- home-manager
- ];
- };
-
- # Configure keymap in X11
- # services.xserver.xkb.layout = "us";
- # services.xserver.xkb.options = "eurosign:e,caps:escape";
-
-
- # programs.firefox.enable = true;
-
- # List packages installed in system profile. To search, run:
- environment.variables.EDITOR = "vim";
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
- wget
- git
- tmux
- usbutils
- lz4
- ];
-
- systemd.oomd = {
- enable = true;
- enableUserSlices = true;
- enableRootSlice = true;
- };
-
-
-
- # This option defines the first version of NixOS you have installed on this particular machine,
- # DO NOT CHANGE UNLESS USING NIXOS-INSTALL
-
- system.stateVersion = "24.11"; # Did you read the comment?
-
-}
-
diff --git a/nixos/common/services.nix b/nixos/common/services.nix
deleted file mode 100644
index 8a73d42..0000000
--- a/nixos/common/services.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{config, lib, pkgs, ...}:
-{
-
- ## VM's
- programs.dconf.enable = true;
- programs.virt-manager.enable = true;
- virtualisation = {
- docker.enable = true;
- libvirtd = {
- enable = true;
- qemu = {
- swtpm.enable = true;
- vhostUserPackages = with pkgs; [ virtiofsd ];
- ovmf.enable = true;
- ovmf.packages = [ pkgs.OVMFFull.fd ];
- };
- };
- spiceUSBRedirection.enable = true;
- };
- services.spice-vdagentd.enable = true;
-
- services.mullvad-vpn = {
- enable = true;
- package = pkgs.mullvad-vpn;
- };
-
-}
diff --git a/nixos/desktop/apps.nix b/nixos/desktop/apps.nix
deleted file mode 100644
index 68e5090..0000000
--- a/nixos/desktop/apps.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{pkgs, ...} :
-{
- environment.systemPackages = with pkgs; [
- neovim
- kitty
- ];
-
- programs.steam = {
- enable = true;
- protontricks.enable = true;
- gamescopeSession.enable = true;
- };
-}
diff --git a/nixos/desktop/default.nix b/nixos/desktop/default.nix
deleted file mode 100644
index b987376..0000000
--- a/nixos/desktop/default.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-
-{pkgs, ...}:
-{
- imports = [
- ./apps.nix
- ./xfce.nix
- ./hyprland.nix
- ];
-
- programs = {
- dconf.enable = true;
- thunar = {
- enable = true;
- plugins = with pkgs.xfce; [
- thunar-archive-plugin
- thunar-media-tags-plugin
- thunar-volman
- ];
- };
- };
- # Enable CUPS to print documents.
- services.printing.enable = true;
-
-
- # Enable touchpad support (enabled default in most desktopManager).
- services.libinput.enable = true;
-
- services = {
- blueman.enable = true;
- # Enable sound
- pipewire = {
- enable = true;
- pulse.enable = true;
- };
-
- displayManager.sddm = {
- enable=true;
- wayland.enable = true;
- #theme = "catppuccin-mocha";
- };
-
- xserver = {
- enable = true;
- excludePackages = with pkgs; [
- xterm
- ];
- };
- };
-
- i18n.inputMethod = {
- type = "fcitx5";
- enable = true;
- fcitx5.addons = with pkgs; [
- fcitx5-gtk
- fcitx5-lua
- fcitx5-mozc
- catppuccin-fcitx5
- fcitx5-table-other
- ];
- };
-
- fonts.packages = with pkgs; [
- noto-fonts
- font-awesome
- nerd-fonts.hurmit
- ];
-}
diff --git a/nixos/desktop/hyprland.nix b/nixos/desktop/hyprland.nix
deleted file mode 100644
index 62b39ae..0000000
--- a/nixos/desktop/hyprland.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{pkgs, ...}: {
- environment.systemPackages = with pkgs; [
- hyprland
- hyprshot
- hyprkeys
- hypridle
- hyprpaper
- hyprpicker
- hyprnotify
- hyprcursor
- hyprpolkitagent
- waybar
- waybar-mpris
- ];
-
-
- services.xserver.exportConfiguration = true; # This makes it easy to search for a valid keymap
- # Enable KDE6 env in case Hyprland gets borked.
- # services.desktopManager.plasma6.enable = true;
- programs.hyprland.enable = true;
- programs.hyprland.withUWSM = true;
- programs.uwsm = {
- enable = true;
- waylandCompositors ={
- hyprland = {
- prettyName = "Hyprland";
- comment = "Hyprland compositor managed by UWSM";
- binPath = "/run/current-system/sw/bin/Hyprland";
- };
- };
- };
-
- xdg.portal = {
- enable = true;
- extraPortals = with pkgs; [ xdg-desktop-portal-hyprland xdg-desktop-portal-gtk ];
- config = {
- common = {
- default = [
- "hyprland"
- "gtk"
- ];
- "org.freedesktop.impl.portal.Filechooser"="gtk";
- };
- };
- };
-}
diff --git a/nixos/flake.nix b/nixos/flake.nix
deleted file mode 100644
index 8bb7d06..0000000
--- a/nixos/flake.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- description = "NixOS configuration";
-
- inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
- home-manager = {
- url = "github:nix-community/home-manager/release-25.05";
- inputs.nixpkgs.follows = "nixpkgs";
- };
- };
-
- outputs = { self, nixpkgs, home-manager, ... }: {
- nixosConfigurations.crank-vm = nixpkgs.lib.nixosSystem {
- system = "x86_64-linux";
- modules = [
- ./hosts/crank-vm
- ./desktop
- home-manager.nixosModules.home-manager {
- home-manager.useGlobalPkgs = true;
- home-manager.useUserPackages = true;
- }
- ];
- };
- nixosConfigurations.icetea-dispenser = nixpkgs.lib.nixosSystem {
- system = "x86_64-linux";
- modules = [
- ./hosts/icetea-dispenser
- ./desktop
- home-manager.nixosModules.home-manager {
- home-manager.useGlobalPkgs = true;
- home-manager.useUserPackages = true;
- }
- ];
- };
- nixosConfigurations.apocalypse = nixpkgs.lib.nixosSystem {
- system = "x86_64-linux";
- modules = [
- ./hosts/apocalypse
- ./desktop
- home-manager.nixosModules.home-manager {
- home-manager.useGlobalPkgs = true;
- home-manager.useUserPackages = true;
- }
- ];
- };
- };
-}
diff --git a/nixos/hosts/crank-vm/default.nix b/nixos/hosts/crank-vm/default.nix
deleted file mode 100644
index 1415674..0000000
--- a/nixos/hosts/crank-vm/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ config, inputs, pkgs, ...}:
-{
- imports = [
- ./hardware-configuration.nix
- ../../common
- ];
-
- networking.hostName = "crank-vm"; # Define your hostname.
- # Use the systemd-boot EFI boot loader.
- # boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
- boot.loader.grub = {
- device = "nodev";
- useOSProber = true;
- efiSupport = true;
- default = "saved";
- memtest86.enable = true;
- };
- networking.firewall.enable = false;
-}
diff --git a/nixos/hosts/crank-vm/hardware-configuration.nix b/nixos/hosts/crank-vm/hardware-configuration.nix
deleted file mode 100644
index e73cd34..0000000
--- a/nixos/hosts/crank-vm/hardware-configuration.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
- imports =
- [ (modulesPath + "/profiles/qemu-guest.nix")
- ];
-
- boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/4b8e866a-bbf0-4312-a134-e6369276ed60";
- fsType = "btrfs";
- options = [ "subvol=root" ];
- };
-
- boot.initrd.luks.devices."system".device = "/dev/disk/by-uuid/70bdaa2d-b736-417b-899e-50f6c61c0036";
-
- fileSystems."/home" =
- { device = "/dev/disk/by-uuid/4b8e866a-bbf0-4312-a134-e6369276ed60";
- fsType = "btrfs";
- options = [ "subvol=home" ];
- };
-
- fileSystems."/nix" =
- { device = "/dev/disk/by-uuid/4b8e866a-bbf0-4312-a134-e6369276ed60";
- fsType = "btrfs";
- options = [ "subvol=nix" ];
- };
-
- fileSystems."/snapshots" =
- { device = "/dev/disk/by-uuid/4b8e866a-bbf0-4312-a134-e6369276ed60";
- fsType = "btrfs";
- options = [ "subvol=snapshots" ];
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/D0B7-5718";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- swapDevices = [ ];
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
- networking.useDHCP = lib.mkDefault true;
- # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
-
- services = {
- qemuGuest.enable = true;
- spice-vdagentd.enable = true;
- };
-}
-
-
diff --git a/nixos/hosts/icetea-dispenser/GrubBG.png b/nixos/hosts/icetea-dispenser/GrubBG.png
deleted file mode 100644
index 0f5028f..0000000
--- a/nixos/hosts/icetea-dispenser/GrubBG.png
+++ /dev/null
Binary files differ
diff --git a/nixos/hosts/icetea-dispenser/default.nix b/nixos/hosts/icetea-dispenser/default.nix
deleted file mode 100644
index a8d4630..0000000
--- a/nixos/hosts/icetea-dispenser/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
- {pkgs, config, ...}:
- {
- imports = [
- ./hardware-configuration.nix
- ../../common
- ];
- boot.loader.grub = {
- useOSProber = true;
- device = "nodev";
-
-
- efiSupport = true;
- default = "saved";
- memtest86.enable = true;
- # splashImage = ./GrubBG.png;
- };
- boot.loader.efi.canTouchEfiVariables = true;
- boot.crashDump.enable = false;
- boot.plymouth = {
- enable = true;
- theme = "bgrt";
- };
-
- boot.kernelParams = [
- "quiet"
- "splash"
- "loglevel=3"
- "rd.systemd.show_status=false"
- "rd.udev.log_level=3"
- "udev.logpriority=3"
- ];
- boot.consoleLogLevel = 0;
-
- networking.hostName = "icetea-dispenser"; # Define your hostname.
- networking.firewall.enable = false;
- networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
-
- hardware.bluetooth.enable = true;
- hardware.bluetooth.settings = {
- General = {Enable = "Source,Sink,Media,Socket";};
- };
-
- hardware.bluetooth.powerOnBoot = true;
- services.blueman.enable = true;
-
- programs.nix-ld.enable = true;
- services.printing.enable = true;
- nixpkgs.config.allowUnfree = true;
-}
diff --git a/nixos/hosts/icetea-dispenser/hardware-configuration.nix b/nixos/hosts/icetea-dispenser/hardware-configuration.nix
deleted file mode 100644
index 7ae80aa..0000000
--- a/nixos/hosts/icetea-dispenser/hardware-configuration.nix
+++ /dev/null
@@ -1,155 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
- imports =
- [ (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
- boot.initrd.kernelModules = [ "aesni_intel" "cryptd" ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
- boot.supportedFilesystems = [ "ntfs" "btrfs" "vfat" ];
- # GRUB 2 with UEFI example, chainloading another distro
- boot.loader.grub.extraEntries =
- ''
-menuentry 'UEFI Firmware' $menuentry_id_option 'uefi-firmware' {
- fwsetup
-}
- '';
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/f75781bf-b2bf-4bb0-915d-95193e8eee9e";
- fsType = "btrfs";
- options = [ "noatime" "compress=zstd" "subvol=root" ];
- };
-
- fileSystems."/home" =
- { device = "/dev/disk/by-uuid/f75781bf-b2bf-4bb0-915d-95193e8eee9e";
- fsType = "btrfs";
- options = [ "noatime" "compress=zstd" "subvol=home" ];
- };
-
- fileSystems."/nix" =
- { device = "/dev/disk/by-uuid/f75781bf-b2bf-4bb0-915d-95193e8eee9e";
- fsType = "btrfs";
- options = [ "noatime" "compress=zstd" "subvol=nix" ];
- };
-
- fileSystems."/snapshots" =
- { device = "/dev/disk/by-uuid/f75781bf-b2bf-4bb0-915d-95193e8eee9e";
- fsType = "btrfs";
- options = [ "noatime" "compress=zstd" "subvol=snapshots" ];
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/6E1A-07F4";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
-
- fileSystems."/store2" =
- { device = "/dev/disk/by-uuid/5368282f-c09d-44cf-9cf2-e69a2d415da6";
- fsType = "btrfs";
- options = [ "noatime" "compress=zstd" "subvol=/"];
- };
- fileSystems."/store1" =
- { device = "/dev/disk/by-uuid/6A2E2BFF2E2BC2C5";
- fsType = "ntfs-3g" ;
- options = ["rw" "uid=1000" "gid=100"];
- };
- fileSystems."/win_games" =
- { device = "/dev/disk/by-uuid/6A680789680752ED";
- fsType = "ntfs-3g" ;
- options = ["rw" "uid=1000" "gid=100"];
- };
-
-
-
- swapDevices =
- [ { device = "/dev/disk/by-uuid/f1dfc6a1-55f3-4148-9f1d-2a998c3b3168"; }
- ];
-
- # Thunderbolt
- services.hardware.bolt.enable = true;
- powerManagement.enable = true;
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
- # networking.nameservers = [ "1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one" ];
-
- services.resolved = {
- enable = true;
- dnssec = "false";
- domains = [ "~." ];
- fallbackDns = [ ];
- dnsovertls = "opportunistic";
- };
-
-
- networking.useDHCP = lib.mkDefault true;
- networking.firewall.checkReversePath = false;
-
- # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
- # networking.interfaces.enp81s0u1u4.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-
- # Enable OpenGL
- hardware.graphics = {
- enable = true;
- };
-
- # Load nvidia driver for Xorg and Wayland
- services.xserver.videoDrivers = ["nvidia"];
-
- hardware.nvidia = {
-
- # Modesetting is required.
- modesetting.enable = true;
-
- # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
- # Enable this if you have graphical corruption issues or application crashes after waking
- # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
- # of just the bare essentials.
- powerManagement.enable = false;
-
- # Fine-grained power management. Turns off GPU when not in use.
- # Experimental and only works on modern Nvidia GPUs (Turing or newer).
- powerManagement.finegrained = false;
-
- # Use the NVidia open source kernel module (not to be confused with the
- # independent third-party "nouveau" open source driver).
- # Support is limited to the Turing and later architectures. Full list of
- # supported GPUs is at:
- # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
- # Only available from driver 515.43.04+
- # Currently alpha-quality/buggy, so false is currently the recommended setting.
- open = false;
-
- # Enable the Nvidia settings menu,
- # accessible via `nvidia-settings`.
- nvidiaSettings = true;
-
- # Optionally, you may need to select the appropriate driver version for your specific GPU.
- package = config.boot.kernelPackages.nvidiaPackages.production;
-
- prime = {
- offload = {
- enable = true;
- enableOffloadCmd = true;
- };
-
- sync.enable = false;
-
- intelBusId = "PCI:0:2:0";
- nvidiaBusId = "PCI:1:0:0";
- };
- };
-}