# # 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 # { pkgs, ... }: { imports = [ ./hardware-configuration.nix ../../modules/desktop/dm/sddm.nix ../../modules/desktop/qtile/default.nix ../../modules/hwardware ../../modules/desktop/virtualisation ]; networking.hostName = "laptop-iapetus"; boot = { # Boot options kernelPackages = pkgs.linuxPackages_latest; loader = { # EFI Boot efi = { canTouchEfiVariables = true; }; systemd-boot = { enable = true; editor = false; # Better security, disallows passing /bin/sh to start as root configurationLimit = 5; }; timeout = 1; # Grub auto select time }; initrd.luks.devices = { crypted = { device = "/dev/disk/by-label/root"; preLVM = true; }; }; }; environment = { systemPackages = [ pkgs.xorg.xf86videointel ]; }; hardware = { # No xbacklight, this is the alterantive brillo.enable = true; }; programs = { xss-lock = let xsecurelock = (pkgs.xsecurelock.overrideAttrs(attrs: { postInstall = attrs.postInstall or "" + '' wrapProgram $out/bin/xsecurelock --set XSECURELOCK_COMPOSITE_OBSCURER 0 ''; })); in { enable = true; lockerCommand = "${xsecurelock}/bin/xsecurelock"; }; }; services = { tlp.enable = true; # TLP and auto-cpufreq for power management logind.lidSwitch = "lock"; # lock on lid close auto-cpufreq.enable = true; blueman.enable = true; xserver.libinput = { enable = true; touchpad = { naturalScrolling = true; tapping = true; }; }; printing = { enable = true; drivers = [ pkgs.splix pkgs.samsung-unified-linux-driver ]; }; }; wg.ip = "192.168.32.22"; }