{ inputs, pkgs, config, ... }: { imports = [ inputs.disko.nixosModules.disko ./hardware-configuration.nix ./disko-config.nix ./syncthing.nix ../../modules/security.nix ../../modules/nix-config.nix ../../modules/timezone.nix ../../modules/keybase.nix ../../modules/ssh.nix ../../modules/tailscale ../../modules/vsftpd ../../modules/mosh.nix ]; config.boot.loader.grub.enable = true; config.boot.loader.grub.efiSupport = true; config.boot.loader.grub.efiInstallAsRemovable = true; #config.boot.loader.efi.efiSysMountPoint = "/boot/efi"; # Define on which hard drive you want to install Grub. config.boot.loader.grub.device = "/dev/disk/by-id/ata-HGST_HTS725050A7E630_TF655AY92SM3XL"; # or "nodev" for efi only config.security.sudo.wheelNeedsPassword = false; config.networking = { hostName = "igor"; domain = "failco.de"; wireless = { enable = true; userControlled.enable = true; allowAuxiliaryImperativeNetworks = true; secretsFile = "/etc/wireless.conf"; networks = { Prapsschnalinen.pskRaw = "ext:home"; }; }; useDHCP = true; enableIPv6 = true; networkmanager.enable = false; firewall.enable = true; firewall.allowedTCPPorts = [ config.services.mysql.settings.mysqld.port ]; }; config.security.sudo = { enable = true; execWheelOnly = true; }; # Select internationalization properties. config.i18n.defaultLocale = "en_US.UTF-8"; config.console = { font = "Lat2-Terminus16"; keyMap = "dvorak"; }; # Set your time zone. config.time.timeZone = "Europe/Berlin"; # Enable the X11 windowing system. config.services.xserver.enable = true; config.services.logind.lidSwitch = "lock"; # Enable the GNOME Desktop Environment. config.services.xserver.displayManager.gdm.enable = true; config.services.xserver.desktopManager.gnome.enable = true; # Configure keymap in X11 config.services.xserver.xkb.layout = "us"; config.services.xserver.xkb.variant = "dvorak"; config.services.xserver.xkb.options = "eurosign:e,caps:escape"; # Enable CUPS to print documents. config.services.printing.enable = true; # Enable sound. # hardware.pulseaudio.enable = true; # OR config.services.pipewire = { enable = true; pulse.enable = true; }; # Enable touchpad support (enabled default in most desktopManager). config.services.libinput.enable = true; config.services.mysql = { enable = true; package = pkgs.mariadb; }; config.programs.firefox.enable = true; config.programs.git.enable = true; config.programs.nm-applet.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. config.users.users.alex = { isNormalUser = true; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. shell = pkgs.zsh; }; config.environment.systemPackages = with pkgs; [ alacritty dolphin waybar hyprpaper wofi tmux lftp ]; config.programs.direnv = { enable = true; silent = true; }; config.programs.hyprland = { enable = true; withUWSM = true; }; config.programs.neovim = { enable = true; defaultEditor = true; viAlias = true; vimAlias = true; }; config.programs.zsh.enable = true; config.system.stateVersion = "24.11"; }