{ inputs, config, lib, pkgs, ... }: { imports = [ ./hardware-configuration.nix inputs.home-manager.nixosModules.home-manager ]; home-manager = { extraSpecialArgs = { inherit inputs; }; users = { sam = import ./home.nix; }; }; nix.settings.experimental-features = [ "nix-command" "flakes" ]; boot.loader.grub.enable = true; boot.loader.grub.device = "/dev/vda"; networking.networkmanager.enable = true; time.timeZone = "Europe/London"; networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; i18n.defaultLocale = "en_GB.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = "uk"; useXkbConfig = false; }; services.printing.enable = true; sound.enable = true; hardware.pulseaudio.enable = true; services.libinput.enable = true; users.users.sam = { isNormalUser = true; extraGroups = [ "wheel" ]; }; users.users.sam.shell = pkgs.zsh; environment.systemPackages = with pkgs; [ curl vim home-manager tmux waybar git mako libnotify wl-clipboard swww rofi-wayland networkmanagerapplet htop sddm wdisplays (callPackage ./themes/sddm-sugar-candy.nix{}).sddm-sugar-candy-theme libsForQt5.qt5.qtgraphicaleffects #required for sugar candy (import ./scripts/wallpaper_changer.nix { inherit pkgs; }) ]; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; programs.zsh.enable = true; programs.hyprland = { enable = true; xwayland.enable = true; }; hardware = { opengl.enable = true; nvidia.modesetting.enable = true; }; services.openssh.enable = true; services.displayManager.sddm = { enable = true; theme = "sugar-candy"; }; services.displayManager.sddm.wayland.enable = true; system.stateVersion = "23.11"; }