treewide: cleanup config with enable options
This commit is contained in:
		
							parent
							
								
									d469c5fa79
								
							
						
					
					
						commit
						0a387960a2
					
				
					 28 changed files with 420 additions and 358 deletions
				
			
		
							
								
								
									
										8
									
								
								user/dummy.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								user/dummy.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
{ lib, ... }:
 | 
			
		||||
{
 | 
			
		||||
  options.my = {
 | 
			
		||||
    android.enable = lib.mkEnableOption { };
 | 
			
		||||
    media-packages.enable = lib.mkEnableOption { };
 | 
			
		||||
    containers.enable = lib.mkEnableOption { };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -6,9 +6,12 @@
 | 
			
		|||
}:
 | 
			
		||||
let
 | 
			
		||||
  inherit (config.my) accent editor desktop;
 | 
			
		||||
  cfg = config.my.fish;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  config = {
 | 
			
		||||
  options.my.fish.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    programs.fish = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      shellInit = ''
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,16 +2,10 @@
 | 
			
		|||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  inherit (config.my)
 | 
			
		||||
    key
 | 
			
		||||
    theme
 | 
			
		||||
    accent
 | 
			
		||||
    font
 | 
			
		||||
    ;
 | 
			
		||||
  inherit (config.my) theme accent;
 | 
			
		||||
  inherit (theme) color;
 | 
			
		||||
 | 
			
		||||
  colors = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										24
									
								
								user/gaming.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								user/gaming.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  cfg = config.my.gaming;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  options.my.gaming.enable = lib.mkEnableOption { };
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    my.mangohud.enable = true;
 | 
			
		||||
 | 
			
		||||
    home.packages = with pkgs; [
 | 
			
		||||
      # lutris-unwrapped
 | 
			
		||||
      # steam # It's enabled in the system config
 | 
			
		||||
      tlauncher
 | 
			
		||||
      gamescope
 | 
			
		||||
      glxinfo
 | 
			
		||||
      vulkan-tools
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -7,9 +7,13 @@
 | 
			
		|||
let
 | 
			
		||||
  inherit (config.my) accent theme editor;
 | 
			
		||||
  inherit (theme) color;
 | 
			
		||||
 | 
			
		||||
  cfg = config.my.helix;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  config = {
 | 
			
		||||
  options.my.helix.enable = lib.mkEnableOption "Enable helix config";
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    programs.helix = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,6 +8,7 @@
 | 
			
		|||
}:
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./dummy.nix
 | 
			
		||||
    ./waybar
 | 
			
		||||
    ./helix.nix
 | 
			
		||||
    ./kakoune
 | 
			
		||||
| 
						 | 
				
			
			@ -21,6 +22,7 @@
 | 
			
		|||
    ./rofi.nix
 | 
			
		||||
    ./mpv.nix
 | 
			
		||||
    ./mangohud.nix
 | 
			
		||||
    ./gaming.nix
 | 
			
		||||
    ./pipewire.nix
 | 
			
		||||
    ./mimeapps.nix
 | 
			
		||||
    ./desktop-entries.nix
 | 
			
		||||
| 
						 | 
				
			
			@ -44,7 +46,11 @@
 | 
			
		|||
    ./powerplay-led-idle.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  my = import ./variables.nix;
 | 
			
		||||
  my = import ./variables.nix // {
 | 
			
		||||
    sway.enable = true;
 | 
			
		||||
    pass.enable = true;
 | 
			
		||||
    fish.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Home Manager needs a bit of information about you and the
 | 
			
		||||
  # paths it should manage.
 | 
			
		||||
| 
						 | 
				
			
			@ -91,14 +97,6 @@
 | 
			
		|||
    mate.engrampa
 | 
			
		||||
    # gnome.nautilus
 | 
			
		||||
 | 
			
		||||
    ## games
 | 
			
		||||
    # lutris-unwrapped
 | 
			
		||||
    # steam # It's enabled in the system config
 | 
			
		||||
    tlauncher
 | 
			
		||||
    gamescope
 | 
			
		||||
    glxinfo
 | 
			
		||||
    vulkan-tools
 | 
			
		||||
 | 
			
		||||
    ## Theming
 | 
			
		||||
    orchis_theme_compact
 | 
			
		||||
    papirus_red
 | 
			
		||||
| 
						 | 
				
			
			@ -130,6 +128,8 @@
 | 
			
		|||
 | 
			
		||||
    unstable.blade-formatter
 | 
			
		||||
    nixfmt-rfc-style
 | 
			
		||||
 | 
			
		||||
    nix-output-monitor
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  fonts.fontconfig.enable = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,80 +1,68 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  font,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{ config, lib, ... }:
 | 
			
		||||
let
 | 
			
		||||
  inherit (config.my)
 | 
			
		||||
    key
 | 
			
		||||
    theme
 | 
			
		||||
    color
 | 
			
		||||
    accent
 | 
			
		||||
    font
 | 
			
		||||
    ;
 | 
			
		||||
  cfg = config.my.mangohud;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  config = {
 | 
			
		||||
    programs.mangohud = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      enableSessionWide = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
        full = true;
 | 
			
		||||
        # histogram = true;
 | 
			
		||||
        no_display = true;
 | 
			
		||||
        fps_limit = "0,30,60,72,90,120,144,240,288,320";
 | 
			
		||||
        toggle_fps_limit = "Shift_R+F10";
 | 
			
		||||
        toggle_preset = "Control_R+F9";
 | 
			
		||||
        fps_metrics = "Control_R+F8";
 | 
			
		||||
  options.my.mangohud.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
        # legacy_layout = "false";
 | 
			
		||||
        # gpu_stats = true;
 | 
			
		||||
        # gpu_temp = true;
 | 
			
		||||
        # gpu_core_clock = true;
 | 
			
		||||
        # gpu_mem_clock = true;
 | 
			
		||||
        # gpu_power = true;
 | 
			
		||||
        # gpu_load_change = true;
 | 
			
		||||
        # gpu_load_value = "50,90";
 | 
			
		||||
        gpu_load_color = "FFFFFF,FFAA7F,CC0000";
 | 
			
		||||
        # gpu_text = "GPU";
 | 
			
		||||
        # cpu_stats = true;
 | 
			
		||||
        # cpu_temp = true;
 | 
			
		||||
        # cpu_power = true;
 | 
			
		||||
        # cpu_mhz = true;
 | 
			
		||||
        # cpu_load_change = true;
 | 
			
		||||
        # core_load_change = true;
 | 
			
		||||
        # cpu_load_value = "50,90";
 | 
			
		||||
        cpu_load_color = "FFFFFF,FFAA7F,CC0000";
 | 
			
		||||
        cpu_color = "2e97cb";
 | 
			
		||||
        # cpu_text = "CPU";
 | 
			
		||||
        # io_stats = true;
 | 
			
		||||
        # io_read = true;
 | 
			
		||||
        # io_write = true;
 | 
			
		||||
        io_color = "a491d3";
 | 
			
		||||
        # swap = true;
 | 
			
		||||
        # vram = true;
 | 
			
		||||
        vram_color = "ad64c1";
 | 
			
		||||
        # ram = true;
 | 
			
		||||
        ram_color = "c26693";
 | 
			
		||||
        # fps = true;
 | 
			
		||||
        engine_color = "eb5b5b";
 | 
			
		||||
        gpu_color = "2e9762";
 | 
			
		||||
        wine_color = "eb5b5b";
 | 
			
		||||
        # frame_timing = "1";
 | 
			
		||||
        frametime_color = "00ff00";
 | 
			
		||||
        media_player_color = "ffffff";
 | 
			
		||||
        background_alpha = "0.8";
 | 
			
		||||
        font_size = "24";
 | 
			
		||||
  config.programs.mangohud = lib.mkIf cfg.enable {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    enableSessionWide = true;
 | 
			
		||||
    settings = {
 | 
			
		||||
      full = true;
 | 
			
		||||
      # histogram = true;
 | 
			
		||||
      no_display = true;
 | 
			
		||||
      fps_limit = "0,30,60,72,90,120,144,240,288,320";
 | 
			
		||||
      toggle_fps_limit = "Shift_R+F10";
 | 
			
		||||
      toggle_preset = "Control_R+F9";
 | 
			
		||||
      fps_metrics = "Control_R+F8";
 | 
			
		||||
 | 
			
		||||
        background_color = "020202";
 | 
			
		||||
        position = "top-left";
 | 
			
		||||
        # text_color = "ffffff";
 | 
			
		||||
        round_corners = "10";
 | 
			
		||||
        toggle_hud = "Shift_R+F12";
 | 
			
		||||
        # toggle_logging = "Shift_L+F12";
 | 
			
		||||
        # output_folder = "/home/lelgenio";
 | 
			
		||||
      };
 | 
			
		||||
      # legacy_layout = "false";
 | 
			
		||||
      # gpu_stats = true;
 | 
			
		||||
      # gpu_temp = true;
 | 
			
		||||
      # gpu_core_clock = true;
 | 
			
		||||
      # gpu_mem_clock = true;
 | 
			
		||||
      # gpu_power = true;
 | 
			
		||||
      # gpu_load_change = true;
 | 
			
		||||
      # gpu_load_value = "50,90";
 | 
			
		||||
      gpu_load_color = "FFFFFF,FFAA7F,CC0000";
 | 
			
		||||
      # gpu_text = "GPU";
 | 
			
		||||
      # cpu_stats = true;
 | 
			
		||||
      # cpu_temp = true;
 | 
			
		||||
      # cpu_power = true;
 | 
			
		||||
      # cpu_mhz = true;
 | 
			
		||||
      # cpu_load_change = true;
 | 
			
		||||
      # core_load_change = true;
 | 
			
		||||
      # cpu_load_value = "50,90";
 | 
			
		||||
      cpu_load_color = "FFFFFF,FFAA7F,CC0000";
 | 
			
		||||
      cpu_color = "2e97cb";
 | 
			
		||||
      # cpu_text = "CPU";
 | 
			
		||||
      # io_stats = true;
 | 
			
		||||
      # io_read = true;
 | 
			
		||||
      # io_write = true;
 | 
			
		||||
      io_color = "a491d3";
 | 
			
		||||
      # swap = true;
 | 
			
		||||
      # vram = true;
 | 
			
		||||
      vram_color = "ad64c1";
 | 
			
		||||
      # ram = true;
 | 
			
		||||
      ram_color = "c26693";
 | 
			
		||||
      # fps = true;
 | 
			
		||||
      engine_color = "eb5b5b";
 | 
			
		||||
      gpu_color = "2e9762";
 | 
			
		||||
      wine_color = "eb5b5b";
 | 
			
		||||
      # frame_timing = "1";
 | 
			
		||||
      frametime_color = "00ff00";
 | 
			
		||||
      media_player_color = "ffffff";
 | 
			
		||||
      background_alpha = "0.8";
 | 
			
		||||
      font_size = "24";
 | 
			
		||||
 | 
			
		||||
      background_color = "020202";
 | 
			
		||||
      position = "top-left";
 | 
			
		||||
      # text_color = "ffffff";
 | 
			
		||||
      round_corners = "10";
 | 
			
		||||
      toggle_hud = "Shift_R+F12";
 | 
			
		||||
      # toggle_logging = "Shift_L+F12";
 | 
			
		||||
      # output_folder = "/home/lelgenio";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,8 +4,13 @@
 | 
			
		|||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  cfg = config.my.mpd;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  config = lib.mkIf (config.my.desktop != "gnome") {
 | 
			
		||||
  options.my.mpd.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    services.mpd = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      musicDirectory = config.home.homeDirectory + "/Música";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,11 +2,15 @@
 | 
			
		|||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  cfg = config.my.pass;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  config = {
 | 
			
		||||
  options.my.pass.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    programs.password-store = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      package = pkgs.pass.withExtensions (
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,13 +5,10 @@
 | 
			
		|||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  inherit (config.my)
 | 
			
		||||
    key
 | 
			
		||||
    accent
 | 
			
		||||
    font
 | 
			
		||||
    theme
 | 
			
		||||
    ;
 | 
			
		||||
  inherit (config.my) accent font theme;
 | 
			
		||||
  inherit (theme) color;
 | 
			
		||||
 | 
			
		||||
  cfg = config.my.sway;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
| 
						 | 
				
			
			@ -24,10 +21,17 @@ in
 | 
			
		|||
    ./swaylock.nix
 | 
			
		||||
    ./theme.nix
 | 
			
		||||
  ];
 | 
			
		||||
  config = lib.mkIf (config.my.desktop == "sway") {
 | 
			
		||||
    services.mako.enable = true;
 | 
			
		||||
    services.swayidle.enable = true;
 | 
			
		||||
    services.kanshi.enable = true;
 | 
			
		||||
 | 
			
		||||
  options.my.sway.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    my.mako.enable = true;
 | 
			
		||||
    my.kanshi.enable = true;
 | 
			
		||||
    my.swayidle.enable = true;
 | 
			
		||||
    my.swaylock.enable = true;
 | 
			
		||||
    my.mpd.enable = true;
 | 
			
		||||
    my.zathura.enable = true;
 | 
			
		||||
    my.waybar.enable = true;
 | 
			
		||||
 | 
			
		||||
    wayland.windowManager.sway = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -36,7 +40,7 @@ in
 | 
			
		|||
        bars = [ ];
 | 
			
		||||
 | 
			
		||||
        floating.modifier = "Mod4";
 | 
			
		||||
        terminal = pkgs.alacritty.executable;
 | 
			
		||||
        terminal = lib.getExe pkgs.alacritty;
 | 
			
		||||
 | 
			
		||||
        window.titlebar = false;
 | 
			
		||||
        gaps = {
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +73,7 @@ in
 | 
			
		|||
          };
 | 
			
		||||
        output = {
 | 
			
		||||
          "*" = {
 | 
			
		||||
            adaptive_sync = "off";
 | 
			
		||||
            adaptive_sync = "on";
 | 
			
		||||
            bg = "${theme.background} fill";
 | 
			
		||||
            mode = "1920x1080@144.000Hz";
 | 
			
		||||
          };
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +136,6 @@ in
 | 
			
		|||
      swaylock
 | 
			
		||||
      wdisplays
 | 
			
		||||
 | 
			
		||||
      waybar
 | 
			
		||||
      dhist
 | 
			
		||||
      demoji
 | 
			
		||||
      bmenu
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,20 +1,12 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{ config, lib, ... }:
 | 
			
		||||
let
 | 
			
		||||
  inherit (config.my)
 | 
			
		||||
    key
 | 
			
		||||
    accent
 | 
			
		||||
    font
 | 
			
		||||
    theme
 | 
			
		||||
    ;
 | 
			
		||||
  inherit (theme) color;
 | 
			
		||||
  cfg = config.my.kanshi;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  services.kanshi = {
 | 
			
		||||
  options.my.kanshi.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
  config.services.kanshi = lib.mkIf cfg.enable {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    settings = [
 | 
			
		||||
      {
 | 
			
		||||
        profile = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,60 +6,66 @@
 | 
			
		|||
}:
 | 
			
		||||
let
 | 
			
		||||
  inherit (config.my)
 | 
			
		||||
    key
 | 
			
		||||
    accent
 | 
			
		||||
    font
 | 
			
		||||
    theme
 | 
			
		||||
    ;
 | 
			
		||||
  inherit (theme) color;
 | 
			
		||||
 | 
			
		||||
  cfg = config.my.mako;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  services.mako = {
 | 
			
		||||
    borderSize = 2;
 | 
			
		||||
    padding = "5";
 | 
			
		||||
    margin = "15";
 | 
			
		||||
    layer = "overlay";
 | 
			
		||||
  options.my.mako.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
    font = "${font.interface} ${toString font.size.small}";
 | 
			
		||||
    textColor = color.txt;
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    services.mako = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      borderSize = 2;
 | 
			
		||||
      padding = "5";
 | 
			
		||||
      margin = "15";
 | 
			
		||||
      layer = "overlay";
 | 
			
		||||
 | 
			
		||||
    backgroundColor = color.bg;
 | 
			
		||||
    borderColor = accent.color;
 | 
			
		||||
    progressColor = "over ${accent.color}88";
 | 
			
		||||
      font = "${font.interface} ${toString font.size.small}";
 | 
			
		||||
      textColor = color.txt;
 | 
			
		||||
 | 
			
		||||
    defaultTimeout = 10000;
 | 
			
		||||
      backgroundColor = color.bg;
 | 
			
		||||
      borderColor = accent.color;
 | 
			
		||||
      progressColor = "over ${accent.color}88";
 | 
			
		||||
 | 
			
		||||
    extraConfig = ''
 | 
			
		||||
      [app-name=volumesh]
 | 
			
		||||
      default-timeout=5000
 | 
			
		||||
      group-by=app-name
 | 
			
		||||
      format=<b>%s</b>\n%b
 | 
			
		||||
    '';
 | 
			
		||||
      defaultTimeout = 10000;
 | 
			
		||||
 | 
			
		||||
    # # {{@@ header() @@}}
 | 
			
		||||
    # # text
 | 
			
		||||
      extraConfig = ''
 | 
			
		||||
        [app-name=volumesh]
 | 
			
		||||
        default-timeout=5000
 | 
			
		||||
        group-by=app-name
 | 
			
		||||
        format=<b>%s</b>\n%b
 | 
			
		||||
      '';
 | 
			
		||||
 | 
			
		||||
    # # features
 | 
			
		||||
    # icons=1
 | 
			
		||||
    # markup=1
 | 
			
		||||
    # actions=1
 | 
			
		||||
    # default-timeout=10000
 | 
			
		||||
      # # {{@@ header() @@}}
 | 
			
		||||
      # # text
 | 
			
		||||
 | 
			
		||||
    # # position
 | 
			
		||||
    # layer=overlay
 | 
			
		||||
  };
 | 
			
		||||
  systemd.user.services.mako = lib.mkIf (config.services.mako.enable) {
 | 
			
		||||
    Unit = {
 | 
			
		||||
      Description = "Notification daemon";
 | 
			
		||||
      PartOf = [ "graphical-session.target" ];
 | 
			
		||||
      After = [ "graphical-session.target" ];
 | 
			
		||||
      # # features
 | 
			
		||||
      # icons=1
 | 
			
		||||
      # markup=1
 | 
			
		||||
      # actions=1
 | 
			
		||||
      # default-timeout=10000
 | 
			
		||||
 | 
			
		||||
      # # position
 | 
			
		||||
      # layer=overlay
 | 
			
		||||
    };
 | 
			
		||||
    Service = {
 | 
			
		||||
      ExecStart = "${pkgs.mako}/bin/mako";
 | 
			
		||||
      Restart = "on-failure";
 | 
			
		||||
    };
 | 
			
		||||
    Install = {
 | 
			
		||||
      WantedBy = [ "sway-session.target" ];
 | 
			
		||||
    systemd.user.services.mako = lib.mkIf (config.services.mako.enable) {
 | 
			
		||||
      Unit = {
 | 
			
		||||
        Description = "Notification daemon";
 | 
			
		||||
        PartOf = [ "graphical-session.target" ];
 | 
			
		||||
        After = [ "graphical-session.target" ];
 | 
			
		||||
      };
 | 
			
		||||
      Service = {
 | 
			
		||||
        ExecStart = "${pkgs.mako}/bin/mako";
 | 
			
		||||
        Restart = "on-failure";
 | 
			
		||||
      };
 | 
			
		||||
      Install = {
 | 
			
		||||
        WantedBy = [ "sway-session.target" ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,18 +5,15 @@
 | 
			
		|||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  inherit (config.my)
 | 
			
		||||
    key
 | 
			
		||||
    accent
 | 
			
		||||
    font
 | 
			
		||||
    theme
 | 
			
		||||
    ;
 | 
			
		||||
  inherit (theme) color;
 | 
			
		||||
 | 
			
		||||
  asScript = filename: text: toString (pkgs.writeShellScript filename text);
 | 
			
		||||
 | 
			
		||||
  cfg = config.my.swayidle;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  services.swayidle = {
 | 
			
		||||
  options.my.swayidle.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
  config.services.swayidle = {
 | 
			
		||||
    enable = cfg.enable;
 | 
			
		||||
    timeouts = [
 | 
			
		||||
      {
 | 
			
		||||
        timeout = 360;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,20 +1,14 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{ config, lib, ... }:
 | 
			
		||||
let
 | 
			
		||||
  inherit (config.my)
 | 
			
		||||
    key
 | 
			
		||||
    accent
 | 
			
		||||
    font
 | 
			
		||||
    theme
 | 
			
		||||
    ;
 | 
			
		||||
  inherit (config.my) accent font theme;
 | 
			
		||||
  inherit (theme) color;
 | 
			
		||||
 | 
			
		||||
  cfg = config.my.swaylock;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  programs.swaylock.settings = {
 | 
			
		||||
  options.my.swaylock.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
  config.programs.swaylock.settings = lib.mkIf cfg.enable {
 | 
			
		||||
    image = toString theme.background;
 | 
			
		||||
    font = font.interface;
 | 
			
		||||
    font-size = font.size.medium;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,9 +14,13 @@ let
 | 
			
		|||
    font
 | 
			
		||||
    ;
 | 
			
		||||
  inherit (theme) color;
 | 
			
		||||
 | 
			
		||||
  cfg = config.my.waybar;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  config = {
 | 
			
		||||
  options.my.waybar.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    programs.waybar = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      systemd.enable = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,4 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  font,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{ config, lib, ... }:
 | 
			
		||||
let
 | 
			
		||||
  inherit (config.my)
 | 
			
		||||
    key
 | 
			
		||||
| 
						 | 
				
			
			@ -13,56 +7,62 @@ let
 | 
			
		|||
    theme
 | 
			
		||||
    ;
 | 
			
		||||
  inherit (theme) color;
 | 
			
		||||
 | 
			
		||||
  cfg = config.my.zathura;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  config = {
 | 
			
		||||
    programs.zathura.enable = true;
 | 
			
		||||
    programs.zathura.options = {
 | 
			
		||||
      font = "${font.mono} ${toString font.size.small}";
 | 
			
		||||
      guioptions = "s";
 | 
			
		||||
  options.my.zathura.enable = lib.mkEnableOption { };
 | 
			
		||||
 | 
			
		||||
      selection-clipboard = "clipboard";
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    programs.zathura = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      options = {
 | 
			
		||||
        font = "${font.mono} ${toString font.size.small}";
 | 
			
		||||
        guioptions = "s";
 | 
			
		||||
 | 
			
		||||
      recolor = true;
 | 
			
		||||
      # Turn images grayscale, so they don't look weird
 | 
			
		||||
      recolor-keephue = false;
 | 
			
		||||
      recolor-lightcolor = "rgba(0,0,0,0)";
 | 
			
		||||
      recolor-darkcolor = color.txt;
 | 
			
		||||
        selection-clipboard = "clipboard";
 | 
			
		||||
 | 
			
		||||
      default-bg = color.bg_dark;
 | 
			
		||||
        recolor = true;
 | 
			
		||||
        # Turn images grayscale, so they don't look weird
 | 
			
		||||
        recolor-keephue = false;
 | 
			
		||||
        recolor-lightcolor = "rgba(0,0,0,0)";
 | 
			
		||||
        recolor-darkcolor = color.txt;
 | 
			
		||||
 | 
			
		||||
      inputbar-bg = color.bg_dark;
 | 
			
		||||
      inputbar-fg = color.txt;
 | 
			
		||||
        default-bg = color.bg_dark;
 | 
			
		||||
 | 
			
		||||
      statusbar-bg = color.bg;
 | 
			
		||||
      statusbar-fg = color.txt;
 | 
			
		||||
        inputbar-bg = color.bg_dark;
 | 
			
		||||
        inputbar-fg = color.txt;
 | 
			
		||||
 | 
			
		||||
      completion-bg = color.bg;
 | 
			
		||||
      completion-fg = color.txt;
 | 
			
		||||
        statusbar-bg = color.bg;
 | 
			
		||||
        statusbar-fg = color.txt;
 | 
			
		||||
 | 
			
		||||
      completion-group-bg = color.bg_dark;
 | 
			
		||||
      completion-group-fg = color.txt;
 | 
			
		||||
        completion-bg = color.bg;
 | 
			
		||||
        completion-fg = color.txt;
 | 
			
		||||
 | 
			
		||||
      completion-highlight-bg = accent.color;
 | 
			
		||||
      completion-highlight-fg = accent.fg;
 | 
			
		||||
        completion-group-bg = color.bg_dark;
 | 
			
		||||
        completion-group-fg = color.txt;
 | 
			
		||||
 | 
			
		||||
      index-active-bg = accent.color;
 | 
			
		||||
      index-active-fg = accent.fg;
 | 
			
		||||
    };
 | 
			
		||||
    programs.zathura.mappings = {
 | 
			
		||||
      "<C-b>" = "toggle_statusbar";
 | 
			
		||||
      ${key.left} = "scroll left";
 | 
			
		||||
      ${key.down} = "scroll down";
 | 
			
		||||
      ${key.up} = "scroll up";
 | 
			
		||||
      ${key.right} = "scroll right";
 | 
			
		||||
      "[index] ${key.left}" = "navigate_index collapse";
 | 
			
		||||
      "[index] ${key.down}" = "navigate_index down";
 | 
			
		||||
      "[index] ${key.up}" = "navigate_index up";
 | 
			
		||||
      "[index] ${key.right}" = "navigate_index expand";
 | 
			
		||||
      ${lib.toUpper key.down} = "navigate next";
 | 
			
		||||
      ${lib.toUpper key.up} = "navigate previous";
 | 
			
		||||
      ${key.next} = "search forward";
 | 
			
		||||
      ${lib.toUpper key.next} = "search backward";
 | 
			
		||||
        completion-highlight-bg = accent.color;
 | 
			
		||||
        completion-highlight-fg = accent.fg;
 | 
			
		||||
 | 
			
		||||
        index-active-bg = accent.color;
 | 
			
		||||
        index-active-fg = accent.fg;
 | 
			
		||||
      };
 | 
			
		||||
      mappings = {
 | 
			
		||||
        "<C-b>" = "toggle_statusbar";
 | 
			
		||||
        ${key.left} = "scroll left";
 | 
			
		||||
        ${key.down} = "scroll down";
 | 
			
		||||
        ${key.up} = "scroll up";
 | 
			
		||||
        ${key.right} = "scroll right";
 | 
			
		||||
        "[index] ${key.left}" = "navigate_index collapse";
 | 
			
		||||
        "[index] ${key.down}" = "navigate_index down";
 | 
			
		||||
        "[index] ${key.up}" = "navigate_index up";
 | 
			
		||||
        "[index] ${key.right}" = "navigate_index expand";
 | 
			
		||||
        ${lib.toUpper key.down} = "navigate next";
 | 
			
		||||
        ${lib.toUpper key.up} = "navigate previous";
 | 
			
		||||
        ${key.next} = "search forward";
 | 
			
		||||
        ${lib.toUpper key.next} = "search backward";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue