169 lines
3.6 KiB
Nix
169 lines
3.6 KiB
Nix
{ pkgs, config, swapfile, locale, legacy-boot, wol, enable-dm, zerotier, ... }: {
|
|
imports = [
|
|
../hardware/scan.nix
|
|
../rice/system.nix
|
|
./base.nix
|
|
];
|
|
|
|
boot = {
|
|
kernelModules = [ "rndis_host" "cdc_ether" ];
|
|
supportedFilesystems = [ "ext4" "btrfs" "vfat" "ntfs" "exfat" ];
|
|
plymouth.enable = true;
|
|
kernel.sysctl = {
|
|
"net.ipv4.ip_forward" = 1;
|
|
"net.ipv6.conf.all.forwarding" = 1;
|
|
};
|
|
loader = {
|
|
efi.canTouchEfiVariables = true;
|
|
systemd-boot = {
|
|
enable = !legacy-boot;
|
|
configurationLimit = 3;
|
|
sortKey = "z-nixos";
|
|
editor = false;
|
|
};
|
|
grub = {
|
|
enable = legacy-boot; #true;
|
|
device = "/dev/sda";
|
|
useOSProber = true;
|
|
default = "saved";
|
|
theme = "${pkgs.libsForQt5.breeze-grub}/grub/themes/breeze";
|
|
};
|
|
};
|
|
kernelParams = [
|
|
#"quiet"
|
|
"boot.shell_on_fail"
|
|
"loglevel=3"
|
|
"rd.systemd.show_status=true"
|
|
#"rd.udev.log_level=3"
|
|
"udev.log_priority=3"
|
|
];
|
|
};
|
|
swapDevices = if swapfile == 0 then [] else [
|
|
{
|
|
device = "/swapfile";
|
|
size = swapfile;
|
|
}
|
|
];
|
|
|
|
virtualisation = {
|
|
# waydroid.enable = true;
|
|
docker.enable = true;
|
|
# libvirtd = {
|
|
# enable = true;
|
|
# qemu = {
|
|
# package = pkgs.qemu_kvm;
|
|
# swtpm.enable = true;
|
|
# runAsRoot = false;
|
|
# ovmf = {
|
|
# enable = false;
|
|
# packages = [(pkgs.OVMF.override {
|
|
# secureBoot = true;
|
|
# tpmSupport = true;
|
|
# }).fd];
|
|
# };
|
|
# };
|
|
# };
|
|
};
|
|
|
|
networking = {
|
|
networkmanager.enable = true;
|
|
firewall.enable = false;
|
|
nameservers = ["1.1.1.1" "1.0.0.1"];
|
|
};
|
|
|
|
hardware.graphics = {
|
|
enable = true;
|
|
extraPackages = [ pkgs.libva-vdpau-driver ];
|
|
};
|
|
i18n.defaultLocale = locale;
|
|
environment.localBinInPath = true;
|
|
|
|
systemd.services."wol" = {
|
|
enable = wol != "";
|
|
description = "Wake-on-LAN for ${wol}";
|
|
requires = [ "network.target" ];
|
|
after = [ "network.target" ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.ethtool}/bin/ethtool -s ${wol} wol g";
|
|
Type = "oneshot";
|
|
};
|
|
wantedBy = [ # just in case
|
|
"multi-user.target"
|
|
"sleep.target"
|
|
"suspend.target"
|
|
"hibernate.target"
|
|
"hybrid-sleep.target"
|
|
"shutdown.target"
|
|
"reboot.target"
|
|
"halt.target"
|
|
];
|
|
};
|
|
|
|
services = {
|
|
displayManager.gdm.enable = enable-dm;
|
|
xserver = {
|
|
enable = true;
|
|
xkb = {
|
|
layout = "us";
|
|
variant = "";
|
|
};
|
|
};
|
|
pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
jack.enable = true;
|
|
};
|
|
sunshine = {
|
|
enable = true;
|
|
autoStart = true;
|
|
capSysAdmin = true;
|
|
openFirewall = true;
|
|
};
|
|
avahi = {
|
|
enable = true;
|
|
nssmdns4 = true;
|
|
};
|
|
printing = {
|
|
enable = true;
|
|
drivers = with pkgs; [ hplip ];
|
|
};
|
|
zerotierone = {
|
|
enable = true;
|
|
joinNetworks = zerotier.networks;
|
|
};
|
|
cloudflare-warp.enable = true;
|
|
gnome.gnome-keyring.enable = true;
|
|
gvfs.enable = true;
|
|
blueman.enable = true;
|
|
pulseaudio.enable = false;
|
|
resolved.enable = true;
|
|
};
|
|
|
|
security = {
|
|
rtkit.enable = true;
|
|
sudo.configFile = ''
|
|
Defaults insults
|
|
Defaults passwd_tries = 5
|
|
'';
|
|
};
|
|
|
|
fonts.packages = with pkgs; [
|
|
corefonts
|
|
];
|
|
|
|
programs = {
|
|
gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
|
|
zsh.enable = true;
|
|
nix-ld.enable = true;
|
|
steam.enable = true;
|
|
appimage = {
|
|
enable = true;
|
|
binfmt = true;
|
|
};
|
|
kdeconnect = {
|
|
enable = true;
|
|
};
|
|
};
|
|
}
|