From a0da53da75a987a3592b0869adf8099694b9f875 Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Wed, 21 Aug 2024 22:15:20 -0500 Subject: [PATCH] updated twilight configuration --- enviroments/client/default.nix | 2 +- flake.nix | 2 + hosts/twilight/configuration.nix | 89 ++++++++++++++++++++++- hosts/twilight/hardware-configuration.nix | 21 ++++++ 4 files changed, 111 insertions(+), 3 deletions(-) diff --git a/enviroments/client/default.nix b/enviroments/client/default.nix index c0f82e0..08c3171 100644 --- a/enviroments/client/default.nix +++ b/enviroments/client/default.nix @@ -16,7 +16,7 @@ # Enable the GNOME Desktop Environment. services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; - services.xserver.desktopManager.xterm.enable = false; + services.xserver.desktopManager.xterm.enable = false; # Get rid of xTerm services.xserver.excludePackages = [ pkgs.xterm ]; diff --git a/flake.nix b/flake.nix index 43893ba..3902062 100644 --- a/flake.nix +++ b/flake.nix @@ -23,6 +23,7 @@ packages = forEachPkgs (pkgs: import ./pkgs { inherit pkgs; }); nixosConfigurations = { + # Leyla Laptop horizon = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs;}; modules = [ @@ -31,6 +32,7 @@ nixos-hardware.nixosModules.framework-11th-gen-intel ]; }; + # Leyla Desktop twilight = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs;}; modules = [ diff --git a/hosts/twilight/configuration.nix b/hosts/twilight/configuration.nix index 06a0a3a..c2145e9 100644 --- a/hosts/twilight/configuration.nix +++ b/hosts/twilight/configuration.nix @@ -1,5 +1,90 @@ -# leyla desktop -{ config, pkgs, inputs, modulesPath, ... }: +# leyla laptop +{ config, pkgs, inputs, ... }: { + imports = + [ + inputs.home-manager.nixosModules.default + inputs.sops-nix.nixosModules.sops + ./hardware-configuration.nix + + ../../enviroments/client + ]; + + sops.defaultSopsFile = ../../secrets/secrets.yaml; + sops.defaultSopsFormat = "yaml"; + + sops.age.keyFile = "/home/leyla/.config/sops/age/keys.txt"; + + users.leyla.isNormalUser = true; + users.ester.isNormalUser = true; + users.eve.isNormalUser = true; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + boot.kernelModules = [ "sg" ]; + + networking.hostName = "twilight"; # Define your hostname. + + # enabled virtualisation for docker + # virtualisation.docker.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # Enable OpenGL + hardware.opengl = { + enable = true; + }; + + # Load nvidia driver for Xorg and Wayland + services.xserver.videoDrivers = ["nvidia"]; + + # Use X instead of wayland for gaming reasons + services.xserver.displayManager.gdm.wayland = false; + + # install graphics drivers + 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; + }; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "23.05"; # Did you read the comment? } diff --git a/hosts/twilight/hardware-configuration.nix b/hosts/twilight/hardware-configuration.nix index 9bd1e70..ef71502 100644 --- a/hosts/twilight/hardware-configuration.nix +++ b/hosts/twilight/hardware-configuration.nix @@ -23,6 +23,27 @@ fsType = "vfat"; options = [ "fmask=0022" "dmask=0022" ]; }; + + fileSystems."/mnt/leyla_home" = + { + device = "server.arpa:/home/leyla"; + fsType = "nfs"; + options = [ "x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc" ]; + }; + + fileSystems."/mnt/share_home" = + { + device = "server.arpa:/home/share"; + fsType = "nfs"; + options = [ "x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc" ]; + }; + + fileSystems."/mnt/docker_home" = + { + device = "server.arpa:/home/docker"; + fsType = "nfs"; + options = [ "x-systemd.automount" "noauto" "x-systemd.idle-timeout=600" ]; + }; swapDevices = [ ];