modularize system config
This commit is contained in:
parent
3a278d7077
commit
d7453265a1
14 changed files with 217 additions and 180 deletions
|
|
@ -1,148 +1,20 @@
|
|||
{ pkgs, config, swapfile, locale, legacy-boot, wol, enable-dm, zerotier, ... }: {
|
||||
{ pkgs, locale, ... }: {
|
||||
imports = [
|
||||
../hardware/scan.nix
|
||||
../rice/system.nix
|
||||
./base.nix
|
||||
./network.nix
|
||||
./user.nix
|
||||
./kernel.nix
|
||||
./bootloader.nix
|
||||
./filesystem.nix
|
||||
./virtualization.nix
|
||||
./desktop.nix
|
||||
./programs.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
|
||||
|
|
@ -152,18 +24,4 @@
|
|||
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;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue