From fe05f4520140a3382920df4d88d6d5cae8d6056c Mon Sep 17 00:00:00 2001 From: Jimbo Date: Sun, 27 Oct 2024 00:45:30 -0400 Subject: [PATCH] Add Macbook to the roster and whatnot --- flake.nix | 16 ++--- hosts/treefruit/home/default.nix | 25 +++++++ hosts/treefruit/id_ed25519.pub | 1 + hosts/treefruit/system/boot/default.nix | 17 +++++ hosts/treefruit/system/default.nix | 31 +++++++++ hosts/treefruit/system/hardware/default.nix | 63 ++++++++++++++++++ .../system/accounts/users/jimbo/default.nix | 1 + modules/system/services/pc/keyd/default.nix | 22 +++++- variables/secrets/default.nix | Bin 2497 -> 0 bytes 9 files changed, 166 insertions(+), 10 deletions(-) create mode 100644 hosts/treefruit/home/default.nix create mode 100644 hosts/treefruit/id_ed25519.pub create mode 100644 hosts/treefruit/system/boot/default.nix create mode 100644 hosts/treefruit/system/default.nix create mode 100644 hosts/treefruit/system/hardware/default.nix delete mode 100644 variables/secrets/default.nix diff --git a/flake.nix b/flake.nix index b8c07ca2..ee2ed994 100644 --- a/flake.nix +++ b/flake.nix @@ -66,15 +66,14 @@ in { # nixos-rebuild switch --flake .#hostname nixosConfigurations = { - # PCs and Laptops - firefly = mkNix [ ./hosts/firefly/system ]; - shuttleworth = mkNix [ ./hosts/shuttleworth/system ]; - lacros = mkNix [ ./hosts/lacros/system ]; - redmond = mkNix [ ./hosts/redmond/system ]; + firefly = mkNix [ ./hosts/firefly/system ]; # Main Desktop + shuttleworth = mkNix [ ./hosts/shuttleworth/system ]; # Pinebook Pro + lacros = mkNix [ ./hosts/lacros/system ]; # Dell Chromebook + redmond = mkNix [ ./hosts/redmond/system ]; # Lenovo Laptop + treefruit = mkNix [ ./hosts/treefruit/system ]; # Macbook 14,1 - # Servers - cyberspark = mkNix [ ./hosts/cyberspark/system ]; - bomberman = mkNix [ ./hosts/bomberman/system ]; + cyberspark = mkNix [ ./hosts/cyberspark/system ]; # Dell Optiplex 7010 + bomberman = mkNix [ ./hosts/bomberman/system ]; # Oracle ARM }; # home-manager switch --flake .#username@hostname @@ -83,6 +82,7 @@ "jimbo@shuttleworth" = mkHome [ ./hosts/shuttleworth/home ] nixpkgs.legacyPackages.aarch64-linux; "jimbo@lacros" = mkHome [ ./hosts/lacros/home ] nixpkgs.legacyPackages.x86_64-linux; "jimbo@redmond" = mkHome [ ./hosts/redmond/home ] nixpkgs.legacyPackages.x86_64-linux; + "jimbo@treefruit" = mkHome [ ./hosts/treefruit/home ] nixpkgs.legacyPackages.x86_64-linux; "jimbo@cyberspark" = mkHome [ ./hosts/cyberspark/home ] nixpkgs.legacyPackages.x86_64-linux; "jimbo@bomberman" = mkHome [ ./hosts/bomberman/home ] nixpkgs.legacyPackages.aarch64-linux; diff --git a/hosts/treefruit/home/default.nix b/hosts/treefruit/home/default.nix new file mode 100644 index 00000000..769a8750 --- /dev/null +++ b/hosts/treefruit/home/default.nix @@ -0,0 +1,25 @@ +{ config, nur, ... }: +{ + imports = [ + # Apps and programs + ../../../modules/home + ../../../modules/home/users + ../../../modules/home/files + ../../../modules/home/settings + ../../../modules/home/programs + ../../../modules/home/programs/misc/production + ../../../modules/home/programs/misc/gaming/launchers + ../../../modules/home/programs/misc/gaming/xash3d + ../../../modules/home/programs/misc/remote-desktop + ../../../modules/home/sway + ../../../modules/home/utils + + # Misc + ../../../overlays + ../../../variables + ../../../variables/look/colors/orange + + # Imports + nur.nixosModules.nur + ]; +} diff --git a/hosts/treefruit/id_ed25519.pub b/hosts/treefruit/id_ed25519.pub new file mode 100644 index 00000000..089969cb --- /dev/null +++ b/hosts/treefruit/id_ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAzAyY6bLK/pOlijVOZjw3ikdIaOuCC1yQjxL922bON7 jimbo@treefruit diff --git a/hosts/treefruit/system/boot/default.nix b/hosts/treefruit/system/boot/default.nix new file mode 100644 index 00000000..90ff8e8f --- /dev/null +++ b/hosts/treefruit/system/boot/default.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: +{ + boot = { + kernelPackages = pkgs.linuxPackages_latest; + kernel.sysctl."vm.max_map_count" = 2147483642; + initrd = { + systemd.enable = true; + luks.devices = { + crypt-mmc = { + device = "/dev/disk/by-uuid/5bc11b61-e4dc-465c-b87a-533955cf6177"; + preLVM = true; + allowDiscards = true; + }; + }; + }; + }; +} diff --git a/hosts/treefruit/system/default.nix b/hosts/treefruit/system/default.nix new file mode 100644 index 00000000..db774c64 --- /dev/null +++ b/hosts/treefruit/system/default.nix @@ -0,0 +1,31 @@ +{ config, lib, hardware, ... }: +{ + imports = [ + ./hardware + ./boot + + # Apps and programs + ../../../modules/system + ../../../modules/system/accounts + ../../../modules/system/desktop + ../../../modules/system/programs + ../../../modules/system/services + + # Devices and hardware + ../../../modules/system/devices + ../../../modules/system/devices/boot/systemd + ../../../modules/system/devices/networking/wireless + ../../../modules/system/devices/networking/firewall/pc + ../../../modules/system/devices/networking/wireguard/pc + + # Extras + ../../../overlays + ../../../variables + + # Imports + hardware.nixosModules.apple-macbook-pro-14-1 + ]; + + networking.hostName = "treefruit"; + networking.wireguard.interfaces."${config.ips.wgInt}".ips = [ "${config.ips.wgSpan}.21/24" ]; +} diff --git a/hosts/treefruit/system/hardware/default.nix b/hosts/treefruit/system/hardware/default.nix new file mode 100644 index 00000000..9975bc52 --- /dev/null +++ b/hosts/treefruit/system/hardware/default.nix @@ -0,0 +1,63 @@ +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot = { + kernelModules = [ "kvm-intel" ]; + initrd = { + availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + kernelModules = [ "dm-snapshot" ]; + }; + }; + + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/db67d9e8-2ead-4fe6-8a63-5c9e5071e06e"; + fsType = "btrfs"; + options = [ "subvol=@" ]; + }; + "/home" = { + device = "/dev/disk/by-uuid/db67d9e8-2ead-4fe6-8a63-5c9e5071e06e"; + fsType = "btrfs"; + options = [ "subvol=@home" ]; + }; + "/nix" = { + device = "/dev/disk/by-uuid/db67d9e8-2ead-4fe6-8a63-5c9e5071e06e"; + fsType = "btrfs"; + options = [ "subvol=@nix" ]; + }; + "/var" = { + device = "/dev/disk/by-uuid/db67d9e8-2ead-4fe6-8a63-5c9e5071e06e"; + fsType = "btrfs"; + options = [ "subvol=@var" ]; + }; + "/.snapshots" = { + device = "/dev/disk/by-uuid/db67d9e8-2ead-4fe6-8a63-5c9e5071e06e"; + fsType = "btrfs"; + options = [ "subvol=@snapshots" ]; + }; + "/boot" = { + device = "/dev/disk/by-uuid/7B59-F17A"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + # Remote + "/home/jimbo/JimboNFS" = { + device = "${config.ips.wgSpan}.1:/export/JimboNFS"; + fsType = "nfs4"; + options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ]; + }; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/25b5e281-f1be-49ca-991e-b340fed3e5da"; } + ]; + + networking.useDHCP = lib.mkDefault true; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/system/accounts/users/jimbo/default.nix b/modules/system/accounts/users/jimbo/default.nix index 967ab0e0..8ad47c8e 100644 --- a/modules/system/accounts/users/jimbo/default.nix +++ b/modules/system/accounts/users/jimbo/default.nix @@ -10,6 +10,7 @@ (builtins.readFile ../../../../../hosts/shuttleworth/id_ed25519.pub) (builtins.readFile ../../../../../hosts/lacros/id_ed25519.pub) (builtins.readFile ../../../../../hosts/redmond/id_ed25519.pub) + (builtins.readFile ../../../../../hosts/treefruit/id_ed25519.pub) (builtins.readFile ../../../../../hosts/cyberspark/id_ed25519.pub) (builtins.readFile ../../../../../hosts/bomberman/id_ed25519.pub) diff --git a/modules/system/services/pc/keyd/default.nix b/modules/system/services/pc/keyd/default.nix index 2af12884..b71dc61a 100644 --- a/modules/system/services/pc/keyd/default.nix +++ b/modules/system/services/pc/keyd/default.nix @@ -7,14 +7,16 @@ settings = { main = { capslock = "overload(control,esc)"; - esc = "capslock"; + leftcontrol = "overload(ctrlmod,noop)"; + + esc = "`"; rightcontrol = "esc"; - leftcontrol = "noop"; left = "noop"; down = "noop"; up = "noop"; right = "noop"; }; + control = { h = "left"; j = "down"; @@ -22,6 +24,22 @@ l = "right"; semicolon = "macro(C-l)"; }; + + ctrlmod = { + backspace = "delete"; + "1" = "f1"; + "2" = "f2"; + "3" = "f3"; + "4" = "f4"; + "5" = "f5"; + "6" = "f6"; + "7" = "f7"; + "8" = "f8"; + "9" = "f9"; + "0" = "f10"; + "-" = "f11"; + "=" = "f12"; + }; }; }; }; diff --git a/variables/secrets/default.nix b/variables/secrets/default.nix deleted file mode 100644 index 0cbd023f7a04ac7ef1ef3441fce5ee46316b423d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2497 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