From 74651f60ad0b497382945f90f89f3266bef583b4 Mon Sep 17 00:00:00 2001 From: Price Hiller Date: Fri, 13 Oct 2023 19:50:01 -0500 Subject: [PATCH] feat(luna): add initial luna config --- hosts/luna/default.nix | 9 +++++ hosts/luna/modules/default.nix | 7 ++++ hosts/luna/os/filesystem.nix | 72 ++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 hosts/luna/default.nix create mode 100644 hosts/luna/modules/default.nix create mode 100644 hosts/luna/os/filesystem.nix diff --git a/hosts/luna/default.nix b/hosts/luna/default.nix new file mode 100644 index 0000000..da8cde7 --- /dev/null +++ b/hosts/luna/default.nix @@ -0,0 +1,9 @@ +{ config, lib, nixpkgs, ... }: + +{ + imports = [ + ./modules + ./os/filesystem.nix + ]; + system.stateVersion = "23.11"; +} diff --git a/hosts/luna/modules/default.nix b/hosts/luna/modules/default.nix new file mode 100644 index 0000000..cdc67f8 --- /dev/null +++ b/hosts/luna/modules/default.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, ... }: + +{ + # imports = [ ]; + # ... + # TODO: Actually get these configs in place +} diff --git a/hosts/luna/os/filesystem.nix b/hosts/luna/os/filesystem.nix new file mode 100644 index 0000000..17bfecc --- /dev/null +++ b/hosts/luna/os/filesystem.nix @@ -0,0 +1,72 @@ +{ config, lib, pkgs, modulesPath, ... }: +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") ]; + + boot = { + initrd = { + availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ]; + kernelModules = [ ]; + }; + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + kernelModules = [ "kvm-intel" ]; + extraModulePackages = [ ]; + }; + + swapDevices = [{ device = "/dev/disk/by-label/NixOS-Swap"; }]; + + fileSystems = { + "/" = { + device = "none"; + fsType = "tmpfs"; + options = [ "defaults" "noatime" "mode=755" ]; + }; + + "/boot" = { + device = "/dev/disk/by-label/NixOS-Boot"; + fsType = "vfat"; + options = [ "defaults" "noatime" ]; + depends = [ "/" ]; + }; + + "/nix" = { + device = "/dev/disk/by-label/NixOS-Primary"; + fsType = "btrfs"; + options = [ "subvol=@nix" "compress=zstd" "noatime" ]; + }; + }; + + + environment.persistence = { + "/nix/persist" = { + hideMounts = true; + directories = [ + "/var/lib" + "/var/log" + "/etc/nixos" + ]; + files = [ + "/etc/machine-id" + "/etc/nix/id_rsa" + ]; + users.price = { + directories = [ + "Git" + "ISOs" + "Downloads" + "Keep" + "Notes" + ".local/share" + { directory = ".gnupg"; mode = "0700"; } + { directory = ".ssh"; mode = "0700"; } + ]; + files = [ + ".zsh_history" + ]; + }; + }; + }; +}