152 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			152 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  lib,
 | 
						|
  pkgs,
 | 
						|
  ...
 | 
						|
}: let
 | 
						|
  dirs = {
 | 
						|
    defaults = ../defaults;
 | 
						|
  };
 | 
						|
 | 
						|
  # Derived from subprojects/cava.wrap
 | 
						|
  libcava.src = pkgs.fetchFromGitHub {
 | 
						|
    owner = "LukashonakV";
 | 
						|
    repo = "cava";
 | 
						|
    rev = "0.10.3";
 | 
						|
    hash = "sha256-ZDFbI69ECsUTjbhlw2kHRufZbQMu+FQSMmncCJ5pagg=";
 | 
						|
  };
 | 
						|
in {
 | 
						|
  wayland.windowManager.sway = {
 | 
						|
    enable = pkgs.stdenv.isLinux;
 | 
						|
    extraOptions = []; # Extra arguments to pass into sway. If sway goes haywire, we might need something in here
 | 
						|
    xwayland = true;
 | 
						|
    systemd.enable = true;
 | 
						|
 | 
						|
    wrapperFeatures = {
 | 
						|
      gtk = true;
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  xdg.configFile."sway/config".source = lib.mkForce (dirs.defaults + /sway/config);
 | 
						|
  xdg.configFile."waybar/config".source = lib.mkForce (dirs.defaults + /waybar/config);
 | 
						|
  xdg.configFile."waybar/style.css".source = lib.mkForce (dirs.defaults + /waybar/style.css);
 | 
						|
 | 
						|
  programs.wofi = { 
 | 
						|
    enable = pkgs.stdenv.isLinux;
 | 
						|
    settings = {
 | 
						|
      width=600;
 | 
						|
      height=350;
 | 
						|
      location="center";
 | 
						|
      show="drun";
 | 
						|
      prompt="Search...";
 | 
						|
      filter_rate=100;
 | 
						|
      allow_markup=true;
 | 
						|
      no_actions=true;
 | 
						|
      halign="fill";
 | 
						|
      orientation="vertical";
 | 
						|
      content_halign="fill";
 | 
						|
      insensitive=true;
 | 
						|
      allow_images=true;
 | 
						|
      image_size=40;
 | 
						|
      gtk_dark=true;
 | 
						|
    };
 | 
						|
    style = ''
 | 
						|
      @define-color	selected-text  #8caaee;
 | 
						|
      @define-color	text  #c6d0f5;
 | 
						|
      @define-color	base  #24273a;
 | 
						|
 | 
						|
      * {
 | 
						|
        font-family: 'Monaspace Krypton 9', monospace;
 | 
						|
        font-size: 18px;
 | 
						|
      }
 | 
						|
 | 
						|
      window {
 | 
						|
        margin: 0px;
 | 
						|
        padding: 20px;
 | 
						|
        background-color: @base;
 | 
						|
        opacity: 0.95;
 | 
						|
      }
 | 
						|
 | 
						|
      #inner-box {
 | 
						|
        margin: 0;
 | 
						|
        padding: 0;
 | 
						|
        border: none;
 | 
						|
        background-color: @base;
 | 
						|
      }
 | 
						|
 | 
						|
      #outer-box {
 | 
						|
        margin: 0;
 | 
						|
        padding: 20px;
 | 
						|
        border: none;
 | 
						|
        background-color: @base;
 | 
						|
      }
 | 
						|
 | 
						|
      #scroll {
 | 
						|
        margin: 0;
 | 
						|
        padding: 0;
 | 
						|
        border: none;
 | 
						|
        background-color: @base;
 | 
						|
      }
 | 
						|
 | 
						|
      #input {
 | 
						|
        margin: 0;
 | 
						|
        padding: 10px;
 | 
						|
        border: none;
 | 
						|
        background-color: @base;
 | 
						|
        color: @text;
 | 
						|
      }
 | 
						|
 | 
						|
      #input:focus {
 | 
						|
        outline: none;
 | 
						|
        box-shadow: none;
 | 
						|
        border: none;
 | 
						|
      }
 | 
						|
 | 
						|
      #text {
 | 
						|
        margin: 5px;
 | 
						|
        border: none;
 | 
						|
        color: @text;
 | 
						|
      }
 | 
						|
 | 
						|
      #entry {
 | 
						|
        background-color: @base;
 | 
						|
      }
 | 
						|
 | 
						|
      #entry:selected {
 | 
						|
        outline: none;
 | 
						|
        border: none;
 | 
						|
      }
 | 
						|
 | 
						|
      #entry:selected #text {
 | 
						|
        color: @selected-text;
 | 
						|
      }
 | 
						|
 | 
						|
      #entry image {
 | 
						|
        -gtk-icon-transform: scale(0.7);
 | 
						|
      }
 | 
						|
    '';
 | 
						|
  };
 | 
						|
  programs.swaylock.enable = pkgs.stdenv.isLinux;
 | 
						|
  
 | 
						|
  services.mako = {
 | 
						|
    enable = pkgs.stdenv.isLinux;
 | 
						|
    settings = {
 | 
						|
      text-color="#cad3f5";
 | 
						|
      border-color="#c6d0f5";
 | 
						|
      background-color="#24273a";
 | 
						|
      width=420;
 | 
						|
      height=110;
 | 
						|
      padding=10;
 | 
						|
      border-size=2;
 | 
						|
      font="Monaspace Krypton 9";
 | 
						|
      anchor="top-right";
 | 
						|
      default-timeout=5000;
 | 
						|
      max-icon-size=32;
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  programs.waybar = {
 | 
						|
    enable = pkgs.stdenv.isLinux;
 | 
						|
    systemd.enable = true;
 | 
						|
  };
 | 
						|
}
 |