diff --git a/flake.nix b/flake.nix index 851245a..21fc482 100644 --- a/flake.nix +++ b/flake.nix @@ -134,6 +134,11 @@ hostname = "alien"; system = "x86_64-linux"; }; + + vm-aarch64 = mkNixosSystem { + hostname = "vm-aarch64"; + system = "aarch64-linux"; + }; }; homeConfigurations = { @@ -147,6 +152,11 @@ hostname = "alien"; system = "x86_64-linux"; }; + vm-aarch64 = mkHomeConfig { + user = "sckova"; + hostname = "vm-aarch64"; + system = "aarch64-linux"; + }; }; }; } diff --git a/hardware/vm-aarch64.nix b/hardware/vm-aarch64.nix new file mode 100644 index 0000000..e8b5fd9 --- /dev/null +++ b/hardware/vm-aarch64.nix @@ -0,0 +1,32 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/1f30a8f4-8d6d-47eb-a2c1-82c311b69695"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/2438-C64A"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/5a1e7296-e7d2-4e66-9e1f-505b80f5ff3b"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; +} diff --git a/home/hosts/vm-aarch64.nix b/home/hosts/vm-aarch64.nix new file mode 100644 index 0000000..f339162 --- /dev/null +++ b/home/hosts/vm-aarch64.nix @@ -0,0 +1,166 @@ +{ config, pkgs, ... }: + +{ + catppuccin = { + accent = "green"; + flavor = "mocha"; + }; + + home.packages = with pkgs; [ + + catppuccin-cursors.latteDark + catppuccin-cursors.latteLight + catppuccin-cursors.latteGreen + catppuccin-cursors.mochaDark + catppuccin-cursors.mochaLight + catppuccin-cursors.mochaGreen + + (catppuccin-kde.override { + flavour = [ + "latte" + "mocha" + ]; + accents = [ + "green" + ]; + }) + ]; + + programs.plasma = { + + input.touchpads = [ + { + name = "Apple MTP multi-touch"; + vendorId = "05ac"; + productId = "0352"; + disableWhileTyping = false; + enable = true; + tapToClick = false; + naturalScroll = true; + accelerationProfile = "default"; + } + ]; + + workspace = { + colorScheme = "CatppuccinMochaGreen"; + cursor.theme = "catppuccin-mocha-green-cursors"; + splashScreen.theme = "Catpppuccin-Mocha-Green"; + }; + + configFile = { + kdeglobals.KDE = { + DefaultDarkLookAndFeel = "Catppuccin-Mocha-Green"; + DefaultLightLookAndFeel = "Catppuccin-Latte-Green"; + }; + }; + + shortcuts = { + # # my volume down key broke as hell boy + # kmix.decrease_volume = [ + # "Volume Mute" + # "Volume Down" + # ]; + # kmix.decrease_volume_small = [ + # "Shift+Volume Mute" + # "Shift+Volume Down" + # ]; + # kmix.increase_volume = "Volume Up"; + # kmix.increase_volume_small = "Shift+Volume Up"; + # kmix.mute = "Sleep"; + org_kde_powerdevil.Sleep = [ ]; + }; + + panels = [ + # Application name, Global menu and Song information and playback controls at the top + { + location = "top"; + height = 37; + floating = false; + widgets = [ + { + applicationTitleBar = { + behavior = { + activeTaskSource = "activeTask"; + }; + layout = { + elements = [ "windowTitle" ]; + horizontalAlignment = "right"; + showDisabledElements = "deactivated"; + verticalAlignment = "center"; + }; + overrideForMaximized.enable = false; + windowTitle = { + font = { + bold = false; + fit = "fixedSize"; + size = 10; + }; + hideEmptyTitle = true; + margins = { + bottom = 5; + left = 10; + right = 0; + top = 5; + }; + source = "appName"; + }; + }; + } + "org.kde.plasma.appmenu" + "org.kde.plasma.panelspacer" + { + plasmusicToolbar = { + panelIcon = { + albumCover = { + useAsIcon = false; + radius = 8; + }; + icon = ""; + }; + playbackSource = "auto"; + musicControls.showPlaybackControls = false; + songText = { + displayInSeparateLines = true; + maximumWidth = 320; + scrolling = { + behavior = "alwaysScroll"; + speed = 3; + }; + }; + }; + } + "org.kde.plasma.marginsseparator" + { + systemTray.items = { + shown = [ + "org.kde.plasma.battery" + "org.kde.plasma.bluetooth" + "org.kde.plasma.networkmanagement" + "org.kde.plasma.brightness" + "org.kde.plasma.volume" + ]; + hidden = [ + "org.kde.plasma.clipboard" + "org.kde.plasma.manage-inputmethod" + "org.kde.plasma.cameraindicator" + "org.kde.plasma.keyboardlayout" + "org.kde.plasma.devicenotifier" + "org.kde.plasma.notifications" + "org.kde.plasma.weather" + "org.kde.plasma.printmanager" + "org.kde.plasma.keyboardindicator" + "org.kde.plasma.mediacontroller" + ]; + }; + } + { + digitalClock = { + calendar.firstDayOfWeek = "sunday"; + time.format = "12h"; + }; + } + ]; + } + ]; + }; +} diff --git a/system/hosts/vm-aarch64/default.nix b/system/hosts/vm-aarch64/default.nix new file mode 100644 index 0000000..6bd230b --- /dev/null +++ b/system/hosts/vm-aarch64/default.nix @@ -0,0 +1,32 @@ +{ + config, + pkgs, + lib, + catppuccin, + ... +}: +{ + networking.hostName = "vm-aarch64"; + + boot.binfmt.emulatedSystems = [ + "x86_64-linux" + "riscv64-linux" + ]; + + catppuccin.accent = "green"; + + home-manager.users.sckova = { + imports = [ catppuccin.homeModules.catppuccin ]; + }; + + services.spice-vdagentd.enable = true; + + virtualisation.vmVariant = { + virtualisation = { + memorySize = 8192; + cores = 6; + }; + }; + + security.sudo.wheelNeedsPassword = false; +}