diff --git a/common/default.nix b/common/default.nix index a03fe1a..a6d16b0 100644 --- a/common/default.nix +++ b/common/default.nix @@ -125,12 +125,24 @@ services.tailscale.enable = true; + programs.git = { + enable = true; + config = { + user = { + name = "Tasia Iso"; + email = "tasiaiso@proton.me"; + }; + init = { + defaultBranch = "master"; + }; + }; + }; + environment.systemPackages = with pkgs; [ wget dig nmap btop - gitFull smartmontools lm_sensors pciutils diff --git a/common/hardware/nvidiagpu.nix b/common/hardware/nvidiagpu.nix new file mode 100644 index 0000000..f1ba7fc --- /dev/null +++ b/common/hardware/nvidiagpu.nix @@ -0,0 +1,35 @@ +{config, ...}: { + # 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.stable; + }; +} diff --git a/common/locales/en-keymap.nix b/common/locales/en-keymap.nix index 13b4779..49c3cf9 100644 --- a/common/locales/en-keymap.nix +++ b/common/locales/en-keymap.nix @@ -1,7 +1,7 @@ { - console.keyMap = "en"; + # console.keyMap = "en"; services.xserver.xkb = { - layout = "en"; + layout = "us"; }; } diff --git a/hosts/pc/configuration.nix b/hosts/pc/configuration.nix index dd578e2..73182a9 100644 --- a/hosts/pc/configuration.nix +++ b/hosts/pc/configuration.nix @@ -8,15 +8,15 @@ ../../common/default.nix ../../common/locales/en.nix - #../../common/locales/fr-keymap.nix + ../../common/locales/en-keymap.nix ../../common/hardware/intelcpu.nix - #../../common/hardware/amdgpu.nix + ../../common/hardware/nvidiagpu.nix ../../common/de/plasma6.nix ../../common/de/hyprland.nix - #../../common/packages/syncthing.nix - #../../common/packages/adguardhome.nix + ../../common/packages/syncthing.nix + ../../common/packages/adguardhome.nix # If you want to use modules your own flake exports (from modules/nixos): # outputs.nixosModules.example @@ -49,11 +49,11 @@ ]; }; - # services.btrfs.autoScrub = { - # enable = true; - # interval = "weekly"; - # fileSystems = ["/" "/data"]; - # }; + services.btrfs.autoScrub = { + enable = true; + interval = "weekly"; + fileSystems = ["/"]; + }; # virtualisation.docker.enable = true; # services.flatpak.enable = true; @@ -72,13 +72,13 @@ dedicatedServer.openFirewall = false; # Open ports in the firewall for Source Dedicated Server }; - # services.syncthing = { - # dataDir = lib.mkForce "/home/user"; - # configDir = lib.mkForce "/data/sync/configuration/"; - # }; + services.syncthing = { + dataDir = lib.mkForce "/home/user/Sync/Phone/"; + configDir = lib.mkForce "/home/user/sync/configuration/"; + }; environment.systemPackages = with pkgs; [ - bitwarden + # bitwarden libreoffice-fresh nextdns android-tools @@ -109,6 +109,7 @@ nodePackages.node-pre-gyp superTuxKart openssl + xonotic # qgis helix diff --git a/hosts/pc/hardware-configuration.nix b/hosts/pc/hardware-configuration.nix index e69de29..8db83fb 100644 --- a/hosts/pc/hardware-configuration.nix +++ b/hosts/pc/hardware-configuration.nix @@ -0,0 +1,52 @@ +# 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" "ehci_pci" "ahci" "usbhid" "uas" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/223771ac-0c08-4b1e-bfbd-0e6a35868732"; + fsType = "btrfs"; + options = ["subvol=@"]; + }; + + boot.initrd.luks.devices."luks-9977dbf8-b4f4-44cd-8246-5c9c4e1f9084".device = "/dev/disk/by-uuid/9977dbf8-b4f4-44cd-8246-5c9c4e1f9084"; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/1EC1-D46C"; + fsType = "vfat"; + }; + + fileSystems."/data" = { + device = "/dev/disk/by-uuid/5967ac1b-9624-4028-9b0b-4d270466ddf1"; + fsType = "btrfs"; + }; + + boot.initrd.luks.devices."data".device = "/dev/disk/by-uuid/6b8d73d9-a9ac-43f6-9883-f902135f8b8c"; + + 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..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true; + # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}