diff options
author | Vincent Ambo <mail@tazj.in> | 2023-06-28T08·23+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2023-06-30T11·02+0000 |
commit | 9dca6c9c6ccaf10a3cc827ac5eb761b352cbdc5e (patch) | |
tree | e100a187ee76e4b16e8903f31c66e67afa4c3a67 /users/tazjin/nixos/khamovnik | |
parent | 62bc519d4f9747c8471ff8449abd486ccbb2345b (diff) |
feat(tazjin/nixos): bootstrap khamovnik r/6364
New work machine. Change-Id: I8085460285149e4dae28af9e166048fed93bdb82 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8878 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
Diffstat (limited to 'users/tazjin/nixos/khamovnik')
-rw-r--r-- | users/tazjin/nixos/khamovnik/default.nix | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/users/tazjin/nixos/khamovnik/default.nix b/users/tazjin/nixos/khamovnik/default.nix new file mode 100644 index 000000000000..5c1d1f661424 --- /dev/null +++ b/users/tazjin/nixos/khamovnik/default.nix @@ -0,0 +1,119 @@ +# Yandex work laptop +# +# Some of the configuration for this machine is not public. +{ depot, lib, pkgs, ... }: + +config: +let + mod = name: depot.path.origSrc + ("/ops/modules/" + name); + usermod = name: depot.path.origSrc + ("/users/tazjin/nixos/modules/" + name); + private = /arc/junk/tazjin/nixos/yandex.nix; + + zdevice = device: { + inherit device; + fsType = "zfs"; + }; +in +{ + imports = [ + (usermod "chromium.nix") + (usermod "desktop.nix") + (usermod "fonts.nix") + (usermod "home-config.nix") + (usermod "laptop.nix") + (usermod "physical.nix") + (pkgs.home-manager.src + "/nixos") + ] ++ lib.optional (builtins.pathExists private) private; + + # from hardware-configuration.nix + boot = { + initrd.luks.devices."luks-9c3cd590-a648-450d-ae42-ed3859d4c717".device = + "/dev/disk/by-uuid/9c3cd590-a648-450d-ae42-ed3859d4c717"; + + initrd.availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "ahci" + "nvme" + "usb_storage" + "sd_mod" + "rtsx_pci_sdmmc" + ]; + kernelModules = [ "kvm-intel" ]; + }; + + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/1f783029-c4f9-4192-b893-84f4f0c2a493"; + fsType = "ext4"; + }; + + "/boot" = { + device = "/dev/disk/by-uuid/DD01-2B3E"; + fsType = "vfat"; + }; + }; + + swapDevices = [{ + device = "/dev/disk/by-uuid/9b9049c5-5975-441d-9ac6-2f9150775fd6"; + }]; + + tvl.cache.enable = true; + + networking.hostName = "khamovnik"; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = true; + hardware.enableRedistributableFirmware = true; + + # from generated configuration.nix + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Setup keyfile + boot.initrd.secrets = { + "/crypto_keyfile.bin" = null; + }; + + # Enable swap on luks + boot.initrd.luks.devices."luks-e9a4b4dc-ade2-45bf-8ed0-0ed5c4c392c9".device = "/dev/disk/by-uuid/e9a4b4dc-ade2-45bf-8ed0-0ed5c4c392c9"; + boot.initrd.luks.devices."luks-e9a4b4dc-ade2-45bf-8ed0-0ed5c4c392c9".keyFile = "/crypto_keyfile.bin"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "ru_RU.UTF-8"; + LC_IDENTIFICATION = "ru_RU.UTF-8"; + LC_MEASUREMENT = "ru_RU.UTF-8"; + LC_MONETARY = "ru_RU.UTF-8"; + LC_NAME = "ru_RU.UTF-8"; + LC_NUMERIC = "ru_RU.UTF-8"; + LC_PAPER = "ru_RU.UTF-8"; + LC_TELEPHONE = "ru_RU.UTF-8"; + LC_TIME = "ru_RU.UTF-8"; + }; + + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.bluetooth.enable = true; + users.users.tazjin.extraGroups = [ "tss" ]; + + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + tdesktop + ]; + + system.stateVersion = "23.05"; # Did you read the comment? +} |