{ inputs, pkgs, ... }: { imports = [ inputs.disko.nixosModules.disko ./hardware-configuration.nix ./disko-config.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/sdb"; # or "nodev" for efi only config.security.sudo.wheelNeedsPassword = false; config.networking = { hostName = "igor"; domain = "failco.de"; wireless.enable = false; useDHCP = false; enableIPv6 = false; networkmanager.enable = true; interfaces.enp0s25 = { ipv4.addresses = [ { address = "192.168.178.2"; prefixLength = 24; } ]; }; defaultGateway = "192.168.178.1"; nameservers = [ "192.168.178.1" "1.1.1.1" "8.8.8.8" ]; firewall.enable = true; }; 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; ensureUsers = [ { name = "mediathekview"; ensurePermissions = { "mediathekview.*" = "ALL PERMISSIONS"; }; } ]; }; 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 ]; 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"; }