# # Specific system configuration settings for desktop # # flake.nix # ├─ ./hosts # │ └─ ./laptop # │ ├─ default.nix * # │ └─ hardware-configuration.nix # └─ ./modules # ├─ ./desktop # │ ├─ ./bspwm # │ │ └─ default.nix # │ └─ ./virtualisation # │ └─ docker.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/desktop/bspwm/default.nix)] ++ # Window Manager [(import ../../modules/desktop/virtualisation/docker.nix)] ++ # Docker (import ../../modules/hardware); # Hardware devices boot = { # Boot options kernelPackages = pkgs.linuxPackages_latest; loader = { # EFI Boot efi = { canTouchEfiVariables = true; efiSysMountPoint = "/boot"; }; grub = { # Most of grub is set up for dual boot enable = true; devices = [ "nodev" ]; efiSupport = true; useOSProber = true; # Find all boot options configurationLimit = 2; }; timeout = 1; # Grub auto select time }; }; hardware.sane = { # Used for scanning with Xsane enable = true; extraBackends = [ pkgs.sane-airscan ]; }; environment = { systemPackages = with pkgs; [ simple-scan ]; }; programs = { # No xbacklight, this is the alterantive dconf.enable = true; light.enable = true; }; services = { tlp.enable = true; # TLP and auto-cpufreq for power management #logind.lidSwitch = "ignore"; # 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.cnijfilter2 ]; }; avahi = { # Needed to find wireless printer enable = true; nssmdns = true; publish = { # Needed for detecting the scanner enable = true; addresses = true; userServices = true; }; }; samba = { enable = true; shares = { share = { "path" = "/home/${user}"; "guest ok" = "no"; "read only" = "no"; }; }; openFirewall = true; }; }; #temporary bluetooth fix systemd.tmpfiles.rules = [ "d /var/lib/bluetooth 700 root root - -" ]; systemd.targets."bluetooth".after = ["systemd-tmpfiles-setup.service"]; }