summaryrefslogtreecommitdiff
path: root/nixos
diff options
context:
space:
mode:
authorJakub Stachurski <j.stachurski@student.utwente.nl>2025-03-29 23:09:38 +0100
committerJakub Stachurski <j.stachurski@student.utwente.nl>2025-03-29 23:09:38 +0100
commit2e37bf1533ace5b2d4d50196300133d9e72d2952 (patch)
tree0c06f4f03599933bb3d0e31620203287ca67c7c0 /nixos
parent2418424adabca0a1616cca4920221cd67149b65a (diff)
flakes update feat. xfce
Diffstat (limited to '')
-rw-r--r--nixos/common/default.nix67
-rw-r--r--nixos/common/services.nix (renamed from nixos/services.nix)3
-rw-r--r--nixos/configuration.nix314
-rw-r--r--nixos/desktop/apps.nix8
-rw-r--r--nixos/desktop/default.nix54
-rw-r--r--nixos/desktop/hyprland.nix44
-rw-r--r--nixos/desktop/xfce.nix26
-rw-r--r--nixos/flake.lock49
-rw-r--r--nixos/flake.nix36
-rw-r--r--nixos/home-manager.nix4
-rw-r--r--nixos/hosts/crank-vm/default.nix20
-rw-r--r--nixos/hosts/crank-vm/hardware-configuration.nix65
-rw-r--r--nixos/hosts/icetea-dispenser/GrubBG.png (renamed from nixos/GrubBG.png)bin4109858 -> 4109858 bytes
-rw-r--r--nixos/hosts/icetea-dispenser/default.nix40
-rw-r--r--nixos/hosts/icetea-dispenser/hardware-configuration.nix (renamed from nixos/hardware-configuration.nix)0
15 files changed, 410 insertions, 320 deletions
diff --git a/nixos/common/default.nix b/nixos/common/default.nix
new file mode 100644
index 0000000..a186c1b
--- /dev/null
+++ b/nixos/common/default.nix
@@ -0,0 +1,67 @@
+
+# Edit this configuration file to define what should be installed on
+# your system. Help is available in the configuration.nix(5) man page, on
+# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
+
+{ config, lib, pkgs, ... }:
+
+{
+ imports =
+ [ # Include the results of the hardware scan.
+ ./services.nix
+ ];
+
+
+
+ nix.settings.experimental-features = ["nix-command" "flakes"];
+ time.timeZone = "Europe/Amsterdam"; # Set timezone
+
+ # Configure network proxy if necessary
+ # networking.proxy.default = "http://user:password@proxy:port/";
+ # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+ # Select internationalisation properties.
+ i18n.defaultLocale = "en_US.UTF-8";
+ console = {
+ font = "Lat2-Terminus16";
+ keyMap = "us";
+ # useXkbConfig = true; # use xkb.options in tty.
+ };
+
+ # Enable the X11 windowing system.
+ # services.xserver.enable = true;
+
+ # Define a user account. Don't forget to set a password with ‘passwd’.
+ users.users.wilkuu = {
+ isNormalUser = true;
+ extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
+ packages = with pkgs; [
+ tree
+ ];
+ };
+
+ # Configure keymap in X11
+ # services.xserver.xkb.layout = "us";
+ # services.xserver.xkb.options = "eurosign:e,caps:escape";
+
+
+ # programs.firefox.enable = true;
+
+ # List packages installed in system profile. To search, run:
+ environment.variables.EDITOR = "vim";
+ # $ nix search wget
+ environment.systemPackages = with pkgs; [
+ vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
+ wget
+ git
+ ];
+
+
+
+ # This option defines the first version of NixOS you have installed on this particular machine,
+ # DO NOT CHANGE UNLESS USING NIXOS-INSTALL
+
+ system.stateVersion = "24.11"; # Did you read the comment?
+
+}
+
diff --git a/nixos/services.nix b/nixos/common/services.nix
index c7fac0e..528363b 100644
--- a/nixos/services.nix
+++ b/nixos/common/services.nix
@@ -1,3 +1,2 @@
{config, lib, pkgs, ...}:
-{
-}
+{}
diff --git a/nixos/configuration.nix b/nixos/configuration.nix
deleted file mode 100644
index b4bd651..0000000
--- a/nixos/configuration.nix
+++ /dev/null
@@ -1,314 +0,0 @@
-# Edit this configuration file to define what should be installed on
-# your system. Help is available in the configuration.nix(5) man page, on
-# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
-
-{ config, lib, pkgs, ... }:
-{
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- <home-manager/nixos>
- ./home-manager.nix
- ./services.nix
- ];
-
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
-
- # Use the systemd-boot EFI boot loader.
- # boot.loader.systemd-boot.enable = true;
- boot.loader.grub = {
- useOSProber = true;
- device = "nodev";
-
-
- efiSupport = true;
- default = "saved";
- memtest86.enable = true;
- splashImage = ./GrubBG.png;
- };
- boot.loader.efi.canTouchEfiVariables = true;
- boot.crashDump.enable = false;
- boot.plymouth = {
- enable = true;
- theme = "bgrt";
- };
-
- boot.kernelParams = [
- "quiet"
- "splash"
- "loglevel=3"
- "rd.systemd.show_status=false"
- "rd.udev.log_level=3"
- "udev.logpriority=3"
- ];
- boot.consoleLogLevel = 0;
-
- networking.hostName = "icetea-dispenser"; # Define your hostname.
- # Pick only one of the below networking options.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
-
- # Set your time zone.
- time.timeZone = "Europe/Amsterdam";
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Select internationalisation properties.
- # i18n.defaultLocale = "en_US.UTF-8";
- # console = {
- # font = "Lat2-Terminus16";
- # keyMap = "us";
- # useXkbConfig = true; # use xkb.options in tty.
- # };
-
- # Enable the X11 windowing system.
- programs.nix-ld.enable = true;
-
- services.printing.enable = true;
- documentation.dev.enable = true;
- services.displayManager.sddm ={
- #package = pkgs.kdePackages.sddm;
- enable = true;
- wayland.enable = true;
- theme="catppuccin-mocha";
- };
- services.xserver.exportConfiguration = true; # This makes it easy to search for a valid keymap
- # Enable KDE6 env in case Hyprland gets borked.
- # services.desktopManager.plasma6.enable = true;
- programs.hyprland.enable = true;
- programs.hyprland.withUWSM = true;
- programs.uwsm = {
- enable = true;
- waylandCompositors ={
- hyprland = {
- prettyName = "Hyprland";
- comment = "Hyprland compositor managed by UWSM";
- binPath = "/run/current-system/sw/bin/Hyprland";
- };
- };
- };
-
- nixpkgs.config.allowUnfree = true;
-
- # Configure keymap in X11
- # services.xserver.xkb.layout = "us";
- # services.xserver.xkb.options = "eurosign:e,caps:escape";
-
- # Enable CUPS to print documents.
- # services.printing.enable = true;
-
- # Enable sound.
- # hardware.pulseaudio.enable = true;
- # OR
- services.pipewire = {
- enable = true;
- pulse.enable = true;
- };
-
- # Enable touchpad support (enabled default in most desktopManager).
- # services.libinput.enable = true;
-
- # Define a user account. Don't forget to set a password with ‘passwd’.
- programs.zsh.enable = true;
- users.defaultUserShell = pkgs.zsh;
- users.users.wilkuu = {
- isNormalUser = true;
- extraGroups = [ "wheel" "networkmanager" "input" "docker" "adbusers" "libvirtd" ]; # Enable ‘sudo’ for the user.
- packages = with pkgs; [
- firefox
- nano
- ];
- };
-
- xdg.portal = {
- enable = true;
- config = {
- common = {
- default = [
- "hyprland"
- "gtk"
- ];
- };
- };
- };
-
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- zsh
- busybox
- usbutils
- libsForQt5.qtstyleplugins
- xdg-desktop-portal-hyprland
- xdg-desktop-portal-gtk
- qt6.qtwayland
- #qt5.qtwayland
- kdePackages.sddm-kcm
- sddm
- # neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
- nano
- wget
- git
- tree
- alacritty
- kitty
- docker
- home-manager
- wofi
- waybar
- waybar-mpris
- vesktop
- wineWowPackages.waylandFull
- thunderbolt
- catppuccin-sddm
- kdePackages.kwallet
- kdePackages.kwalletmanager
-
- virt-viewer
- spice
- spice-gtk
- spice-protocol
- win-virtio
- win-spice
- gnome.adwaita-icon-theme
- ];
-
- environment.variables = {
- QT_STYLE_OVERRIDE = "kvantum";
- QT_QPA_PLATFORM="wayland";
- QT_QPA_PLATFORM_PATH="${pkgs.qt6.qtbase}/lib/qt-${pkgs.qt6.qtbase.version}/plugins/platform";
- };
-
- programs.adb.enable = true;
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
-
- # List services that you want to enable:
-
- # Enable the OpenSSH daemon.
- # services.openssh.enable = true;
-
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- networking.firewall.enable = false;
-
- # Copy the NixOS configuration file and link it from the resulting system
- # (/run/current-system/configuration.nix). This is useful in case you
- # accidentally delete configuration.nix.
- # system.copySystemConfiguration = true;
-
- # This option defines the first version of NixOS you have installed on this particular machine,
- # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
- #
- # Most users should NEVER change this value after the initial install, for any reason,
- # even if you've upgraded your system to a new NixOS release.
- #
- # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
- # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
- # to actually do that.
- #
- # This value being lower than the current NixOS release does NOT mean your system is
- # out of date, out of support, or vulnerable.
- #
- # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
- # and migrated your data accordingly.
- #
- # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
- system.stateVersion = "24.05"; # Did you read the comment?
-
- # steam goes here
- programs.steam = {
- enable = true;
- protontricks.enable = true;
- };
-
- # Fonts
-fonts.packages = with pkgs; [
- noto-fonts
- noto-fonts-cjk-sans
- font-awesome
- noto-fonts-emoji
- # (nerdfonts.override {fonts = [ "Hermit" ];})
- nerdfonts
-];
-
- # Input, note the waylandFrontend line
- i18n.inputMethod = {
- type = "fcitx5";
- enable = true;
- fcitx5.waylandFrontend = true;
- fcitx5.addons = with pkgs; [
- kdePackages.fcitx5-qt
- fcitx5-mozc
- ];
- };
-
- # Bluetooth
- hardware.bluetooth.enable = true;
- hardware.bluetooth.settings = {
- General = {Enable = "Source,Sink,Media,Socket";};
- };
-
- hardware.bluetooth.powerOnBoot = true;
- services.blueman.enable = true;
-
- services.avahi = {
- enable = true;
- nssmdns = true;
- publish = {
- enable = true;
- };
- };
-
-
- systemd.user.services.mpris-proxy = {
- description = "Mpris proxy";
- after = [ "network.target" "sound.target" ];
- wantedBy = [ "default.target" ];
- serviceConfig.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
- };
-
-
- #services.fprintd.enable = true;
- #security.pam.services.login.fprintAuth = true;
- security.pam.services = {
- kdm.enableKwallet = true;
- lightdm.enableKwallet = true;
- sddm.enableKwallet = true;
- slim.enableKwallet = true;
- };
-
- programs.weylus = {
- enable=true;
- openFirewall=true;
- users=["wilkuu"];
- };
-
- ## VM's
- programs.dconf.enable = true;
- programs.virt-manager.enable = true;
- virtualisation = {
- docker.enable = true;
- libvirtd = {
- enable = true;
- qemu = {
- swtpm.enable = true;
- vhostUserPackages = with pkgs; [ virtiofsd ];
- ovmf.enable = true;
- ovmf.packages = [ pkgs.OVMFFull.fd ];
- };
- };
- spiceUSBRedirection.enable = true;
- };
- services.spice-vdagentd.enable = true;
-}
diff --git a/nixos/desktop/apps.nix b/nixos/desktop/apps.nix
new file mode 100644
index 0000000..5fdd823
--- /dev/null
+++ b/nixos/desktop/apps.nix
@@ -0,0 +1,8 @@
+{pkgs, ...} :
+{
+ environment.systemPackages = with pkgs; [
+ floorp
+ neovim
+ kitty
+ ];
+}
diff --git a/nixos/desktop/default.nix b/nixos/desktop/default.nix
new file mode 100644
index 0000000..a634618
--- /dev/null
+++ b/nixos/desktop/default.nix
@@ -0,0 +1,54 @@
+
+{pkgs, ...}:
+{
+ imports = [
+ ./apps.nix
+ ./xfce.nix
+ ./hyprland.nix
+ ];
+
+ programs = {
+ dconf.enable = true;
+ thunar = {
+ enable = true;
+ plugins = with pkgs.xfce; [
+ thunar-archive-plugin
+ thunar-media-tags-plugin
+ thunar-volman
+ ];
+ };
+ };
+ # Enable CUPS to print documents.
+ services.printing.enable = true;
+
+
+ # Enable touchpad support (enabled default in most desktopManager).
+ services.libinput.enable = true;
+
+ services = {
+ blueman.enable = true;
+ # Enable sound
+ pipewire = {
+ enable = true;
+ pulse.enable = true;
+ };
+
+ displayManager.sddm = {
+ enable=true;
+ wayland.enable = true;
+ #theme = "catppuccin-mocha";
+ };
+ xserver = {
+ enable = true;
+ excludePackages = with pkgs; [
+ xterm
+ ];
+ };
+ };
+
+ fonts.packages = with pkgs; [
+ noto-fonts
+ font-awesome
+ (nerdfonts.override {fonts = [ "Hermit" ]; })
+ ];
+}
diff --git a/nixos/desktop/hyprland.nix b/nixos/desktop/hyprland.nix
new file mode 100644
index 0000000..687f2eb
--- /dev/null
+++ b/nixos/desktop/hyprland.nix
@@ -0,0 +1,44 @@
+{pkgs, ...}: {
+ environment.systemPackages = with pkgs; [
+ hyprland
+ hyprgui
+ hyprshot
+ hyprkeys
+ hypridle
+ hyprpaper
+ hyprpicker
+ hyprnotify
+ hyprcursor
+ waybar
+ waybar-mpris
+ ];
+
+
+ services.xserver.exportConfiguration = true; # This makes it easy to search for a valid keymap
+ # Enable KDE6 env in case Hyprland gets borked.
+ # services.desktopManager.plasma6.enable = true;
+ programs.hyprland.enable = true;
+ programs.hyprland.withUWSM = true;
+ programs.uwsm = {
+ enable = true;
+ waylandCompositors ={
+ hyprland = {
+ prettyName = "Hyprland";
+ comment = "Hyprland compositor managed by UWSM";
+ binPath = "/run/current-system/sw/bin/Hyprland";
+ };
+ };
+ };
+
+ xdg.portal = {
+ enable = true;
+ config = {
+ common = {
+ default = [
+ "hyprland"
+ "gtk"
+ ];
+ };
+ };
+ };
+}
diff --git a/nixos/desktop/xfce.nix b/nixos/desktop/xfce.nix
new file mode 100644
index 0000000..563b205
--- /dev/null
+++ b/nixos/desktop/xfce.nix
@@ -0,0 +1,26 @@
+{pkgs, ...}:
+{
+ environment.systemPackages = with pkgs; [
+ # XFCE stuff
+ xfce.catfish
+ xfce.xfce4-appfinder
+ xfce.xfce4-clipman-plugin
+ xfce.xfce4-cpugraph-plugin
+ xfce.xfce4-dict
+ xfce.xfce4-fsguard-plugin
+ xfce.xfce4-genmon-plugin
+ xfce.xfce4-netload-plugin
+ xfce.xfce4-panel
+ xfce.xfce4-pulseaudio-plugin
+ xfce.xfce4-systemload-plugin
+ xfce.xfce4-weather-plugin
+ xfce.xfce4-whiskermenu-plugin
+ xfce.xfce4-xkb-plugin
+ xfce.xfdashboard
+
+ # GNOME stuff
+ file-roller
+ gnome-disk-utility
+ ];
+ services.xserver.desktopManager.xfce.enable = true;
+}
diff --git a/nixos/flake.lock b/nixos/flake.lock
new file mode 100644
index 0000000..fa96756
--- /dev/null
+++ b/nixos/flake.lock
@@ -0,0 +1,49 @@
+{
+ "nodes": {
+ "home-manager": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1739757849,
+ "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "release-24.11",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1740463929,
+ "narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-24.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "home-manager": "home-manager",
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/nixos/flake.nix b/nixos/flake.nix
new file mode 100644
index 0000000..f5e1620
--- /dev/null
+++ b/nixos/flake.nix
@@ -0,0 +1,36 @@
+{
+ description = "NixOS configuration";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
+ home-manager = {
+ url = "github:nix-community/home-manager/release-24.11";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ };
+
+ outputs = { self, nixpkgs, home-manager, ... }: {
+ nixosConfigurations.crank-vm = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = [
+ ./hosts/crank-vm
+ ./desktop
+ home-manager.nixosModules.home-manager {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ }
+ ];
+ };
+ nixosConfigurations.icetea-dispenser = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = [
+ ./hosts/icetea-dispenser
+ ./desktop
+ home-manager.nixosModules.home-manager {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ }
+ ];
+ };
+ };
+}
diff --git a/nixos/home-manager.nix b/nixos/home-manager.nix
deleted file mode 100644
index 6e76671..0000000
--- a/nixos/home-manager.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{config, pkgs, ...}:
-{
- users.users.wilkuu.isNormalUser = true;
-}
diff --git a/nixos/hosts/crank-vm/default.nix b/nixos/hosts/crank-vm/default.nix
new file mode 100644
index 0000000..1415674
--- /dev/null
+++ b/nixos/hosts/crank-vm/default.nix
@@ -0,0 +1,20 @@
+{ config, inputs, pkgs, ...}:
+{
+ imports = [
+ ./hardware-configuration.nix
+ ../../common
+ ];
+
+ networking.hostName = "crank-vm"; # Define your hostname.
+ # Use the systemd-boot EFI boot loader.
+ # boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+ boot.loader.grub = {
+ device = "nodev";
+ useOSProber = true;
+ efiSupport = true;
+ default = "saved";
+ memtest86.enable = true;
+ };
+ networking.firewall.enable = false;
+}
diff --git a/nixos/hosts/crank-vm/hardware-configuration.nix b/nixos/hosts/crank-vm/hardware-configuration.nix
new file mode 100644
index 0000000..e73cd34
--- /dev/null
+++ b/nixos/hosts/crank-vm/hardware-configuration.nix
@@ -0,0 +1,65 @@
+# 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 = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-intel" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/4b8e866a-bbf0-4312-a134-e6369276ed60";
+ fsType = "btrfs";
+ options = [ "subvol=root" ];
+ };
+
+ boot.initrd.luks.devices."system".device = "/dev/disk/by-uuid/70bdaa2d-b736-417b-899e-50f6c61c0036";
+
+ fileSystems."/home" =
+ { device = "/dev/disk/by-uuid/4b8e866a-bbf0-4312-a134-e6369276ed60";
+ fsType = "btrfs";
+ options = [ "subvol=home" ];
+ };
+
+ fileSystems."/nix" =
+ { device = "/dev/disk/by-uuid/4b8e866a-bbf0-4312-a134-e6369276ed60";
+ fsType = "btrfs";
+ options = [ "subvol=nix" ];
+ };
+
+ fileSystems."/snapshots" =
+ { device = "/dev/disk/by-uuid/4b8e866a-bbf0-4312-a134-e6369276ed60";
+ fsType = "btrfs";
+ options = [ "subvol=snapshots" ];
+ };
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/D0B7-5718";
+ fsType = "vfat";
+ options = [ "fmask=0022" "dmask=0022" ];
+ };
+
+ swapDevices = [ ];
+
+ # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
+ # (the default) this is the recommended approach. When using systemd-networkd it's
+ # still possible to use this option, but it's recommended to use it in conjunction
+ # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
+ networking.useDHCP = lib.mkDefault true;
+ # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+
+ services = {
+ qemuGuest.enable = true;
+ spice-vdagentd.enable = true;
+ };
+}
+
+
diff --git a/nixos/GrubBG.png b/nixos/hosts/icetea-dispenser/GrubBG.png
index 0f5028f..0f5028f 100644
--- a/nixos/GrubBG.png
+++ b/nixos/hosts/icetea-dispenser/GrubBG.png
Binary files differ
diff --git a/nixos/hosts/icetea-dispenser/default.nix b/nixos/hosts/icetea-dispenser/default.nix
new file mode 100644
index 0000000..802cd5b
--- /dev/null
+++ b/nixos/hosts/icetea-dispenser/default.nix
@@ -0,0 +1,40 @@
+ {pkgs, config, ...}:
+ {
+ imports = [
+ ./hardware-configuration.nix
+ ../../common
+ ];
+ boot.loader.grub = {
+ useOSProber = true;
+ device = "nodev";
+
+
+ efiSupport = true;
+ default = "saved";
+ memtest86.enable = true;
+ # splashImage = ./GrubBG.png;
+ };
+ boot.loader.efi.canTouchEfiVariables = true;
+ boot.crashDump.enable = false;
+ boot.plymouth = {
+ enable = true;
+ theme = "bgrt";
+ };
+
+ boot.kernelParams = [
+ "quiet"
+ "splash"
+ "loglevel=3"
+ "rd.systemd.show_status=false"
+ "rd.udev.log_level=3"
+ "udev.logpriority=3"
+ ];
+ boot.consoleLogLevel = 0;
+
+ networking.hostName = "icetea-dispenser"; # Define your hostname.
+ networking.firewall.enable = false;
+
+ programs.nix-ld.enable = true;
+ services.printing.enable = true;
+ nixpkgs.config.allowUnfree = true;
+}
diff --git a/nixos/hardware-configuration.nix b/nixos/hosts/icetea-dispenser/hardware-configuration.nix
index f321cd0..f321cd0 100644
--- a/nixos/hardware-configuration.nix
+++ b/nixos/hosts/icetea-dispenser/hardware-configuration.nix