# # 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"]; }