aux-config/systems/i686-linux/Rubtrm/default.nix
2025-11-07 01:36:54 +01:00

163 lines
4.6 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.package = pkgs.lixPackageSets.stable.lix;
nix.extraOptions = ''
secret-key-files = /root/secrets/cache-Rubtrm.sec
builders-use-substitutes = true
'';
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="
"cache-LoyAdjo:kZM9GP0q/DG9U8IvX+rGuHgUdiwKLcwwUw4KPM2kA7c="
];
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;
# #});
# };
nix.buildMachines = [
{
hostName = "kb-senfnvp-remotebuild";
systems = [ "aarch64-linux" ];
protocol = "ssh-ng";
maxJobs = 10;
speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" ];
mandatoryFeatures = [];
}
];
nix.distributedBuilds = true;
# 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
];
# Enable SSH-Agent
programs.ssh.startAgent = true;
# 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?
}