Migrate global configuration to and expand home
- Move lots of system config to home (browser, editors, etc.)
- Improve catppuccin support (kitty, cursors, etc.)
- Improve overall theme (fonts, icons in kitty)
- Add coded's system hardware configuration ("shorthair")
- Add the ed editor
- Split minion's system hardware configuration ("greylag") into several files
- Improve shell support (aliases, useful packages, replacements, etc.)
Change-Id: Ie6d40f809b2662268a9a6fa8b241641bbfef9442
Reviewed-on: https://git.clicks.codes/c/Chimera/NixFiles/+/383
Tested-by: Skyler Grey <minion@clicks.codes>
Reviewed-by: Samuel Shuert <coded@clicks.codes>
diff --git a/systems/x86_64-linux/greylag/boot/filesystems/default.nix b/systems/x86_64-linux/greylag/boot/filesystems/default.nix
new file mode 100644
index 0000000..4890eb5
--- /dev/null
+++ b/systems/x86_64-linux/greylag/boot/filesystems/default.nix
@@ -0,0 +1,71 @@
+{ lib, ... }:
+{
+ fileSystems =
+ (lib.mapAttrs
+ (_: share_name: {
+ device = "/dev/disk/by-label/BTRFS0";
+ fsType = "btrfs";
+ options = [
+ "subvol=shared/${share_name}"
+ "compress=zstd:1"
+ ];
+ })
+ {
+ "/home/minion/Code" = "@Code";
+ "/var/lib/containers" = "@containers";
+ "/etc/NetworkManager" = "@NetworkManager";
+ "/home/minion/.local/share/containers/storage" = "@personal-containers";
+ "/home/minion/.gtimelog" = "@gtimelog";
+ "/home/minion/Documents" = "@documents";
+ }
+ )
+ // {
+ "/mnt" = {
+ device = "/dev/mapper/key";
+ fsType = "ext4";
+ };
+
+ "/" = {
+ device = "/dev/disk/by-label/BTRFS0";
+ fsType = "btrfs";
+ options = [
+ "subvol=@nixos"
+ "compress=zstd:1"
+ ];
+ };
+
+ "/var" = {
+ device = "/dev/disk/by-label/BTRFS0";
+ fsType = "btrfs";
+ options = [
+ "subvol=@nixos-var"
+ "compress=zstd:1"
+ ];
+ };
+
+ "/home" = {
+ device = "/dev/disk/by-label/BTRFS0";
+ fsType = "btrfs";
+ options = [
+ "subvol=@nixos-home"
+ "compress=zstd:1"
+ ];
+ };
+
+ "/nix" = {
+ device = "/dev/disk/by-label/BTRFS0";
+ fsType = "btrfs";
+ options = [
+ "subvol=@nixos-nix"
+ "compress=zstd:1"
+ ];
+ };
+
+ "/boot" = {
+ device = "/dev/disk/by-label/ESP";
+ fsType = "vfat";
+ };
+ };
+
+ swapDevices = [ ];
+}
diff --git a/systems/x86_64-linux/greylag/boot/initrd/default.nix b/systems/x86_64-linux/greylag/boot/initrd/default.nix
new file mode 100644
index 0000000..0ef8a71
--- /dev/null
+++ b/systems/x86_64-linux/greylag/boot/initrd/default.nix
@@ -0,0 +1,30 @@
+{ ... }:
+{
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ boot.initrd.availableKernelModules = [
+ "xhci_pci"
+ "thunderbolt"
+ "nvme"
+ "uas"
+ "usbhid"
+ "sd_mod"
+ "ext4"
+ ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-intel" ];
+ boot.extraModulePackages = [ ];
+
+ boot.initrd.systemd.enable = true; # needed for the way we do our YubiKey
+ boot.initrd.luks.devices."key".device = "/dev/disk/by-label/KEY";
+
+ boot.initrd.luks.devices."luks-expansion0" = {
+ device = "/dev/disk/by-label/EXPANSION0";
+ keyFile = "/key:/dev/mapper/key";
+ };
+ boot.initrd.luks.devices."luks-ssd0" = {
+ device = "/dev/disk/by-label/SSD0";
+ keyFile = "/key:/dev/mapper/key";
+ };
+}