From 236f965779fb3e7ec3f2e41f262a498ec7122ae6 Mon Sep 17 00:00:00 2001 From: Freya Murphy <freya@freyacat.org> Date: Mon, 27 Jan 2025 22:38:04 -0500 Subject: [PATCH] add kaworu system (desktop) --- .sops.yaml | 2 ++ files/keys/kaworu.asc | 13 ++++++++ flake.nix | 2 ++ hosts/kaworu.nix | 71 +++++++++++++++++++++++++++++++++++++++++++ secrets.yaml | 41 ++++++++++++++++--------- 5 files changed, 114 insertions(+), 15 deletions(-) create mode 100644 files/keys/kaworu.asc create mode 100644 hosts/kaworu.nix diff --git a/.sops.yaml b/.sops.yaml index bb1aff9..7d7da6a 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -5,9 +5,11 @@ keys: # Hosts - &hosts: - &shinji 2A8A27879715447AEEC59D0C18DCCBE353963394 + - &kaworu FDD5D980CA2FEFF1AA8433B10F7CD7B91AB7CF01 creation_rules: - path_regex: ^secrets.yaml$ key_groups: - pgp: - *freya - *shinji + - *kaworu diff --git a/files/keys/kaworu.asc b/files/keys/kaworu.asc new file mode 100644 index 0000000..28ec11f --- /dev/null +++ b/files/keys/kaworu.asc @@ -0,0 +1,13 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEZ5hP3RYJKwYBBAHaRw8BAQdAUGrBfyCf71SN4jtAFh+opVa/S9S+mrLXWaaD +MMavubC0M0ZyZXlhIE11cnBoeSAoS2F3b3J1IGtleSBwYWlyKSA8ZnJleWFAZnJl +eWFjYXQub3JnPoiOBBMWCgA2FiEE/dXZgMov7/GqhDOxD3zXuRq3zwEFAmeYT90C +GwMECwkIBwQVCgkIBRYCAwEAAh4FAheAAAoJEA9817kat88B0wQA/2/BPW/o+MEh +kVsk7tYiiRJD40H3HziUB7K/9rAd1O9NAP49f508UMpNM+nJgbi8bKMjrSooz8Hj +4nrGXh5gvqMBDrg4BGeYT90SCisGAQQBl1UBBQEBB0ArFtZlWFcLaZBKVq13GyoF +mfARLvuOzsFWwz3ae9/XUwMBCAeIeAQYFgoAIBYhBP3V2YDKL+/xqoQzsQ9817ka +t88BBQJnmE/dAhsMAAoJEA9817kat88B/10BANQ3s8RY+wD1RzJqAqScsFqcGnE7 +c97gtmjmgI4sWgSIAP44jgBykGXfiFpt0AO+2HHmduSWlpaOs+XYyMkTdzByAA== +=4ESU +-----END PGP PUBLIC KEY BLOCK----- diff --git a/flake.nix b/flake.nix index 7268eef..f4feb65 100644 --- a/flake.nix +++ b/flake.nix @@ -27,10 +27,12 @@ in rec { nixosConfigurations = { shinji = import ./hosts/shinji.nix { inherit inputs options; }; + kaworu = import ./hosts/kaworu.nix { inherit inputs options; }; }; homeConfigurations = { shinji = nixosConfigurations.shinji.config.home-manager.users.${options.user}.home; + kaworu = nixosConfigurations.kaworu.config.home-manager.users.${options.user}.home; }; }; } diff --git a/hosts/kaworu.nix b/hosts/kaworu.nix new file mode 100644 index 0000000..0f666fb --- /dev/null +++ b/hosts/kaworu.nix @@ -0,0 +1,71 @@ +# Kaworu +# System configuration for my desktop + +{ + inputs, + options, + ... +}: + +inputs.nixpkgs.lib.nixosSystem rec { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + options + ../nix + { + # options + hostName = "kaworu"; + monitors = [{ + name = "HDMI-A-1"; + scale = 1.0; + }]; + + # hardware + hardware.graphics.enable = true; + hardware.bluetooth.enable = true; + + # bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot/efi"; + }; + + # kernel modules + boot.initrd.availableKernelModules = [ + "xhci_pci" + "ahci" + "usb_storage" + "usbhid" + "sd_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + # firmware + hardware.enableRedistributableFirmware = true; + hardware.cpu.amd.updateMicrocode = true; + + # luks device + boot.initrd.luks.devices."root".device = "/dev/disk/by-uuid/89257280-202b-4565-b832-89f160d5e4e2"; + + # root + fileSystems."/" = { + device = "/dev/disk/by-uuid/4906f0dd-b036-40fc-9a3f-0d031dbc2513"; + fsType = "btrfs"; + }; + + # boot + fileSystems."/boot/efi" = { + device = "/dev/disk/by-uuid/099A-D668"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + # swap + swapDevices = [ ]; + } + ]; +} diff --git a/secrets.yaml b/secrets.yaml index 28ca3a6..2a20fa7 100644 --- a/secrets.yaml +++ b/secrets.yaml @@ -1,34 +1,45 @@ -freyanetWg: ENC[AES256_GCM,data:xRM6yS/p2PrntO33TCIUrv3giPAdtKapkK/cQoNmraAKQCNOkwccmn4kXY0=,iv:OHnIVZVDZ7mTHM9pNFPiEKLUl02C9I1yQtSp3JbSstk=,tag:LFlLKGYe0HcU/GvOVFrVbg==,type:str] +freyanetWg: ENC[AES256_GCM,data:mUI3eIwFzanJz9iJCbIBDg3FMKdDMcOQ6u96mk5/zZd8MG5kuOG39wu8xZQ=,iv:Sd6EjuQiNhD0QupGpbRPJF7aIBCJJ3/LNNmUYlBMRNI=,tag:KFKoL0JbSfEQidaEzi049Q==,type:str] sops: kms: [] gcp_kms: [] azure_kv: [] hc_vault: [] age: [] - lastmodified: "2025-01-24T17:44:07Z" - mac: ENC[AES256_GCM,data:KIRtBWMriL3LWC67RyJrKwcZtt5lYifHZJ3SgJf424CbRbTZtmPmQBCAiLy1Mctwjg8774by0e+mGMPRzI17GqIX26FSh8QWdTaW6o/p9YIIkjjQX8XDtASshZMYgqy/psEBA6NJ68vmAUFHaDpc7UYfy4nZ7jDu6NNVTXI9AsA=,iv:20n+SDE6EWaL+HKWSPY6a1NSa195gFIuMFiv6gccDRc=,tag:P/URXcSJcaogxmw+MXlh/Q==,type:str] + lastmodified: "2025-01-28T03:38:29Z" + mac: ENC[AES256_GCM,data:2DA6o6yq0jbaNjNf6x15UrzVl7jOz7MXnAZf53kwEU94OIDr10xSLjaPmv9c+7FNTPXlesldNOY6LNsiaMGiOg+CWLA8RF9W0N/m23TtwC91PZEfvHFYpIyJsUlGFh9SzP1kgtIdoPIL40Clt1cjvb5Kf9wXlTlR1IBG0hXnobk=,iv:M7YtsfwDu4rSoXoTwnqxAuMCP92urQZCQxSMU8bWmRU=,tag:pMF1h81YlR8edyA4PddGSQ==,type:str] pgp: - - created_at: "2025-01-24T17:44:07Z" + - created_at: "2025-01-28T03:38:29Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4D0Q846mnV8HYSAQdAa2X6kxQtkBLjRtRbK26TGpr28mJWV8lTz6AxgYCsuQAw - 23kWYwg2wVdnTKCRcVcTYZcyqXx41Cl9tW/GAQRrUdZqDPKAqrNVI7W+/lNdgygz - 0l4B9zbWc86uX/2uTgTU08mNV5qedoSa0myxUhXDYcSaHT1UNWutIxcxyMjRimIR - pHmAnVaBmiDlCwq7TM4zSrg/N4mtbeRbWn0OVeaUPU8jZ6XmKaFFKLp262GC1Vn0 - =GiBI + hF4D0Q846mnV8HYSAQdA/6JUyYGRuAjB6bCVUXTo7TSK7pCXvJIQhlWRGW4bITEw + JqUBHaJLP4OVj3OQfJ8kS22WdNCjZuXieGAaNHdycc6X6RsMZMaFOYJyv6zETyRR + 0lwBoJvUiOaubpetO8I7o/8mZE1YeyYwvBfve06Y03FobLsnGyWIJEetQ02XCTNq + EoGakt8S4yZMVvcUSTJMyBwm5XdQ1VxJYBhO0FNE0BssY40TnGpeMYXQlO3saQ== + =32DI -----END PGP MESSAGE----- fp: D9AF0A4209B7C2DE11A884BFACBC553660D9993D - - created_at: "2025-01-24T17:44:07Z" + - created_at: "2025-01-28T03:38:29Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4D/YCJcy0T0DkSAQdAzsg6F1Y2KECBBychHLVefYwOOg3Lv7kgVK6rU4mH80sw - Cm4WOEkHJdloDSZRCXYs2maIYVDQoFM9pL4sLCr9Tpw050L9vSdI0IuWS7I8G9RR - 0l4B3mZM3R58dyyZw0p7br/oPXPavRguwFiTs5sa6EeDonclDvXjMhq2c1jVYWw8 - iC77SDpZ0X9wz/Mq4Fptd56ywFqg9Zx2Odu171eqH5W7majQyiBIaSJGBEnVX8LX - =OiC0 + hF4D/YCJcy0T0DkSAQdAN9vFfITcf5mBKfpKWDSNdRl5FVJm/5+aUp3TsxcWZy0w + nFxEY/7L+bSfLiJ6wJNrar5WJIEEwPfoMnSIczBH1rHxFzMMgoCZhDwyg16uYgJU + 0lwBoiBR1dYs9Lp5UXY9Wx78thLOzx+lBNpkDpEk/NQ8HZGDsRvgk+eqbKK5wSJ0 + H2cpzmIQAh+VV/8ET1A5ennbDBvZkGszWH1KlrHsvlH/Y9lP3SCvvqOItYAn+Q== + =nJOb -----END PGP MESSAGE----- fp: 2A8A27879715447AEEC59D0C18DCCBE353963394 + - created_at: "2025-01-28T03:38:29Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4D44lFd4jLszcSAQdApkf/uS4BHv2ePPQbOpHkWov+xfV1IzZ0TZIVeT84vz4w + HS27ZMyvkD7u+RHt+UzSZOg1Z1KgzE2twHWeOuP4DTszF58Y4pKdQImp/KfcurTj + 0lwBDWuWh98V2xiALZdPAe+EifO2H+fVJVflGth5UR7j2sCYO5x+PZajCErnU0b7 + 6cjWkcFKVdPdNJbl0g2YC2ILZHUlt2jgtr/yx06arb9f2cLK2Gc/rlpz4CfUHA== + =1S+6 + -----END PGP MESSAGE----- + fp: FDD5D980CA2FEFF1AA8433B10F7CD7B91AB7CF01 unencrypted_suffix: _unencrypted version: 3.9.3