Compare commits

...

2 Commits

Author SHA1 Message Date
8026bc8603
Change nvidia configuration 2024-12-28 17:04:36 +01:00
c1dc4529f5
Updated desktop configuration 2024-12-28 16:59:34 +01:00
5 changed files with 90 additions and 73 deletions

View File

@ -1,33 +1,55 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
imports = [ # Include the results of the hardware scan.
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
# GUI
../../modules/system/gui/steam.nix
../../modules/system/gui/hyprland.nix
../../modules/system/gui/thunar.nix
# CLI
../../modules/system/cli/common.nix
# Hardware
../../modules/system/hardware/firewall.nix
../../modules/system/hardware/garbage-collection.nix
../../modules/system/hardware/locale.nix
../../modules/system/hardware/nvidia.nix
# Import modules
../../modules/system/default.nix
];
settings = {
display-manager = "cosmic-greeter";
desktop-environments = {
cosmic.enable = true;
hyprland.enable = false;
gnome.enable = false;
};
applications = {
common.enable = true;
steam.enable = true;
thunar.enable = false;
};
services = {
docker.enable = false;
quickemu.enable = false;
sunshine.enable = false;
garbage-collection.enable = true;
};
hardware = {
fprint.enable = false;
printing.enable = true;
bluetooth.enable = false;
firewall.enable = true;
locale.enable = true;
nvidia.enable = true;
};
};
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
substituters = [
"https://nix-community.cachix.org"
"https://cosmic.cachix.org/"
];
trusted-public-keys = [
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
];
};
# Bootloader.
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.grub = {
@ -36,6 +58,7 @@
device = "nodev";
};
# Networking configuration
networking.hostName = "xv-desktop"; # Define your hostname.
networking.interfaces.enp7s0.wakeOnLan.enable = true;

View File

@ -2,16 +2,13 @@
{
imports = [
# GUI
../../modules/home/gui/common
../../modules/home/gui/hyprland
../../modules/home/gui/nextcloud.nix
../../modules/home/gui/theming.nix
# CLI
../../modules/home/cli/common
# Modules
../../modules/home/default.nix
];
# Enable home-manager
programs.home-manager.enable = true;
options = {
host = lib.mkOption {
type = with lib.types; str;
@ -41,6 +38,28 @@
unstable.prismlauncher
];
settings = {
applications.common.enable = true;
applications.alacritty.enable = false;
applications.devenv.enable = true;
applications.firefox.enable = true;
applications.git.enable = true;
applications.helix.enable = true;
applications.zsh.enable = true;
applications.ssh.enable = true;
applications.thunderbird.enable = true;
applications.yazi.enable = true;
applications.zellij.enable = true;
services.nextcloud-sync.enable = true;
theming.fonts.enable = true;
theming.nix-colors.enable = false;
theming.stylix.enable = true;
desktop-environments.hyprland.enable = false;
};
home.stateVersion = "24.05";
};
}

View File

@ -33,6 +33,7 @@
bluetooth.enable = true;
firewall.enable = true;
locale.enable = true;
nvidia.enable = false;
};
};
@ -49,9 +50,6 @@
];
};
# Configure hardware
services.ratbagd.enable = true;
# Bootloader.
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.grub = {
@ -78,15 +76,5 @@
boot.kernelPackages = pkgs.linuxPackages_latest;
# Configure wacom tablet
hardware.opentabletdriver = {
enable = true;
package = pkgs.unstable.opentabletdriver;
};
services.libinput.enable = true;
services.fwupd.enable = true;
system.stateVersion = "24.05";
}

View File

@ -33,6 +33,7 @@
bluetooth.enable = true;
firewall.enable = true;
locale.enable = true;
nvidia.enable = false;
};
};

View File

@ -1,46 +1,32 @@
{ config, lib, pkgs, nixpkgs, ... }:
{ config, lib, ... }:
{
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"nvidia-x11"
"nvidia-settings"
];
with lib;
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
let
cfg = config.settings.hardware.nvidia;
in {
options = {
settings.hardware.firewall.enable = lib.mkOption {
type = lib.types.bool;
description = ''
Enable nvidia drivers
'';
};
};
services.xserver.videoDrivers = ["nvidia"]; # or "nvidiaLegacy470 etc.
config = mkIf cfg.enable {
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"nvidia-x11"
"nvidia-settings"
];
hardware.nvidia = {
hardware.graphics.enable = true;
modesetting.enable = true;
services.xserver.videoDrivers = ["nvidia"]; # or "nvidiaLegacy470 etc.
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;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "555.58.02";
sha256_64bit = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
sha256_aarch64 = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
openSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
settingsSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
persistencedSha256 = lib.fakeSha256;
hardware.nvidia = {
open = true;
package = config.boot.kernelPackages.nvidiaPackages.beta;
};
};
}