diff --git a/README.md b/README.md index c3773c0..006fdb9 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,11 @@ `./rebuild.sh` # New machine setup - -keys for decrypting password secrets for each users located at ~/.config/sops/age/keys.txt -> TODO: `keys.txt`` should prob be readable by owning user only? +keys for decrypting password secrets for each users located at `/var/lib/sops-nix/key.txt` updating passwords: `sops secrets/secrets.yaml` -`nix run github:nix-community/nixos-anywhere/69ad3f4a50cfb711048f54013404762c9a8e201e -- --flake '.#defiant' nixos@192.168.1.130 --extra-files ~/.config/sops/age/` +`nix run github:nix-community/nixos-anywhere/69ad3f4a50cfb711048f54013404762c9a8e201e -- --flake '.#hostname' nixos@192.168.1.130 --extra-files ~/.config/sops/age/` > how the current config was set up https://www.youtube.com/watch?v=G5f6GC7SnhU @@ -44,9 +42,8 @@ updating passwords: `sops secrets/secrets.yaml` - allowUnfree should be dynamically enabled by the users whenever they need them (this isnt enabled at all right now for some reason???) - GNOME default monitors per hardware configuration? - graphics driver things should prob be in the hardware-configuration.nix -- what does `boot.kernelModules = [ "sg" ]` do? -- sops.age.keyFile should not just be hard coded to leyla? - use dashes for options not camel case +- Move configs for pipe mouse, open rgb, and via keyboard to hardware config and install users side from those configs ## New Features - DISKO for server - STOP FROM SLEEPING diff --git a/hosts/horizon/configuration.nix b/hosts/horizon/configuration.nix index 18d4348..9eae057 100644 --- a/hosts/horizon/configuration.nix +++ b/hosts/horizon/configuration.nix @@ -11,23 +11,10 @@ ../../enviroments/client ]; - sops.defaultSopsFile = ../../secrets/secrets.yaml; - sops.defaultSopsFormat = "yaml"; - - sops.age.keyFile = "/home/leyla/.config/sops/age/keys.txt"; - users.leyla.isFullUser = true; users.ester.isFullUser = true; users.eve.isFullUser = true; - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - boot.kernelModules = [ "sg" ]; - - networking.hostName = "horizon"; # Define your hostname. - # enabled virtualisation for docker virtualisation.docker = { enable = true; @@ -37,39 +24,12 @@ }; }; - hardware.graphics.enable = true; - # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; # Allow unfree packages nixpkgs.config.allowUnfree = true; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # # List services that you want to enable: - # systemd.services = { - # # Start resilio sync on boot - # resilio-sync = { - # description = "Resilio Sync service"; - - # serviceConfig = { - # Type = "forking"; - # Restart = "on-failure"; - # ExecStart = "${pkgs.resilio-sync}/bin/rslsync"; - # }; - - # after = [ "network.target" "network-online.target" ]; - # wantedBy = [ "multi-user.target" ]; - # }; - # }; - # Enable the OpenSSH daemon. services.openssh.enable = true; diff --git a/hosts/horizon/hardware-configuration.nix b/hosts/horizon/hardware-configuration.nix index e83bda5..40561a9 100644 --- a/hosts/horizon/hardware-configuration.nix +++ b/hosts/horizon/hardware-configuration.nix @@ -10,9 +10,15 @@ boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; + boot.kernelModules = [ "kvm-intel" "sg" ]; boot.extraModulePackages = [ ]; + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + hardware.graphics.enable = true; + fileSystems."/" = { device = "/dev/disk/by-uuid/866d422b-f816-4ad9-9846-791839cb9337"; fsType = "ext4"; @@ -57,6 +63,7 @@ networking.useDHCP = lib.mkDefault true; # networking.interfaces.enp0s20f0u1.useDHCP = lib.mkDefault true; # networking.interfaces.wlp170s0.useDHCP = lib.mkDefault true; + networking.hostName = "horizon"; # Define your hostname. nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; diff --git a/hosts/twilight/configuration.nix b/hosts/twilight/configuration.nix index 93f9265..fc4f425 100644 --- a/hosts/twilight/configuration.nix +++ b/hosts/twilight/configuration.nix @@ -20,15 +20,7 @@ }; users.ester.isFullUser = true; users.eve.isFullUser = 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; @@ -38,47 +30,6 @@ # Allow unfree packages nixpkgs.config.allowUnfree = true; - # Enable OpenGL - hardware.graphics.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 diff --git a/hosts/twilight/hardware-configuration.nix b/hosts/twilight/hardware-configuration.nix index ef71502..2ab871e 100644 --- a/hosts/twilight/hardware-configuration.nix +++ b/hosts/twilight/hardware-configuration.nix @@ -10,9 +10,54 @@ boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; + boot.kernelModules = [ "kvm-amd" "sg" ]; boot.extraModulePackages = [ ]; + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Enable OpenGL + hardware.graphics.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; + }; + fileSystems."/" = { device = "/dev/disk/by-uuid/8be49c65-2b57-48f1-b74d-244d26061adb"; fsType = "ext4"; @@ -54,6 +99,7 @@ networking.useDHCP = lib.mkDefault true; # networking.interfaces.enp42s0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true; + networking.hostName = "twilight"; # Define your hostname. nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;