diff --git a/ops/machines/all-systems.nix b/ops/machines/all-systems.nix index 73aec8093..9f77f0048 100644 --- a/ops/machines/all-systems.nix +++ b/ops/machines/all-systems.nix @@ -9,6 +9,7 @@ camden frog tverskoy + zamalek ]) ++ (with depot.users.grfn.system.system; [ diff --git a/users/tazjin/home/zamalek.nix b/users/tazjin/home/zamalek.nix new file mode 100644 index 000000000..6bac67eb1 --- /dev/null +++ b/users/tazjin/home/zamalek.nix @@ -0,0 +1,10 @@ +# Home manage configuration for zamalek. + +{ depot, pkgs, ... }: # readTree +{ config, lib, ... }: # home-manager + +{ + imports = [ + depot.users.tazjin.home.shared + ]; +} diff --git a/users/tazjin/nixos/default.nix b/users/tazjin/nixos/default.nix index e240eada5..b9cae51d7 100644 --- a/users/tazjin/nixos/default.nix +++ b/users/tazjin/nixos/default.nix @@ -6,4 +6,5 @@ in depot.nix.readTree.drvTargets { frogSystem = systemFor depot.users.tazjin.nixos.frog; tverskoySystem = systemFor depot.users.tazjin.nixos.tverskoy; polyankaSystem = (depot.ops.nixos.nixosFor depot.users.tazjin.nixos.polyanka).system; + zamalekSystem = systemFor depot.users.tazjin.nixos.zamalek; } diff --git a/users/tazjin/nixos/tverskoy/default.nix b/users/tazjin/nixos/tverskoy/default.nix index 4356ef2b0..732225875 100644 --- a/users/tazjin/nixos/tverskoy/default.nix +++ b/users/tazjin/nixos/tverskoy/default.nix @@ -1,3 +1,4 @@ +# tverskoy is my Thinkpad X13 AMD 1st gen { depot, lib, pkgs, ... }: config: diff --git a/users/tazjin/nixos/zamalek/default.nix b/users/tazjin/nixos/zamalek/default.nix new file mode 100644 index 000000000..487436f41 --- /dev/null +++ b/users/tazjin/nixos/zamalek/default.nix @@ -0,0 +1,71 @@ +# zamalek is my Huawei MateBook X (unknown year) +{ depot, lib, pkgs, ... }: + +config: +let + mod = name: depot.path + ("/ops/modules/" + name); + usermod = name: depot.path + ("/users/tazjin/nixos/modules/" + name); + + zdevice = device: { + inherit device; + fsType = "zfs"; + }; +in +{ + imports = [ + (usermod "desktop.nix") + (usermod "fonts.nix") + (usermod "home-config.nix") + (usermod "laptop.nix") + (usermod "persistence.nix") + (usermod "physical.nix") + (usermod "zerotier.nix") + + (depot.third_party.impermanence + "/nixos.nix") + (pkgs.home-manager.src + "/nixos") + ]; + + tvl.cache.enable = true; + + boot = { + initrd.availableKernelModules = [ "nvme" "xhci_pci" ]; + loader.systemd-boot.enable = true; + loader.efi.canTouchEfiVariables = true; + supportedFilesystems = [ "zfs" ]; + zfs.devNodes = "/dev/"; + }; + + fileSystems = { + "/" = zdevice "zpool/ephemeral/root"; + "/home" = zdevice "zpool/ephemeral/home"; + "/persist" = zdevice "zpool/persistent/data" // { neededForBoot = true; }; + "/nix" = zdevice "zpool/persistent/nix"; + "/depot" = zdevice "zpool/persistent/depot"; + + "/boot" = { + device = "/dev/disk/by-uuid/2487-3908"; + fsType = "vfat"; + }; + }; + + networking = { + hostName = "zamalek"; + domain = "tvl.su"; + hostId = "ee399356"; + networkmanager.enable = true; + + nameservers = [ + "8.8.8.8" + "8.8.4.4" + ]; + }; + + hardware = { + cpu.intel.updateMicrocode = true; + bluetooth.enable = true; + enableRedistributableFirmware = true; + opengl.enable = true; + }; + + system.stateVersion = "21.11"; +}