# 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 = [ ./hardware.nix #./plasma.nix ]; # Configure Nix nix.settings = { experimental-features = [ "nix-command" "flakes" ]; substituters = [ "https://cache.games01.kb-one.de" ]; trusted-public-keys = [ "cache.game01.kb-one.de:XcqI+uobV7EoTKuRmnzYup/+oSfn8uLwnsiQFp8dk/g=" ]; trusted-users = [ "kb" ]; }; nixpkgs.config.allowUnsupportedSystem = true; nixpkgs.config.allowUnfree = true; nixpkgs.config.packageOverrides = pkgs: { xorg.xorgserver = pkgs.xorg.xorgserver.override (old: { configureFlags = pkgs.lib.remove "--enable-glamor" old.configureFlags ++ [ "--disable-glamor" ]; }); #w3m = pkgs.w3m.overrideAttrs (old: { # libX11 = old.libx11; #}); }; # Use the GRUB 2 boot loader. boot.loader.grub.enable = true; # Define on which hard drive you want to install Grub. boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only networking.hostName = "Rubtrm"; # Define your hostname. networking.networkmanager.enable = true; # Set your time zone. time.timeZone = "Europe/Amsterdam"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = lib.mkForce "de"; useXkbConfig = true; # use xkb.options in tty. }; # Enable the X11 windowing system. services.xserver.enable = true; services.xserver.videoDrivers = [ "modesetting" "fbdev" "vesa" "intel_drv" "intel-media-sdk" ]; # Enable Desktop Environment. #services.displayManager.sddm = { # #package = pkgs.kdePackages.sddm; # theme = "${pkgs.where-is-my-sddm-theme}/share/sddm/themes/where_is_my_sddm_theme"; #}; #services.displayManager.sddm.enable = true; # services.displayManager.sddm.wayland.enable = true; # services.xserver.displayManager.lightdm.enable = true; # services.xserver.desktopManager.plasma5.enable = true; #services.xserver.desktopManager.xfce.enable = true; # services.xserver.desktopManager.lxqt.enable = true; # Configure keymap in X11 services.xserver.xkb = { layout = "de"; variant = ""; }; # Security security.rtkit.enable = true; security.pam.services = { login.u2fAuth = true; sudo.u2fAuth = true; }; # Enable sound with pipewire. services.pulseaudio.enable = false; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = 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’. users.users.kb = { isNormalUser = true; description = "kB"; extraGroups = [ "wheel" "networkmanager" "input" ]; packages = with pkgs; [ tree kb-one.numen ]; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJF2PJ98u6VahyEVIhhrDQm1fynSihqPNZA3sCiH1Rey kb@LoyAdjo" ]; }; # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ vim wget git btop fastfetch #kdePackages.plasma-nano #catppuccin-sddm pkgs.where-is-my-sddm-theme ]; # SSH and Mosh services.openssh = { enable = true; settings.PasswordAuthentication = false; settings.KbdInteractiveAuthentication = false; ports = [ 2524 ]; openFirewall = true; }; programs.mosh.enable = true; # Needed for dotool to act on numen voice commands services.udev.extraRules = '' KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput" ''; # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, system.stateVersion = "24.05"; # Did you read the comment? }