nix-config/hosts/ludwig/default.nix
2024-12-02 14:21:42 +01:00

103 lines
3 KiB
Nix

# This is your system's configuration file.
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other NixOS modules here
imports = [
# If you want to use modules your own flake exports (from modules/nixos):
# outputs.nixosModules.example
# Or modules from other flakes (such as nixos-hardware):
inputs.hardware.nixosModules.common-cpu-intel
inputs.hardware.nixosModules.common-pc-ssd
# You can also split up your configuration and import pieces of it here:
# ./users.nix
# Import your generated (nixos-generate-config) hardware configuration
./hardware-configuration.nix
../common/global
../common/optional/desktop/awesome.nix
../common/optional/desktop/gnome.nix
../common/optional/systemd-boot.nix
../common/optional/wireshark.nix
../common/optional/gnome-keyring.nix
../common/optional/docker.nix
../common/optional/desktop/japanese.nix
../common/optional/udisks.nix
../common/optional/tailscale.nix
../common/optional/fhs-compat.nix
];
nixpkgs = {
# You can add overlays here
overlays = [
# Add overlays your own flake exports (from overlays and pkgs dir):
outputs.overlays.additions
outputs.overlays.modifications
outputs.overlays.unstable-packages
# You can also add overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default
# Or define it inline, for example:
# (final: prev: {
# hi = final.hello.overrideAttrs (oldAttrs: {
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
];
# Configure your nixpkgs instance
config = {
# Disable if you don't want unfree packages
allowUnfree = true;
segger-jlink.acceptLicense = true;
permittedInsecurePackages = ["segger-jlink-qt4-796s"];
};
};
networking.hostName = "ludwig";
systemd.services.NetworkManager-wait-online.enable = false;
services.udev.packages = [pkgs.segger-jlink];
# environment.sessionVariables.QT_QPA_PLATFORM = "wayland";
services.xserver.displayManager.gdm.enable = true;
programs = {
adb.enable = true;
dconf.enable = true;
xwayland.enable = true;
};
hardware = {
graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
vaapiVdpau
libvdpau-va-gl
];
};
# opentabletdriver.enable = true;
};
boot.initrd.secrets = {
"/crypto_keyfile.bin" = null;
};
# Enable swap on luks
boot.initrd.luks.devices."luks-4397a73c-b1b9-4fd0-8f7d-21d5159269b8".device = "/dev/disk/by-uuid/4397a73c-b1b9-4fd0-8f7d-21d5159269b8";
boot.initrd.luks.devices."luks-4397a73c-b1b9-4fd0-8f7d-21d5159269b8".keyFile = "/crypto_keyfile.bin";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "23.11";
}