98 lines
3.0 KiB
Nix
98 lines
3.0 KiB
Nix
#
|
|
# Specific system configuration settings for desktop
|
|
#
|
|
# flake.nix
|
|
# ├─ ./hosts
|
|
# │ └─ ./laptop
|
|
# │ ├─ default.nix *
|
|
# │ └─ hardware-configuration.nix
|
|
# └─ ./modules
|
|
# ├─ ./desktop
|
|
# │ └─ ./hyprland
|
|
# │ └─ hyprland.nix
|
|
# ├─ ./modules
|
|
# │ └─ ./programs
|
|
# │ └─ waybar.nix
|
|
# └─ ./hardware
|
|
# └─ default.nix
|
|
#
|
|
|
|
{ config, pkgs, user, ... }:
|
|
|
|
{
|
|
imports = # For now, if applying to other system, swap files
|
|
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
|
#[(import ../../modules/wm/hyprland/default.nix)] ++ # Window Manager
|
|
[(import ../../modules/wm/sway/default.nix)] ++ # Window Manager
|
|
[(import ../../modules/wm/virtualisation/docker.nix)] ++ # Docker
|
|
[(import ../../modules/wm/virtualisation/kvm-intel.nix)] ++ # kvm module options
|
|
(import ../../modules/hardware); # Hardware devices
|
|
|
|
boot = { # Boot options
|
|
kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
loader = { # EFI Boot
|
|
systemd-boot.enable = true;
|
|
efi = {
|
|
canTouchEfiVariables = true;
|
|
efiSysMountPoint = "/boot";
|
|
};
|
|
timeout = 1; # Grub auto select time
|
|
};
|
|
};
|
|
|
|
# hardware.sane = { # Used for scanning with Xsane
|
|
# enable = false;
|
|
# extraBackends = [ pkgs.sane-airscan ];
|
|
# };
|
|
hardware = {
|
|
nitrokey.enable = true;
|
|
};
|
|
|
|
environment = {
|
|
systemPackages = with pkgs; [
|
|
# simple-scan
|
|
intel-media-driver
|
|
# alacritty
|
|
];
|
|
};
|
|
|
|
programs = { # No xbacklight, this is the alterantive
|
|
light.enable = true;
|
|
};
|
|
|
|
services = {
|
|
tlp = {
|
|
enable = true; # TLP and auto-cpufreq for power management
|
|
settings = {
|
|
USB_DENYLIST="fc32:1287 1e7d:2e4a 1d5c:5500 1d5c:5510";
|
|
};
|
|
};
|
|
|
|
logind.lidSwitch = "suspend-then-hibernate"; # Laptop does not go to sleep when lid is closed
|
|
#auto-cpufreq.enable = true;
|
|
blueman.enable = true;
|
|
printing = { # Printing and drivers for TS5300
|
|
enable = true;
|
|
drivers = [ pkgs.gutenprint ];
|
|
};
|
|
avahi = { # Needed to find wireless printer
|
|
enable = true;
|
|
nssmdns4 = true;
|
|
publish = { # Needed for detecting the scanner
|
|
enable = true;
|
|
addresses = true;
|
|
userServices = true;
|
|
};
|
|
};
|
|
tailscale.enable = true;
|
|
|
|
};
|
|
|
|
#temporary bluetooth fix
|
|
# systemd.tmpfiles.rules = [
|
|
# "d /var/lib/bluetooth 700 root root - -"
|
|
# ];
|
|
# systemd.targets."bluetooth".after = ["systemd-tmpfiles-setup.service"];
|
|
}
|