diff --git a/config/hosts/nixos76/default.nix b/config/hosts/nixos76/default.nix index f38dc9d..9803eb8 100644 --- a/config/hosts/nixos76/default.nix +++ b/config/hosts/nixos76/default.nix @@ -5,12 +5,92 @@ { imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix + (modulesPath + "/installer/scan/not-detected.nix") + ../../modules/system76-pc.nix ]; networking.hostName = "nixos76"; # Define your hostname. + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + environment.etc.crypttab = { + enable = true; + text = '' + # /etc/crypttab: mappings for encrypted partitions. + # + # Each mapped device will be created in /dev/mapper, so your /etc/fstab + # should use the /dev/mapper/ paths for encrypted devices. + # + # See crypttab(5) for the supported syntax. + # + # NOTE: Do not list your root (/) partition here, it must be set up + # beforehand by the initramfs (/etc/mkinitcpio.conf). The same applies + # to encrypted swap, which should be set up with mkinitcpio-openswap + # for resume support. + # + # + externaldrive UUID=b9e3979c-9362-4242-a835-6dd702dfb0ee /etc/externalHD_keyfile.bin luks + ''; + }; + + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/6d62467a-ccc1-44ed-a1cc-f473b3962c64"; + fsType = "ext4"; + }; + + "/boot" = { + device = "/dev/disk/by-uuid/2330-1A62"; + fsType = "vfat"; + }; + + "/media/external" = { + device = "/dev/mapper/externaldrive"; + }; + + "/home/alex/Documents" = { + device = "/media/external/Documents"; + options = [ "bind" ]; + }; + + "/home/alex/Games" = { + device = "/media/external/Games"; + options = [ "bind" ]; + }; + + "/home/alex/Git" = { + device = "/media/external/Git"; + options = [ "bind" ]; + }; + + "/home/alex/Lutris" = { + device = "/media/external/Lutris"; + options = [ "bind" ]; + }; + + "/home/alex/Music" = { + device = "/media/external/Music"; + options = [ "bind" ]; + }; + + "/home/alex/Pictures" = { + device = "/media/external/Pictures"; + options = [ "bind" ]; + }; + + "/home/alex/Videos" = { + device = "/media/external/Videos"; + options = [ "bind" ]; + }; + }; + + swapDevices = + [{ device = "/dev/disk/by-uuid/fda4f9fe-383f-477c-b2a2-c07f7efcc161"; }]; + + # What was this for? maybe wireguard? networking.firewall = { allowedUDPPorts = [ 51820 22000 ]; # Clients and peers can use the same port, see listenport @@ -54,104 +134,11 @@ }; }; - # Add LUKS external drive mount - environment.etc.crypttab = { - enable = true; - text = '' - # /etc/crypttab: mappings for encrypted partitions. - # - # Each mapped device will be created in /dev/mapper, so your /etc/fstab - # should use the /dev/mapper/ paths for encrypted devices. - # - # See crypttab(5) for the supported syntax. - # - # NOTE: Do not list your root (/) partition here, it must be set up - # beforehand by the initramfs (/etc/mkinitcpio.conf). The same applies - # to encrypted swap, which should be set up with mkinitcpio-openswap - # for resume support. - # - # - # luks-d515fd8a-a021-4a1e-bd21-5793c3c3a771 UUID=d515fd8a-a021-4a1e-bd21-5793c3c3a771 /crypto_keyfile.bin luks - externaldrive UUID=b9e3979c-9362-4242-a835-6dd702dfb0ee /etc/externalHD_keyfile.bin luks - ''; - }; - - fileSystems."/media/external".device = "/dev/mapper/externaldrive"; - - # Enable the X11 windowing system. # services.xserver.enable = true; services.xserver.desktopManager.xfce.enable = true; services.displayManager.defaultSession = "xfce"; - # hardware.graphics.enable = true; - # hardware.graphics.extraPackages = [ - # pkgs.intel-media-driver - # ]; - # hardware.graphics.extraPackages32 = [ - # pkgs.intel-media-driver - # pkgs.pkgsi686Linux.libva - # ]; - - # Configure keymap in X11 - # services.xserver.layout = "us"; - # services.xserver.xkbOptions = "eurosign:e,caps:escape"; - - # Enable blueooth - # hardware.bluetooth.enable = true; - - # Enable sound. - # sound.enable = true; - # hardware.pulseaudio = { - # enable = true; - # package = pkgs.pulseaudioFull; - # support32Bit = true; - # }; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - # users.users.alex = { - # isNormalUser = true; - # extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. - # }; - - fileSystems."/home/alex/Documents" = { - device = "/media/external/Documents"; - options = [ "bind" ]; - }; - - fileSystems."/home/alex/Games" = { - device = "/media/external/Games"; - options = [ "bind" ]; - }; - - fileSystems."/home/alex/Git" = { - device = "/media/external/Git"; - options = [ "bind" ]; - }; - - fileSystems."/home/alex/Lutris" = { - device = "/media/external/Lutris"; - options = [ "bind" ]; - }; - - fileSystems."/home/alex/Music" = { - device = "/media/external/Music"; - options = [ "bind" ]; - }; - - fileSystems."/home/alex/Pictures" = { - device = "/media/external/Pictures"; - options = [ "bind" ]; - }; - - fileSystems."/home/alex/Videos" = { - device = "/media/external/Videos"; - options = [ "bind" ]; - }; - # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ @@ -209,6 +196,18 @@ openFirewall = true; }; + # 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.enp58s0f1.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp59s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + # 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/config/hosts/nixos76/hardware-configuration.nix b/config/hosts/nixos76/hardware-configuration.nix deleted file mode 100644 index c194af6..0000000 --- a/config/hosts/nixos76/hardware-configuration.nix +++ /dev/null @@ -1,43 +0,0 @@ -# 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" "ahci" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { - device = "/dev/disk/by-uuid/6d62467a-ccc1-44ed-a1cc-f473b3962c64"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { - device = "/dev/disk/by-uuid/2330-1A62"; - fsType = "vfat"; - }; - - swapDevices = - [{ device = "/dev/disk/by-uuid/fda4f9fe-383f-477c-b2a2-c07f7efcc161"; }]; - - # 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.enp58s0f1.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp59s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/config/hosts/thelio76/default.nix b/config/hosts/thelio76/default.nix index 5da58d6..b03524f 100644 --- a/config/hosts/thelio76/default.nix +++ b/config/hosts/thelio76/default.nix @@ -18,9 +18,25 @@ boot.initrd.luks.devices."luks-b748a776-5e2c-4809-927e-1f4c051b9460".device = "/dev/disk/by-uuid/b748a776-5e2c-4809-927e-1f4c051b9460"; boot.initrd.luks.devices."luks-7d758c82-9079-46a6-8bb2-05d5016ed623".device = "/dev/disk/by-uuid/7d758c82-9079-46a6-8bb2-05d5016ed623"; - environment.etc.crypttab.text = '' - luks-9870176e-53f3-493e-94d8-560994fa8f35 UUID=9870176e-53f3-493e-94d8-560994fa8f35 /luks-9870176e-53f3-493e-94d8-560994fa8f35 nofail - ''; + environment.etc.crypttab = { + enable = true; + text = '' + # /etc/crypttab: mappings for encrypted partitions. + # + # Each mapped device will be created in /dev/mapper, so your /etc/fstab + # should use the /dev/mapper/ paths for encrypted devices. + # + # See crypttab(5) for the supported syntax. + # + # NOTE: Do not list your root (/) partition here, it must be set up + # beforehand by the initramfs (/etc/mkinitcpio.conf). The same applies + # to encrypted swap, which should be set up with mkinitcpio-openswap + # for resume support. + # + # + luks-9870176e-53f3-493e-94d8-560994fa8f35 UUID=9870176e-53f3-493e-94d8-560994fa8f35 /luks-9870176e-53f3-493e-94d8-560994fa8f35 nofail + ''; + }; fileSystems = { "/" = { diff --git a/config/modules/system76-pc.nix b/config/modules/system76-pc.nix index 3f4637f..bb99507 100644 --- a/config/modules/system76-pc.nix +++ b/config/modules/system76-pc.nix @@ -64,8 +64,8 @@ pkgs.pkgsi686Linux.libva ]; - hardware.pulseaudio.enable = false; hardware.bluetooth.enable = true; + services.blueman.enable = true; # Enable CUPS to print documents. services.printing.enable = true;