{ inputs, pkgs, ... }: { environment.systemPackages = with pkgs; [ kitty helix alacritty firefox git git-crypt whatsapp-for-linux obsidian dig file gcc jq netcat tcpdump wget iftop htop ]; nixpkgs.config.allowUnfree = true; nix.settings = { experimental-features = [ "nix-command" "flakes" ]; substituters = ["https://hyprland.cachix.org"]; trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; }; programs = { steam.enable = true; mtr.enable = true; hyprland = { enable = true; xwayland.enable = true; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; }; gnupg.agent.enable = true; gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3; }; services = { pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; keyd = { enable = true; keyboards = { default = { ids = [ "*" ]; settings.main.capslock = "overload(meta, esc)"; }; }; }; greetd = { enable = true; settings = { default_session = { command = "${pkgs.hyprland}/bin/hyprland"; user = "jras"; }; }; }; gnome.gnome-keyring.enable = true; openssh = { enable = true; openFirewall = false; settings.AllowUsers = [ "jras" ]; }; }; systemd.user.services.kanshi = { description = "kanshi daemon"; environment = { WAYLAND_DISPLAY="wayland-1"; DISPLAY=":0"; }; serviceConfig = { Type = "simple"; ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file''; }; }; virtualisation.docker = { enable = true; enableOnBoot = true; }; }