{ inputs, pkgs, ... }: { environment.systemPackages = with pkgs; [ kitty waybar rofi-wayland-unwrapped rofi-rbw-wayland helix alacritty firefox git git-crypt ]; 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; programs.mtr.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; programs.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; }; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; services.keyd = { enable = true; keyboards = { default = { ids = [ "*" ]; settings.main.capslock = "overload(meta, esc)"; }; }; }; services.greetd = { enable = true; settings = { default_session = { command = "${pkgs.hyprland}/bin/hyprland"; user = "jras"; }; }; }; services.gnome.gnome-keyring.enable = true; 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; }; }