Skip to content
Snippets Groups Projects
desktop.nix 2.15 KiB
# Basic desktop functionality (window manager, terminal emulator, browser and a few utilities)
{ pkgs, ... }:

let
  swaylockWithIdle = pkgs.writeScriptBin "swaylock-with-idle" ''
#!/usr/bin/env zsh

trap 'swaymsg "output * dpms on"' EXIT INT HUP TERM

swayidle -w \
        timeout 10 'swaymsg "output * dpms off"' \
        resume 'swaymsg "output * dpms on"' \
        &

swaylock $@

kill %1
  '';

  blockPath = ../../desktop/blocks;

in
{
  imports = [
    ./base.nix
  ];

  environment.systemPackages = with pkgs; [
    # desktop environment programs
    kitty
    rxvt_unicode
    glxinfo
    gnome3.gnome-disk-utility
    vscode
    networkmanagerapplet
    wayvnc
    pulsemixer
    dfeet

    # cursor theme
    simpleandsoft

    # soft desktop dependencies
    swaylockWithIdle
    zsh
    mako
    rofi
    qt5.qtwayland
    acpilight
    redshift-wlr
    kanshi

    # theme
    adwaita-qt

    # qbar block dependencies
    python3
    acpi
    perl
    sysstat
    zsh
    bash
    wirelesstools
    lm_sensors
    jq
  ];

  fonts.fonts = with pkgs; [ fira-code ];

  sound.enable = true;