diff --git a/global/eraseyourdarlings.nix b/global/eraseyourdarlings.nix index 1c37167..e0b9c13 100755 --- a/global/eraseyourdarlings.nix +++ b/global/eraseyourdarlings.nix @@ -61,6 +61,7 @@ "Documents" "Videos" "nixos-configv3" + ".config/cura" { directory = ".local/share/Steam"; mode = "0777"; @@ -92,5 +93,5 @@ ]; }; }; - users.users.laythe.hashedPasswordFile="/persistent/etc/passwdfile"; + users.users.laythe.hashedPasswordFile = "/persistent/etc/passwdfile"; } diff --git a/machines/workstation/configuration.nix b/machines/workstation/configuration.nix index 6ad7bc3..9cd45b9 100755 --- a/machines/workstation/configuration.nix +++ b/machines/workstation/configuration.nix @@ -87,10 +87,9 @@ # List packages installed in system profile. # You can use https://search.nixos.org/ to find more packages (and options). - # 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 - # ]; + environment.systemPackages = with pkgs; [ + cura-appimage # I want cura but not kicad so i dont pull in fabrication + ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. diff --git a/machines/workstation/hardware-configuration.nix b/machines/workstation/hardware-configuration.nix index 5b2d711..c037622 100755 --- a/machines/workstation/hardware-configuration.nix +++ b/machines/workstation/hardware-configuration.nix @@ -19,14 +19,20 @@ "btrfs" ]; boot.initrd.kernelModules = [ "btrfs" ]; - boot.kernelModules = [ "kvm-intel" "btrfs" ]; + boot.kernelModules = [ + "kvm-intel" + "btrfs" + ]; boot.extraModulePackages = [ ]; boot.supportedFilesystems = [ "btrfs" ]; fileSystems."/" = { device = "/dev/disk/by-label/BUTTER"; fsType = "btrfs"; - options = [ "compress=zstd" "subvol=root" ]; + options = [ + "compress=zstd" + "subvol=root" + ]; }; # fileSystems."/home" = { @@ -39,20 +45,27 @@ # device = "/dev/disk/by-uuid/3c89fa92-1d43-4c48-b228-e2725fa70ee9"; device = "/dev/disk/by-label/BUTTER"; fsType = "btrfs"; - options = [ "compress=zstd" "noatime" "subvol=nix" ]; + options = [ + "compress=zstd" + "noatime" + "subvol=nix" + ]; }; -# fileSystems."/swap" = { -# device = "/dev/disk/by-label/BUTTER"; -# fsType = "btrfs"; -# options = [ "noatime" "subvol=swap" ]; -# }; + # fileSystems."/swap" = { + # device = "/dev/disk/by-label/BUTTER"; + # fsType = "btrfs"; + # options = [ "noatime" "subvol=swap" ]; + # }; fileSystems."/persistent" = { device = "/dev/disk/by-label/BUTTER"; fsType = "btrfs"; neededForBoot = true; - options = [ "compress=zstd" "subvol=persist" ]; + options = [ + "compress=zstd" + "subvol=persist" + ]; }; fileSystems."/boot" = { @@ -64,17 +77,56 @@ ]; }; -# fileSystems = { -# "/".options = [ "compress=zstd" ]; -# "/home".options = [ "compress=zstd" ]; -# "/persist".options = [ "compress=zstd" ]; -# "/nix".options = [ "compress=zstd" "noatime" ]; -# "/swap".options = [ "noatime" ]; -# }; + # fileSystems = { + # "/".options = [ "compress=zstd" ]; + # "/home".options = [ "compress=zstd" ]; + # "/persist".options = [ "compress=zstd" ]; + # "/nix".options = [ "compress=zstd" "noatime" ]; + # "/swap".options = [ "noatime" ]; + # }; -# swapDevices = [ -# { device = "/swap/swapfile"; } -# ]; + # swapDevices = [ + # { device = "/swap/swapfile"; } + # ]; + + # 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+ + 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.stable; + }; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/modules/development/default.nix b/modules/development/default.nix index c824997..3fcfb15 100755 --- a/modules/development/default.nix +++ b/modules/development/default.nix @@ -1,7 +1,20 @@ -{pkgs, ...}: +{ pkgs, ... }: { environment.systemPackages = with pkgs; [ - vscode antigravity # Free Gemini 3 credits was too good of an offer to not take up, even if it requires selling my soul. ]; + + home-manager.sharedModules = [ + ({ pkgs, ... }: { + programs.vscode = { + enable = true; + extensions = with pkgs.vscode-extensions; [ + jnoortheen.nix-ide + ]; + userSettings = { + "editor.formatOnSave" = true; + }; + }; + }) + ]; } \ No newline at end of file