From 0f779af4a7f8e3ad6f143253ce75fd59b61fbed6 Mon Sep 17 00:00:00 2001 From: Valentin Brandl Date: Wed, 9 Nov 2022 19:59:49 +0100 Subject: [PATCH] Add configuration for Thinkpad E14 --- flake.nix | 1 + machines/morpheus.nix | 132 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 machines/morpheus.nix diff --git a/flake.nix b/flake.nix index f1a7ba4..b1ca96c 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,7 @@ outputs = inputs: { nixosConfigurations = { w1n5t0n = import ./machines/w1n5t0n.nix inputs; + morpheus = import ./machines/morpheus.nix inputs; }; homeConfigurations = { me = inputs.home-manager.lib.homeManagerConfiguration { diff --git a/machines/morpheus.nix b/machines/morpheus.nix new file mode 100644 index 0000000..53b298b --- /dev/null +++ b/machines/morpheus.nix @@ -0,0 +1,132 @@ +inputs: +let + system = "x86_64-linux"; + hostname = "morpheus"; +in +inputs.nixpkgs.lib.nixosSystem { + inherit system; + modules = [ + { system.stateVersion = "22.05"; } + (import ./common.nix inputs) + (import ./dev.nix inputs) + (import ./entertainment.nix inputs) + (import ./office.nix inputs) + ({ pkgs, lib, ... }: { + system.autoUpgrade = { + enable = true; + allowReboot = false; + }; + + networking = { + hostName = hostname; + interfaces.enp1s0.useDHCP = true; + interfaces.wlp2s0.useDHCP = true; + }; + # enable touchpad support + services.xserver.libinput.enable = true; + users.users.me = { + isNormalUser = true; + createHome = true; + extraGroups = [ + "adbusers" + "audio" + "davfs2" + "disk" + "docker" + "networkmanager" + "plugdev" + "users" + "uucp" + "vboxusers" + "video" + "wheel" + ]; + shell = pkgs.zsh; + }; + boot = { + initrd = { + #availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ]; + kernelModules = [ ]; + luks.devices."system".device = "/dev/disk/by-uuid/06549d22-b96c-44f2-bb27-45200d5feda5"; + }; + kernelModules = [ "kvm-amd" ]; + # use latest kernel + kernelPackages = pkgs.linuxPackages_latest; + kernel.sysctl = { + # function keys on keychron keyboard won't work otherwise + "module.hid_apple.parameters.fnmode" = "2"; + }; + # Use the systemd-boot EFI boot loader. + loader = { + systemd-boot.enable = true; + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot/efi"; + }; + }; + # mount tmp as tmpfs + tmpOnTmpfs = true; + # Enable NTFS support + supportedFilesystems = [ "ntfs" ]; + }; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/93bdadfc-961a-4ea6-aef0-d3cd50847f0b"; + fsType = "btrfs"; + options = [ "subvol=root" "compress=zstd" ]; + }; + + fileSystems."/boot/efi" = + { device = "/dev/disk/by-uuid/4CD4-D5AB"; + fsType = "vfat"; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/93bdadfc-961a-4ea6-aef0-d3cd50847f0b"; + fsType = "btrfs"; + options = [ "subvol=nix" "compress=zstd" "noatime" ]; + }; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/93bdadfc-961a-4ea6-aef0-d3cd50847f0b"; + fsType = "btrfs"; + options = [ "subvol=home" "compress=zstd" ]; + }; + + fileSystems."/swap" = + { device = "/dev/disk/by-uuid/93bdadfc-961a-4ea6-aef0-d3cd50847f0b"; + fsType = "btrfs"; + options = [ "subvol=swap" "noatime" ]; + }; + + swapDevices = [ + { device = "/swap/swapfile"; } + ]; + + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + + hardware = { + #opengl = { + #extraPackages = with pkgs; [ + #rocm-opencl-icd + #rocm-opencl-runtime + #]; + #}; + }; + }) + inputs.home-manager.nixosModules.home-manager + { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { + inherit inputs; + inherit system; + hostname = hostname; + }; + users.me = import ../users/me.nix; + }; + } + ]; +}