[Init]
This commit is contained in:
		
							
								
								
									
										21
									
								
								home/cli/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								home/cli/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./git
 | 
			
		||||
    ./neofetch
 | 
			
		||||
    ./starship
 | 
			
		||||
    ./zsh
 | 
			
		||||
    ./helix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    sudo
 | 
			
		||||
    ripgrep
 | 
			
		||||
 | 
			
		||||
    bat
 | 
			
		||||
    croc
 | 
			
		||||
    socat
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								home/cli/git/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								home/cli/git/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  
 | 
			
		||||
  programs.git = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    userEmail = "soraefir+git@pm.me";
 | 
			
		||||
    userName = "soraefir";
 | 
			
		||||
  signing = {
 | 
			
		||||
    key = "4E241635F8EDD2919D2FB44CA362EA0491E2EEA0";
 | 
			
		||||
    signByDefault = true;
 | 
			
		||||
   };
 | 
			
		||||
  ignores = ["*result*" ".direnv" "node_modules"];
 | 
			
		||||
 };
 | 
			
		||||
 | 
			
		||||
 home.packages = with pkgs; [
 | 
			
		||||
    tig
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								home/cli/helix/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								home/cli/helix/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
{
 | 
			
		||||
    ...
 | 
			
		||||
}:{
 | 
			
		||||
    programs.helix = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        languages = { };
 | 
			
		||||
        settings = { };
 | 
			
		||||
        themes = { };
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										127
									
								
								home/cli/neofetch/config.conf
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										127
									
								
								home/cli/neofetch/config.conf
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,127 @@
 | 
			
		||||
 | 
			
		||||
print_info() {
 | 
			
		||||
    info ""
 | 
			
		||||
    info "${c5} ├─  Distro     " distro
 | 
			
		||||
    info "${c5} ├─  Kernel     " kernel
 | 
			
		||||
    info "${c5} ├─  Pkgs       " packages
 | 
			
		||||
    info "${c5} ├─  Compositor " de
 | 
			
		||||
    info "${c5} ├─  CPU        " cpu
 | 
			
		||||
    info "${c5} ├─  GPU        " gpu
 | 
			
		||||
    info "${c5} ├─  Term       " term
 | 
			
		||||
    prin "$(color 0) $(color 1) $(color 2) $(color 3) $(color 4) $(color 5) $(color 6) $(color 7)"
 | 
			
		||||
    prin "$(color 8) $(color 9) $(color 10) $(color 11) $(color 12) $(color 13) $(color 14) $(color 15)"
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
##--------- Title
 | 
			
		||||
title_fqdn="off"
 | 
			
		||||
 | 
			
		||||
##--------- Kernel
 | 
			
		||||
kernel_shorthand="off"
 | 
			
		||||
 | 
			
		||||
##--------- Distro
 | 
			
		||||
distro_shorthand="on"
 | 
			
		||||
os_arch="off"
 | 
			
		||||
 | 
			
		||||
##--------- Uptime
 | 
			
		||||
uptime_shorthand="off"
 | 
			
		||||
 | 
			
		||||
##--------- Memory
 | 
			
		||||
memory_percent="off"
 | 
			
		||||
memory_unit="mib"
 | 
			
		||||
 | 
			
		||||
##--------- Packages
 | 
			
		||||
package_managers="on"
 | 
			
		||||
 | 
			
		||||
##--------- Shell
 | 
			
		||||
shell_path="off"
 | 
			
		||||
shell_version="on"
 | 
			
		||||
 | 
			
		||||
##--------- CPU
 | 
			
		||||
speed_type="bios_limit"
 | 
			
		||||
speed_shorthand="off"
 | 
			
		||||
cpu_brand="on"
 | 
			
		||||
cpu_speed="off"
 | 
			
		||||
cpu_cores="off"
 | 
			
		||||
cpu_temp="off"
 | 
			
		||||
 | 
			
		||||
##--------- GPU
 | 
			
		||||
gpu_brand="on"
 | 
			
		||||
gpu_type="dedicated"
 | 
			
		||||
 | 
			
		||||
##--------- Resolution
 | 
			
		||||
refresh_rate="off"
 | 
			
		||||
 | 
			
		||||
##--------- GTK
 | 
			
		||||
gtk_shorthand="off"
 | 
			
		||||
gtk2="on"
 | 
			
		||||
gtk3="on"
 | 
			
		||||
 | 
			
		||||
##--------- IP
 | 
			
		||||
public_ip_host="http://ident.me"
 | 
			
		||||
public_ip_timeout=2
 | 
			
		||||
 | 
			
		||||
##--------- DE
 | 
			
		||||
de_version="on"
 | 
			
		||||
 | 
			
		||||
##--------- Disk
 | 
			
		||||
disk_show=('/')
 | 
			
		||||
disk_subtitle="mount"
 | 
			
		||||
disk_percent="on"
 | 
			
		||||
 | 
			
		||||
##--------- Song
 | 
			
		||||
music_player="auto"
 | 
			
		||||
song_format="%artist% - %album% - %title%"
 | 
			
		||||
song_shorthand="off"
 | 
			
		||||
mpc_args=()
 | 
			
		||||
 | 
			
		||||
##--------- Text Colors
 | 
			
		||||
colors=(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
 | 
			
		||||
 | 
			
		||||
##--------- Text Options
 | 
			
		||||
bold="on"
 | 
			
		||||
underline_enabled="on"
 | 
			
		||||
underline_char=""
 | 
			
		||||
separator=":"
 | 
			
		||||
 | 
			
		||||
##--------- Color Blocks
 | 
			
		||||
block_range=(0 15)
 | 
			
		||||
color_blocks="on"
 | 
			
		||||
block_width=3
 | 
			
		||||
block_height=1
 | 
			
		||||
col_offset="auto"
 | 
			
		||||
 | 
			
		||||
##--------- Progress Bars
 | 
			
		||||
bar_char_elapsed="-"
 | 
			
		||||
bar_char_total="="
 | 
			
		||||
bar_border="on"
 | 
			
		||||
bar_length=15
 | 
			
		||||
bar_color_elapsed="distro"
 | 
			
		||||
bar_color_total="distro"
 | 
			
		||||
 | 
			
		||||
cpu_display="off"
 | 
			
		||||
memory_display="off"
 | 
			
		||||
battery_display="off"
 | 
			
		||||
disk_display="off"
 | 
			
		||||
 | 
			
		||||
##--------- Backend Settings
 | 
			
		||||
image_backend="kitty"
 | 
			
		||||
image_source="auto"
 | 
			
		||||
 | 
			
		||||
##--------- Ascii Options
 | 
			
		||||
ascii_distro="nixos_small"
 | 
			
		||||
ascii_bold="on"
 | 
			
		||||
 | 
			
		||||
##--------- Image Options
 | 
			
		||||
image_loop="off"
 | 
			
		||||
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
 | 
			
		||||
crop_mode="normal"
 | 
			
		||||
crop_offset="center"
 | 
			
		||||
image_size="auto"
 | 
			
		||||
gap=2
 | 
			
		||||
yoffset=0
 | 
			
		||||
xoffset=0
 | 
			
		||||
background_color=
 | 
			
		||||
 | 
			
		||||
##--------- Misc Options
 | 
			
		||||
stdout="off"
 | 
			
		||||
							
								
								
									
										10
									
								
								home/cli/neofetch/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								home/cli/neofetch/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    neofetch
 | 
			
		||||
  ];
 | 
			
		||||
  xdg.configFile."neofetch/config.conf".source =./config.conf;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										63
									
								
								home/cli/starship/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										63
									
								
								home/cli/starship/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,63 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  
 | 
			
		||||
  home.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship";
 | 
			
		||||
 | 
			
		||||
  programs.starship = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    enableFishIntegration = false;
 | 
			
		||||
    enableIonIntegration = false;
 | 
			
		||||
    enableNushellIntegration = false;
 | 
			
		||||
    enableZshIntegration = true;
 | 
			
		||||
    settings = {
 | 
			
		||||
    format = lib.concatStrings [
 | 
			
		||||
    "[░▒▓](#${config.colorScheme.colors.base06})"
 | 
			
		||||
    "$username"
 | 
			
		||||
    "$hostname"
 | 
			
		||||
    "[](bg:#${config.colorScheme.colors.base05} fg:#${config.colorScheme.colors.base06})"
 | 
			
		||||
    "$directory"
 | 
			
		||||
    "[](bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base05})"
 | 
			
		||||
    "$git_branch"
 | 
			
		||||
    "$git_status"
 | 
			
		||||
    "[](fg:#${config.colorScheme.colors.base04})"
 | 
			
		||||
  ];
 | 
			
		||||
  username = {
 | 
			
		||||
    show_always = true;
 | 
			
		||||
    style_user = "bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}";
 | 
			
		||||
    style_root = "bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}";
 | 
			
		||||
    format = "[ $user]($style)";
 | 
			
		||||
  };
 | 
			
		||||
  hostname = {
 | 
			
		||||
    ssh_symbol = "";
 | 
			
		||||
    style = "bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}";
 | 
			
		||||
    format = "[@$hostname]($style)";
 | 
			
		||||
    ssh_only = false;
 | 
			
		||||
    disabled = false;
 | 
			
		||||
  };
 | 
			
		||||
  directory = {
 | 
			
		||||
    style = "bg:#${config.colorScheme.colors.base05} fg:#${config.colorScheme.colors.base00}";
 | 
			
		||||
    format = "[ $path ]($style)";
 | 
			
		||||
    truncation_length = 3;
 | 
			
		||||
    truncation_symbol = "…/";
 | 
			
		||||
  };
 | 
			
		||||
  directory.substitutions = {
 | 
			
		||||
    "Documents" = " ";
 | 
			
		||||
    "Downloads" = " ";
 | 
			
		||||
    "Music" = " ";
 | 
			
		||||
    "Pictures" = " ";
 | 
			
		||||
  };
 | 
			
		||||
  git_branch = {
 | 
			
		||||
    symbol = "";
 | 
			
		||||
    style = "bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base00}";
 | 
			
		||||
    format = "[ $symbol $branch ]($style)";
 | 
			
		||||
  };
 | 
			
		||||
  git_status = {
 | 
			
		||||
    style = "bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base00}";
 | 
			
		||||
    format = "[$all_status$ahead_behind ]($style)";
 | 
			
		||||
  };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										5
									
								
								home/cli/zsh/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								home/cli/zsh/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  programs.zsh.enable = true;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										63
									
								
								home/gui/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										63
									
								
								home/gui/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,63 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./dunst
 | 
			
		||||
    ./eww
 | 
			
		||||
    ./wofi
 | 
			
		||||
    ./mpv
 | 
			
		||||
    ./wayland
 | 
			
		||||
    ./pipewire
 | 
			
		||||
 | 
			
		||||
    ./theme
 | 
			
		||||
 | 
			
		||||
    ./firefox
 | 
			
		||||
    ./zathura
 | 
			
		||||
    ./kitty
 | 
			
		||||
 | 
			
		||||
    ./various
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    brillo
 | 
			
		||||
    dunst
 | 
			
		||||
    libnotify
 | 
			
		||||
    wofi
 | 
			
		||||
    btop
 | 
			
		||||
    swayidle
 | 
			
		||||
    swaylock-effects
 | 
			
		||||
    swww
 | 
			
		||||
   ];
 | 
			
		||||
 | 
			
		||||
  xdg.mimeApps = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    defaultApplications = {
 | 
			
		||||
      "x-scheme-handler/discord-409416265891971072" = ["discord-409416265891971072.desktop"];
 | 
			
		||||
      "x-scheme-handler/discord-402572971681644545" = ["discord-402572971681644545.desktop"];
 | 
			
		||||
      "x-scheme-handler/discord-696343075731144724" = ["discord-696343075731144724.desktop"];
 | 
			
		||||
      "x-scheme-handler/http" = ["firefox.desktop"];
 | 
			
		||||
      "x-scheme-handler/https" = ["firefox.desktop"];
 | 
			
		||||
      "x-scheme-handler/chrome" = ["firefox.desktop"];
 | 
			
		||||
      "text/html" = ["firefox.desktop"];
 | 
			
		||||
      "application/x-extension-htm" = ["firefox.desktop"];
 | 
			
		||||
      "application/x-extension-html" = ["firefox.desktop"];
 | 
			
		||||
      "application/x-extension-shtml" = ["firefox.desktop"];
 | 
			
		||||
      "application/xhtml+xml" = ["firefox.desktop"];
 | 
			
		||||
      "application/x-extension-xhtml" = ["firefox.desktop"];
 | 
			
		||||
      "application/x-extension-xht" = ["firefox.desktop"];
 | 
			
		||||
      
 | 
			
		||||
      "application/pdf"  = ["org.pwmt.zathura-pdf-mupdf.desktop"];
 | 
			
		||||
      "text/plain" = ["vscodium.desktop"];
 | 
			
		||||
      
 | 
			
		||||
      "video/mp4" = ["mpv.desktop"];
 | 
			
		||||
    };   
 | 
			
		||||
    associations = {
 | 
			
		||||
      removed = {
 | 
			
		||||
        "application/pdf" = ["krita_pdf.desktop"];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										94
									
								
								home/gui/dunst/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										94
									
								
								home/gui/dunst/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,94 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: 
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  services.dunst = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    #waylandDisplay = "DP-2";
 | 
			
		||||
    settings = {
 | 
			
		||||
      global = {
 | 
			
		||||
        follow = "mouse";
 | 
			
		||||
        height = "200";
 | 
			
		||||
        width = "400";
 | 
			
		||||
        scale = "0";
 | 
			
		||||
        origin = "top-right";
 | 
			
		||||
        offset = "4x40";
 | 
			
		||||
        notification_limit = "0";
 | 
			
		||||
        progress_bar = "true";
 | 
			
		||||
        progress_bar_height = "10";
 | 
			
		||||
        progress_bar_frame_width = "0";
 | 
			
		||||
        progress_bar_min_width = "350";
 | 
			
		||||
        progress_bar_max_width = "400";
 | 
			
		||||
        indicate_hidden = "yes";
 | 
			
		||||
        transparency = "0";
 | 
			
		||||
        separator_height = "2";
 | 
			
		||||
        padding = "12";
 | 
			
		||||
        horizontal_padding = "15";
 | 
			
		||||
        text_icon_padding = "0";
 | 
			
		||||
        frame_width = "2";
 | 
			
		||||
        frame_color = "#${config.colorScheme.colors.base03}";
 | 
			
		||||
        separator_color = "auto";
 | 
			
		||||
        sort = "yes";
 | 
			
		||||
        font = "IBM Plex Mono 14";
 | 
			
		||||
        markup = "full";
 | 
			
		||||
        format = "<b>%s</b>\\n<span size=\"small\">%b</span>";
 | 
			
		||||
        alignment = "center";
 | 
			
		||||
        vertical_alignment = "center";
 | 
			
		||||
        show_age_threshold = "60";
 | 
			
		||||
        ellipsize = "end";
 | 
			
		||||
        ignore_newline = "no";
 | 
			
		||||
        stack_duplicates = "true";
 | 
			
		||||
        hide_duplicate_count = "false";
 | 
			
		||||
        show_indicators = "yes";
 | 
			
		||||
        min_icon_size = 32;
 | 
			
		||||
        max_icon_size = 64;
 | 
			
		||||
        
 | 
			
		||||
        icon_path = "/usr/share/icons/gnome/128x128/status/:/usr/share/icons/gnome/128x128/devices/";
 | 
			
		||||
        icon_theme = "Papirus, Adwaita";
 | 
			
		||||
        enable_recursive_icon_lookup = "true";
 | 
			
		||||
 | 
			
		||||
        sticky_history = "yes";
 | 
			
		||||
        history_length = "20";
 | 
			
		||||
 | 
			
		||||
        dmenu = "wofi --show dmenu -p dunst:";
 | 
			
		||||
        browser = "/usr/bin/xdg-open";
 | 
			
		||||
        always_run_script = "true";
 | 
			
		||||
        title = "Dunst";
 | 
			
		||||
        class = "Dunst";
 | 
			
		||||
        corner_radius = "10";
 | 
			
		||||
        ignore_dbusclose = "false";
 | 
			
		||||
        layer = "top";
 | 
			
		||||
        force_xwayland = "true";
 | 
			
		||||
        force_xinerama = "false";
 | 
			
		||||
 | 
			
		||||
        mouse_left_click = "close_current";
 | 
			
		||||
        mouse_middle_click = "context";
 | 
			
		||||
        mouse_right_click = "do_action";
 | 
			
		||||
 | 
			
		||||
      };
 | 
			
		||||
      urgency_low = {
 | 
			
		||||
        background = "#${config.colorScheme.colors.base00}";
 | 
			
		||||
        foreground = "#${config.colorScheme.colors.base07}";
 | 
			
		||||
        frame_color = "#${config.colorScheme.colors.base03}";
 | 
			
		||||
        timeout = "3";
 | 
			
		||||
        highlight = "#${config.colorScheme.colors.base0B}";
 | 
			
		||||
      };
 | 
			
		||||
      urgency_normal = {
 | 
			
		||||
        background = "#${config.colorScheme.colors.base00}";
 | 
			
		||||
        foreground = "#${config.colorScheme.colors.base07}";
 | 
			
		||||
        frame_color = "#${config.colorScheme.colors.base03}";
 | 
			
		||||
        timeout = "5";
 | 
			
		||||
        highlight = "#${config.colorScheme.colors.base0C}";
 | 
			
		||||
      };
 | 
			
		||||
      urgency_critical ={
 | 
			
		||||
        background = "#${config.colorScheme.colors.base00}";
 | 
			
		||||
        foreground = "#${config.colorScheme.colors.base0F}";
 | 
			
		||||
        frame_color = "#${config.colorScheme.colors.base03}";
 | 
			
		||||
        timeout = "10";
 | 
			
		||||
        highlight = "#${config.colorScheme.colors.base0E}";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										31
									
								
								home/gui/eww/css/_calendar.scss
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								home/gui/eww/css/_calendar.scss
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
.calendar-win {
 | 
			
		||||
  @include window;
 | 
			
		||||
  background-color: $bg;
 | 
			
		||||
  color: $fg;
 | 
			
		||||
  padding: .2em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
calendar {
 | 
			
		||||
  padding: 5px;
 | 
			
		||||
 | 
			
		||||
  :selected {
 | 
			
		||||
    color: $base0C;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .header {
 | 
			
		||||
    color: $base05;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .highlight {
 | 
			
		||||
    color: $base0C;
 | 
			
		||||
    font-weight: bold;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .button {
 | 
			
		||||
    color: $base0C;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  :indeterminate {
 | 
			
		||||
    color: $base03;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										123
									
								
								home/gui/eww/css/_sidebar.scss
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										123
									
								
								home/gui/eww/css/_sidebar.scss
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,123 @@
 | 
			
		||||
.system-menu-box {
 | 
			
		||||
  @include window;
 | 
			
		||||
  background-color: $bg;
 | 
			
		||||
  color: $fg;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.separator {
 | 
			
		||||
  font-size: 1rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.top-row {
 | 
			
		||||
  margin: 1rem 1.5rem 0;
 | 
			
		||||
 | 
			
		||||
  .time { font-size: 2rem; }
 | 
			
		||||
 | 
			
		||||
  .date-box {
 | 
			
		||||
    margin: 0 1rem;
 | 
			
		||||
 | 
			
		||||
    label { font-size: 1.1rem; }
 | 
			
		||||
 | 
			
		||||
    .date {
 | 
			
		||||
      background: unset;
 | 
			
		||||
      margin: 0 .5rem 0 0;
 | 
			
		||||
      padding: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  button {
 | 
			
		||||
    background-color: $bg1;
 | 
			
		||||
    border-radius: 16px;
 | 
			
		||||
    margin-bottom: .1rem;
 | 
			
		||||
    padding: 0 .5rem;
 | 
			
		||||
 | 
			
		||||
    label { font-size: 1.5rem; }
 | 
			
		||||
    &:hover { background-color: $bg1; }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.system-row {
 | 
			
		||||
  margin: .5rem .7rem;
 | 
			
		||||
 | 
			
		||||
  label {
 | 
			
		||||
    font-size: 1rem;
 | 
			
		||||
    margin: 0 .1rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.element {
 | 
			
		||||
  @include rounding;
 | 
			
		||||
  background-color: $bg1;
 | 
			
		||||
  margin: .3rem;
 | 
			
		||||
 | 
			
		||||
  button {
 | 
			
		||||
    @include rounding;
 | 
			
		||||
    padding: 1rem 3rem;
 | 
			
		||||
 | 
			
		||||
    label {
 | 
			
		||||
      font-size: 1.5rem;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    &:hover {
 | 
			
		||||
      background-color: rgba(255, 255, 255, 0.2);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sliders {
 | 
			
		||||
  @include rounding;
 | 
			
		||||
  background-color: $bg1;
 | 
			
		||||
  margin: .5rem 1rem;
 | 
			
		||||
  padding: .6rem 1rem;
 | 
			
		||||
 | 
			
		||||
  scale {
 | 
			
		||||
    margin-right: -1rem;
 | 
			
		||||
    min-width: 21.5rem;
 | 
			
		||||
 | 
			
		||||
    trough { margin-right: 0; }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  box { margin: .2rem 0; }
 | 
			
		||||
  label { font-size: 1.2rem; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.volume-slider-box,
 | 
			
		||||
.brightness-slider-box {
 | 
			
		||||
  trough { background-color: $base02; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.volume-bar highlight {
 | 
			
		||||
  @include rounding;
 | 
			
		||||
  background-image: linear-gradient(to right, $base0B, $base0C);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.brightness-bar highlight {
 | 
			
		||||
  @include rounding;
 | 
			
		||||
  background-image: linear-gradient(to right, $base0A, $base0B);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.bottom-row {
 | 
			
		||||
  margin: .5rem 1rem;
 | 
			
		||||
 | 
			
		||||
  .battery-icon { font-size: 2rem; }
 | 
			
		||||
  .battery-wattage { color: $base0A; }
 | 
			
		||||
 | 
			
		||||
  .battery-status {
 | 
			
		||||
    color: $base04;
 | 
			
		||||
    margin: 0 .5rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.bt-connected {
 | 
			
		||||
  background-color: $base0C;
 | 
			
		||||
  color: $base00;
 | 
			
		||||
 | 
			
		||||
  button:hover { background-color: rgba(0, 0, 0, .3); }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.net-connected {
 | 
			
		||||
  background-color: $base0C;
 | 
			
		||||
  color: $base00;
 | 
			
		||||
 | 
			
		||||
  button:hover { background-color: rgba(0, 0, 0, .3); }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										76
									
								
								home/gui/eww/css/_system.scss
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										76
									
								
								home/gui/eww/css/_system.scss
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
.membar {
 | 
			
		||||
  color: $base08;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.cpubar {
 | 
			
		||||
  color: $base0C;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.batbar {
 | 
			
		||||
  color: $base0B;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.membar,
 | 
			
		||||
.cpubar,
 | 
			
		||||
.batbar {
 | 
			
		||||
  background-color: $bg1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.iconmem {
 | 
			
		||||
  color: $base08;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.iconcpu {
 | 
			
		||||
  color: $base0C;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.icon-text {
 | 
			
		||||
  font-size: 3rem;
 | 
			
		||||
  padding: .7rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sys-text-sub {
 | 
			
		||||
  color: $fg;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sys-text-mem,
 | 
			
		||||
.sys-text-cpu {
 | 
			
		||||
  font-size: 1rem;
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sys-icon-mem,
 | 
			
		||||
.sys-icon-cpu {
 | 
			
		||||
  font-size: 1.5rem;
 | 
			
		||||
  margin: 1.5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.system-info-box {
 | 
			
		||||
  @include rounding;
 | 
			
		||||
  background-color: $bg1;
 | 
			
		||||
  margin: .5rem 1rem;
 | 
			
		||||
  padding: .5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sys-mem,
 | 
			
		||||
.sys-cpu {
 | 
			
		||||
  background-color: $bg;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sys-icon-mem,
 | 
			
		||||
.sys-text-mem,
 | 
			
		||||
.sys-mem {
 | 
			
		||||
  color: $base08;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sys-icon-cpu,
 | 
			
		||||
.sys-text-cpu,
 | 
			
		||||
.sys-cpu {
 | 
			
		||||
  color: $base0C;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sys-box {
 | 
			
		||||
  margin: .3em;
 | 
			
		||||
 | 
			
		||||
  box { margin-left: 1rem; }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										51
									
								
								home/gui/eww/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										51
									
								
								home/gui/eww/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  home.packages = [
 | 
			
		||||
    pkgs.eww-wayland
 | 
			
		||||
    pkgs.jaq
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  xdg.configFile."eww" = {
 | 
			
		||||
    source = lib.cleanSourceWith {
 | 
			
		||||
      filter = name: _type: let
 | 
			
		||||
        baseName = baseNameOf (toString name);
 | 
			
		||||
      in
 | 
			
		||||
        !(lib.hasSuffix ".nix" baseName) && (baseName != "_colors.scss");
 | 
			
		||||
      src = lib.cleanSource ./.;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    recursive = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # colors file
 | 
			
		||||
  xdg.configFile."eww/css/_colors.scss".text = ''
 | 
			
		||||
$base00: #${config.colorScheme.colors.base00};
 | 
			
		||||
$base01: #${config.colorScheme.colors.base01};
 | 
			
		||||
$base02: #${config.colorScheme.colors.base02};
 | 
			
		||||
$base03: #${config.colorScheme.colors.base03};
 | 
			
		||||
$base04: #${config.colorScheme.colors.base04};
 | 
			
		||||
$base05: #${config.colorScheme.colors.base05};
 | 
			
		||||
$base06: #${config.colorScheme.colors.base06};
 | 
			
		||||
$base07: #${config.colorScheme.colors.base07};
 | 
			
		||||
$base08: #${config.colorScheme.colors.base08};
 | 
			
		||||
$base09: #${config.colorScheme.colors.base09};
 | 
			
		||||
$base0A: #${config.colorScheme.colors.base0A};
 | 
			
		||||
$base0B: #${config.colorScheme.colors.base0B};
 | 
			
		||||
$base0C: #${config.colorScheme.colors.base0C};
 | 
			
		||||
$base0D: #${config.colorScheme.colors.base0D};
 | 
			
		||||
$base0E: #${config.colorScheme.colors.base0E};
 | 
			
		||||
$base0F: #${config.colorScheme.colors.base0F};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
$fg: $base07;
 | 
			
		||||
$bg: $base00;
 | 
			
		||||
$bg1: $base01;
 | 
			
		||||
$border: $base03;
 | 
			
		||||
'';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										109
									
								
								home/gui/eww/eww.scss
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										109
									
								
								home/gui/eww/eww.scss
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,109 @@
 | 
			
		||||
@import 'css/colors';
 | 
			
		||||
 | 
			
		||||
@mixin rounding {
 | 
			
		||||
  border-radius: 16px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@mixin window {
 | 
			
		||||
  border: 2px solid $base03;
 | 
			
		||||
  margin: 5px 5px 10px;
 | 
			
		||||
  @include rounding;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
* {
 | 
			
		||||
  all: unset;
 | 
			
		||||
  font-family: "IBM Plex Mono";
 | 
			
		||||
  transition: 200ms ease;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@import 'css/calendar';
 | 
			
		||||
@import 'css/sidebar';
 | 
			
		||||
@import 'css/system';
 | 
			
		||||
 | 
			
		||||
.bar {
 | 
			
		||||
  background-color: $bg;
 | 
			
		||||
  color: $fg;
 | 
			
		||||
  border-bottom: 2px solid $base03;
 | 
			
		||||
 | 
			
		||||
  label {
 | 
			
		||||
    font-size: 1.2rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tooltip {
 | 
			
		||||
  background: $bg;
 | 
			
		||||
  border: 1px solid $border;
 | 
			
		||||
  border-radius: 8px;
 | 
			
		||||
 | 
			
		||||
  label {
 | 
			
		||||
    font-size: 1rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.icon,
 | 
			
		||||
.icon label { font-family: Material Design Icons; }
 | 
			
		||||
 | 
			
		||||
.ws {
 | 
			
		||||
  border-radius: 2rem;
 | 
			
		||||
  margin: .7rem .25rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.focused {
 | 
			
		||||
  background-color: $bg;
 | 
			
		||||
  border-radius: 1rem;
 | 
			
		||||
  margin: .3rem;
 | 
			
		||||
  padding: .25rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.module { margin: 0 5px; }
 | 
			
		||||
 | 
			
		||||
.hour {
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
  padding-left: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.minute {
 | 
			
		||||
  padding-right: .7rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.date {
 | 
			
		||||
  background: $bg;
 | 
			
		||||
  color: $base0C;
 | 
			
		||||
 | 
			
		||||
  label {
 | 
			
		||||
    font-size: 1.2rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.bright-icon { color: $base09; }
 | 
			
		||||
.module-bt { font-size: 1.2rem; }
 | 
			
		||||
 | 
			
		||||
scale trough {
 | 
			
		||||
  background-color: $bg1;
 | 
			
		||||
  border-radius: 24px;
 | 
			
		||||
  margin: 0 1rem;
 | 
			
		||||
  min-height: 10px;
 | 
			
		||||
  min-width: 70px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.workspaces { margin-left: 10px; }
 | 
			
		||||
 | 
			
		||||
.grey {
 | 
			
		||||
  background-color: $base02;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.red {
 | 
			
		||||
  background-color: $base0F;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.orange {
 | 
			
		||||
  background-color: $base08;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.green {
 | 
			
		||||
  background-color: $base0B;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.blue {
 | 
			
		||||
  background-color: $base0C;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										44
									
								
								home/gui/eww/eww.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										44
									
								
								home/gui/eww/eww.yuck
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
(include "./modules/clock.yuck")
 | 
			
		||||
(include "./modules/net.yuck")
 | 
			
		||||
(include "./modules/sys.yuck")
 | 
			
		||||
(include "./modules/variables.yuck")
 | 
			
		||||
(include "./modules/workspaces.yuck")
 | 
			
		||||
 | 
			
		||||
(include "./windows/calendar.yuck")
 | 
			
		||||
(include "./windows/system.yuck")
 | 
			
		||||
 | 
			
		||||
(defwidget left []
 | 
			
		||||
  (box
 | 
			
		||||
    :space-evenly false
 | 
			
		||||
    :halign "start"
 | 
			
		||||
    (workspaces)))
 | 
			
		||||
 | 
			
		||||
(defwidget right []
 | 
			
		||||
  (box
 | 
			
		||||
    :space-evenly false
 | 
			
		||||
    :halign "end"
 | 
			
		||||
    (sys)
 | 
			
		||||
    (clock_module)))
 | 
			
		||||
 | 
			
		||||
(defwidget center []
 | 
			
		||||
  (box
 | 
			
		||||
    :space-evenly false
 | 
			
		||||
    :halign "center"
 | 
			
		||||
    ))
 | 
			
		||||
 | 
			
		||||
(defwidget bar-box []
 | 
			
		||||
  (centerbox
 | 
			
		||||
    (left)
 | 
			
		||||
    (center)
 | 
			
		||||
    (right)))
 | 
			
		||||
 | 
			
		||||
(defwindow bar
 | 
			
		||||
    :monitor 0
 | 
			
		||||
    :geometry (geometry :x "0%"
 | 
			
		||||
      :y "0%"
 | 
			
		||||
      :width "100%"
 | 
			
		||||
      :height "32px"
 | 
			
		||||
      :anchor "top center")
 | 
			
		||||
    :stacking "fg"
 | 
			
		||||
    :exclusive true
 | 
			
		||||
  (bar-box))
 | 
			
		||||
							
								
								
									
										24
									
								
								home/gui/eww/modules/clock.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								home/gui/eww/modules/clock.yuck
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
(defvar date_rev false)
 | 
			
		||||
 | 
			
		||||
(defwidget clock_module []
 | 
			
		||||
  (eventbox
 | 
			
		||||
    :onhover "${EWW_CMD} update date_rev=true"
 | 
			
		||||
    :onhoverlost "${EWW_CMD} update date_rev=false"
 | 
			
		||||
    (overlay
 | 
			
		||||
      :class "module"
 | 
			
		||||
      (box
 | 
			
		||||
        :space-evenly false
 | 
			
		||||
        (label
 | 
			
		||||
          :text {time.hour}
 | 
			
		||||
          :class "hour")
 | 
			
		||||
        (label
 | 
			
		||||
          :text ":")
 | 
			
		||||
        (label
 | 
			
		||||
          :text {time.minute}
 | 
			
		||||
          :class "minute"))
 | 
			
		||||
      (revealer
 | 
			
		||||
        :reveal date_rev
 | 
			
		||||
        (button
 | 
			
		||||
          :class "date"
 | 
			
		||||
          :onclick "${EWW_CMD} open --toggle calendar"
 | 
			
		||||
          {time.date})))))
 | 
			
		||||
							
								
								
									
										7
									
								
								home/gui/eww/modules/net.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								home/gui/eww/modules/net.yuck
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
(defwidget net []
 | 
			
		||||
  (button
 | 
			
		||||
    :class "module icon"
 | 
			
		||||
    :onclick "gnome-control-center &"
 | 
			
		||||
    :tooltip {net.name}
 | 
			
		||||
    :style "color: ${net.color};"
 | 
			
		||||
    {net.icon}))
 | 
			
		||||
							
								
								
									
										30
									
								
								home/gui/eww/modules/sys.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								home/gui/eww/modules/sys.yuck
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
(defwidget sys []
 | 
			
		||||
  (box
 | 
			
		||||
    :class "module"
 | 
			
		||||
    :space-evenly false
 | 
			
		||||
    :spacing 5
 | 
			
		||||
    (circular-progress
 | 
			
		||||
      :value {EWW_CPU.avg}
 | 
			
		||||
      :class "cpubar"
 | 
			
		||||
      :thickness 3
 | 
			
		||||
      (button
 | 
			
		||||
        :onclick "${EWW_CMD} open --toggle system-menu"
 | 
			
		||||
        (label :class "icon-text" :text "")))
 | 
			
		||||
 | 
			
		||||
    (circular-progress
 | 
			
		||||
      :value {memory.percent}
 | 
			
		||||
      :class "membar"
 | 
			
		||||
      :thickness 3
 | 
			
		||||
      (button
 | 
			
		||||
        :onclick "${EWW_CMD} open --toggle system-menu"
 | 
			
		||||
        (label :class "icon-text" :text "")))
 | 
			
		||||
 | 
			
		||||
    (circular-progress
 | 
			
		||||
      :value {battery.percentage}
 | 
			
		||||
      :class "batbar"
 | 
			
		||||
      :style "color: ${battery.color};"
 | 
			
		||||
      :thickness 3
 | 
			
		||||
      (button
 | 
			
		||||
        :tooltip "${battery.percentage}%"
 | 
			
		||||
        :onclick "${EWW_CMD} open --toggle system-menu"
 | 
			
		||||
        (label :class "icon-text" :text "")))))
 | 
			
		||||
							
								
								
									
										17
									
								
								home/gui/eww/modules/variables.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										17
									
								
								home/gui/eww/modules/variables.yuck
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
(defvar bright_reveal false)
 | 
			
		||||
(defvar bt_rev false)
 | 
			
		||||
(defvar net_rev false)
 | 
			
		||||
(defvar time_rev false)
 | 
			
		||||
(defvar vol_reveal false)
 | 
			
		||||
 | 
			
		||||
(defpoll time :interval "5s" `date +'{"date": "%d/%m", "hour": "%H", "minute": "%M", "day": "%A"}'`)
 | 
			
		||||
 | 
			
		||||
(deflisten flightmode "scripts/flightmode")
 | 
			
		||||
(deflisten powermode "scripts/powermode")
 | 
			
		||||
(deflisten battery "scripts/battery")
 | 
			
		||||
(deflisten bluetooth "scripts/bluetooth")
 | 
			
		||||
(deflisten brightness "scripts/brightness")
 | 
			
		||||
(deflisten memory "scripts/memory")
 | 
			
		||||
(deflisten net "scripts/net")
 | 
			
		||||
(deflisten volume "scripts/volume")
 | 
			
		||||
(deflisten workspace "scripts/workspaces")
 | 
			
		||||
							
								
								
									
										13
									
								
								home/gui/eww/modules/workspaces.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								home/gui/eww/modules/workspaces.yuck
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
(defwidget workspaces []
 | 
			
		||||
  (eventbox
 | 
			
		||||
		:onscroll "echo {} | sed -e \"s/up/-1/g\" -e \"s/down/+1/g\" | xargs hyprctl dispatch workspace"
 | 
			
		||||
		(box
 | 
			
		||||
			:class "module workspaces"
 | 
			
		||||
		  (for ws in workspace
 | 
			
		||||
		    (button
 | 
			
		||||
					:onclick "hyprctl dispatch workspace ${ws.number}"
 | 
			
		||||
					:class "ws icon ${ws.color}"
 | 
			
		||||
					; :tooltip {ws.tooltip}
 | 
			
		||||
					(box
 | 
			
		||||
						:class `${ws.focused ? "focused" : ""}`
 | 
			
		||||
						:height 3))))))
 | 
			
		||||
							
								
								
									
										61
									
								
								home/gui/eww/scripts/battery
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								home/gui/eww/scripts/battery
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
icons=("" "" "" "" "" "" "" "" "" "" "")
 | 
			
		||||
num_icons=$(awk -v n="${#icons[@]}" 'BEGIN{print 100 / n}')
 | 
			
		||||
BATTERY="/sys/class/power_supply/BAT0"
 | 
			
		||||
 | 
			
		||||
geticon() {
 | 
			
		||||
  level=$(awk -v n="$CAPACITY" -v c="$num_icons" 'BEGIN{print int(n/c-1)}')
 | 
			
		||||
  echo "${icons[$level]}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
status() {
 | 
			
		||||
  if [ "$STATE" = "Charging" ]; then
 | 
			
		||||
    echo -n "charging"
 | 
			
		||||
 | 
			
		||||
    if [ "$RATE" -gt 0 ]; then
 | 
			
		||||
      echo ", $(gettime) left"
 | 
			
		||||
    else
 | 
			
		||||
      echo ""
 | 
			
		||||
    fi
 | 
			
		||||
  elif [ "$STATE" = "Discharging" ]; then
 | 
			
		||||
    echo "$(gettime)h left"
 | 
			
		||||
  else
 | 
			
		||||
    echo "fully charged"
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
color() {
 | 
			
		||||
  [ "$CAPACITY" -le 20 ] && echo '#f38ba8' || echo '#a6e3a1'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
wattage() {
 | 
			
		||||
  awk -v rate="$RATE" -v uw="1000000" 'BEGIN{print sprintf("%.1f W", rate/uw)}'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gettime() {
 | 
			
		||||
  FULL=$(cat $BATTERY/energy_full)
 | 
			
		||||
  NOW=$(cat $BATTERY/energy_now)
 | 
			
		||||
 | 
			
		||||
  if [ "$RATE" -gt 0 ]; then
 | 
			
		||||
    if [ "$STATE" = "Discharging" ]; then
 | 
			
		||||
      EX="$NOW / $RATE"
 | 
			
		||||
    else
 | 
			
		||||
      EX="($FULL - $NOW) / $RATE"
 | 
			
		||||
    fi
 | 
			
		||||
    date -u -d@"$(awk -v ex="$EX" 'BEGIN{print ex * 3600}')" +%H:%M
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if [ -d "$BATTERY" ]; then
 | 
			
		||||
  while true; do
 | 
			
		||||
    RATE=$(cat $BATTERY/power_now)
 | 
			
		||||
    CAPACITY=$(cat $BATTERY/capacity)
 | 
			
		||||
    STATE=$(cat $BATTERY/status)
 | 
			
		||||
 | 
			
		||||
    echo '{ "icon": "'$(geticon)'", "percentage": '$CAPACITY', "wattage": "'$(wattage)'", "status": "'$(status)'", "color": "'$(color)'" }'
 | 
			
		||||
    sleep 5
 | 
			
		||||
  done
 | 
			
		||||
else
 | 
			
		||||
  echo '{ "icon": "", "percentage": 0, "wattage": "", "status": "", "color": "#a6e3a1" }'
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										30
									
								
								home/gui/eww/scripts/brightness
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								home/gui/eww/scripts/brightness
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
function get_time_ms {
 | 
			
		||||
  date -u +%s%3N
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
icons=("" "" "")
 | 
			
		||||
 | 
			
		||||
gen_output() {
 | 
			
		||||
  icon="${icons[$(awk -v n="$(brillo)" 'BEGIN{print int(n/34)}')]}"
 | 
			
		||||
  prcnt=$(brillo | xargs printf "%.*f\n" "0")
 | 
			
		||||
  echo '{"percent": '$prcnt', "icon": "'$icon'"}'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if [[ $(brillo 2>/dev/stdout 1>/dev/null | head -n1 | awk '{print $1}') == "No" ]]; then
 | 
			
		||||
  echo  '{"percent":  100, "icon": ""}'
 | 
			
		||||
elif [ "$1" = "" ]; then
 | 
			
		||||
  # initial
 | 
			
		||||
  last_time=$(get_time_ms)
 | 
			
		||||
  gen_output
 | 
			
		||||
 | 
			
		||||
  udevadm monitor | rg --line-buffered "backlight" | while read -r _; do
 | 
			
		||||
    current_time=$(get_time_ms)
 | 
			
		||||
    delta=$((current_time - last_time))
 | 
			
		||||
    if [[ $delta -gt 50 ]]; then
 | 
			
		||||
      gen_output
 | 
			
		||||
      last_time=$(get_time_ms)
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										23
									
								
								home/gui/eww/scripts/flightmode
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								home/gui/eww/scripts/flightmode
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
icon() {
 | 
			
		||||
  [ "$STATUS" = "no" ] && echo "" || echo ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
toggle() {
 | 
			
		||||
  if [ "$STATUS" = "no" ]; then
 | 
			
		||||
    rfkill block all
 | 
			
		||||
  else
 | 
			
		||||
    rfkill unblock all
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if [ "$1" = "toggle" ]; then
 | 
			
		||||
  toggle
 | 
			
		||||
else
 | 
			
		||||
  icon
 | 
			
		||||
  rfkill event | while read -r _; do
 | 
			
		||||
    STATUS="$(rfkill list | sed -n 2p | awk '{print $3}')"
 | 
			
		||||
    icon
 | 
			
		||||
  done
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										14
									
								
								home/gui/eww/scripts/memory
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								home/gui/eww/scripts/memory
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
total="$(free --si | rg Mem | awk '{print $2}')"
 | 
			
		||||
 | 
			
		||||
human() {
 | 
			
		||||
  awk -v mem="$1" 'BEGIN{print sprintf("%.1f%s", mem/1000/(mem > 1000000 ? 1000 : 1), mem > 1000000 ? "G" : "M")}'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
free --si -s 3 | rg --line-buffered Mem | while read -r line; do
 | 
			
		||||
  used=$(echo "$line" | awk '{print $3}')
 | 
			
		||||
  perc=$(awk -v used="$used" -v total="$total" 'BEGIN{print sprintf("%.f", used/total*100)}')
 | 
			
		||||
 | 
			
		||||
  echo '{"total": "'$(human "$total")'", "used": "'$(human "$used")'", "percent": '$perc'}'
 | 
			
		||||
done
 | 
			
		||||
							
								
								
									
										72
									
								
								home/gui/eww/scripts/net
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										72
									
								
								home/gui/eww/scripts/net
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,72 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
function get_time_ms {
 | 
			
		||||
  date -u +%s%3N
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
icons=("" "" "" "" "")
 | 
			
		||||
 | 
			
		||||
function toggle() {
 | 
			
		||||
  status=$(rfkill | grep wlan | awk '{print $4}')
 | 
			
		||||
 | 
			
		||||
  if [ "$status" = "unblocked" ]; then
 | 
			
		||||
    rfkill block wlan
 | 
			
		||||
  else
 | 
			
		||||
    rfkill unblock wlan
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function gen_wifi() {
 | 
			
		||||
  signal=$(cat /proc/net/wireless | head -n3 | tail -n1 | awk '{print $3}')
 | 
			
		||||
  level=$(awk -v n="$signal" 'BEGIN{print int((n-1)/20)}')
 | 
			
		||||
  if [ "$level" -gt 4 ]; then
 | 
			
		||||
    level=4
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  icon=${icons[$level]}
 | 
			
		||||
  color="#cba6f7"
 | 
			
		||||
  class="net-connected"
 | 
			
		||||
  name=$(wpa_cli status | grep \^ssid= | sed 's/ssid=//g')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function gen_ethernet() {
 | 
			
		||||
  icon=""
 | 
			
		||||
  class="net-connected"
 | 
			
		||||
  color="#cba6f7"
 | 
			
		||||
  name=Wired
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function make_content() {
 | 
			
		||||
  local ethernet wifi
 | 
			
		||||
  ethernet=$(ip link | rg "^[0-9]+: en[po]+" | head -n1 | sed 's/[a-zA-Z0-9_,><:\ -]*state //g' | sed 's/ mode [a-zA-Z0-9 ]*//g')
 | 
			
		||||
  wifi=$(wpa_cli status | rg "^wpa_state=" | sed 's/wpa_state=//g')
 | 
			
		||||
 | 
			
		||||
  # test ethernet first
 | 
			
		||||
  if [[ $ethernet == "UP" ]]; then
 | 
			
		||||
    gen_ethernet
 | 
			
		||||
  elif [[ $wifi == "COMPLETED" ]]; then
 | 
			
		||||
    gen_wifi
 | 
			
		||||
  else
 | 
			
		||||
    icon=""
 | 
			
		||||
    color="#988ba2"
 | 
			
		||||
    class="net-disconnected"
 | 
			
		||||
    name="Disconnected"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  echo '{"icon": "'$icon'", "name": "'$name'", "color": "'$color'", "class": "'$class'"}'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if [ "$1" = "toggle" ]; then
 | 
			
		||||
  toggle
 | 
			
		||||
else
 | 
			
		||||
  last_time=$(get_time_ms)
 | 
			
		||||
  make_content
 | 
			
		||||
  ip monitor | while read -r _; do
 | 
			
		||||
    current_time=$(get_time_ms)
 | 
			
		||||
    delta=$((current_time - last_time))
 | 
			
		||||
    if [[ $delta -gt 50 ]]; then
 | 
			
		||||
      make_content
 | 
			
		||||
      last_time=$(get_time_ms)
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										20
									
								
								home/gui/eww/scripts/powermode
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								home/gui/eww/scripts/powermode
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
icon() {
 | 
			
		||||
  [ "$STATUS" = "no" ] && echo "" || echo ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
toggle() {
 | 
			
		||||
  if [ "$STATUS" = "no" ]; then
 | 
			
		||||
    echo ""
 | 
			
		||||
  else
 | 
			
		||||
    echo ""
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if [ "$1" = "toggle" ]; then
 | 
			
		||||
  toggle
 | 
			
		||||
  icon
 | 
			
		||||
else
 | 
			
		||||
  icon
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										64
									
								
								home/gui/eww/scripts/volume
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										64
									
								
								home/gui/eww/scripts/volume
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
function get_time_ms {
 | 
			
		||||
  date -u +%s%3N
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
volicons=("" "" "")
 | 
			
		||||
 | 
			
		||||
vol() {
 | 
			
		||||
  wpctl get-volume @DEFAULT_AUDIO_"$1"@ | awk '{print int($2*100)}'
 | 
			
		||||
}
 | 
			
		||||
ismuted() {
 | 
			
		||||
  wpctl get-volume @DEFAULT_AUDIO_"$1"@ | rg -qi muted
 | 
			
		||||
  echo -n $?
 | 
			
		||||
}
 | 
			
		||||
setvol() {
 | 
			
		||||
  wpctl set-volume @DEFAULT_AUDIO_"$1"@ "$(awk -v n="$2" 'BEGIN{print (n / 100)}')"
 | 
			
		||||
}
 | 
			
		||||
setmute() {
 | 
			
		||||
  wpctl set-mute @DEFAULT_AUDIO_"$1"@ toggle
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gen_output() {
 | 
			
		||||
  percent="$(vol "SINK")"
 | 
			
		||||
  lvl=$(awk -v n="$percent" 'BEGIN{print int(n/34)}')
 | 
			
		||||
  ismuted=$(ismuted "SINK")
 | 
			
		||||
 | 
			
		||||
  if [ "$ismuted" = 1 ]; then
 | 
			
		||||
    icon="${volicons[$lvl]}"
 | 
			
		||||
  else
 | 
			
		||||
    icon=""
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  echo '{"icon": "'$icon'", "percent": '$(vol "SINK")', "microphone": '$(vol "SOURCE")'}'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if [ "$1" = "mute" ]; then
 | 
			
		||||
  if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then
 | 
			
		||||
    echo "Can only mute SINK or SOURCE"
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  setmute "$2"
 | 
			
		||||
elif [ "$1" = "setvol" ]; then
 | 
			
		||||
  if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then
 | 
			
		||||
    echo "Can only set volume for SINK or SOURCE"
 | 
			
		||||
    exit 1
 | 
			
		||||
  elif [ "$3" -lt 0 ] || [ "$3" -gt 100 ]; then
 | 
			
		||||
    echo "Volume must be between 0 and 100"
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  setvol "$2" "$3"
 | 
			
		||||
else
 | 
			
		||||
  last_time=$(get_time_ms)
 | 
			
		||||
  gen_output
 | 
			
		||||
 | 
			
		||||
  pw-cli -m 2>/dev/null | rg --line-buffered "PipeWire:Interface:Client" | while read -r event; do
 | 
			
		||||
    current_time=$(get_time_ms)
 | 
			
		||||
    delta=$((current_time - last_time))
 | 
			
		||||
    if [[ $delta -gt 50 ]]; then
 | 
			
		||||
      gen_output
 | 
			
		||||
      last_time=$(get_time_ms)
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										86
									
								
								home/gui/eww/scripts/workspaces
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										86
									
								
								home/gui/eww/scripts/workspaces
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,86 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
colors=("blue" "orange" "green" "red")
 | 
			
		||||
empty="grey"
 | 
			
		||||
 | 
			
		||||
# get initial focused workspace
 | 
			
		||||
focusedws=$(hyprctl -j monitors | jaq -r '.[] | select(.focused == true) | .activeWorkspace.id')
 | 
			
		||||
 | 
			
		||||
declare -A o=([1]=0 [2]=0 [3]=0 [4]=0 [5]=0 [6]=0 [7]=0 [8]=0 [9]=0 [10]=0)
 | 
			
		||||
declare -A monitormap
 | 
			
		||||
declare -A workspaces
 | 
			
		||||
 | 
			
		||||
# set color for each workspace
 | 
			
		||||
status() {
 | 
			
		||||
  if [ "${o[$1]}" -eq 1 ]; then
 | 
			
		||||
    mon=${monitormap[${workspaces[$1]}]}
 | 
			
		||||
    echo -n "${colors[$mon]}"
 | 
			
		||||
  else
 | 
			
		||||
    echo -n "$empty"
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# handle workspace create/destroy
 | 
			
		||||
workspace_event() {
 | 
			
		||||
  while read -r k v; do workspaces[$k]="$v"; done < <(hyprctl -j workspaces | jaq -jr '.[] | .id, " ", .monitor, "\n"')
 | 
			
		||||
}
 | 
			
		||||
# handle monitor (dis)connects
 | 
			
		||||
monitor_event() {
 | 
			
		||||
  while read -r k v; do monitormap["$k"]=$v; done < <(hyprctl -j monitors | jaq -jr '.[] | .name, " ", .id, "\n"')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# get all apps titles in a workspace
 | 
			
		||||
applist() {
 | 
			
		||||
  ws="$1"
 | 
			
		||||
 | 
			
		||||
  apps=$(hyprctl -j clients | jaq -jr '.[] | select(.workspace.id == '"$ws"') | .title + "\\n"')
 | 
			
		||||
  echo -En "${apps%"\n"}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# generate the json for eww
 | 
			
		||||
generate() {
 | 
			
		||||
  echo -n '['
 | 
			
		||||
 | 
			
		||||
  for i in {1..10}; do
 | 
			
		||||
    echo -n ''"$([ "$i" -eq 1 ] || echo ,)" '{"number": "'"$i"'", "color": "'"$(status "$i")"'", "focused": '"$([ "$focusedws" = "$i" ] && echo "true" || echo "false")"'}' #, "tooltip": "'$(applist "$i")'" }'
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  echo ']'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# setup
 | 
			
		||||
 | 
			
		||||
# add monitors
 | 
			
		||||
monitor_event
 | 
			
		||||
 | 
			
		||||
# add workspaces
 | 
			
		||||
workspace_event
 | 
			
		||||
 | 
			
		||||
# check occupied workspaces
 | 
			
		||||
for num in "${!workspaces[@]}"; do
 | 
			
		||||
  o[$num]=1
 | 
			
		||||
done
 | 
			
		||||
# generate initial widget
 | 
			
		||||
generate
 | 
			
		||||
 | 
			
		||||
# main loop
 | 
			
		||||
socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | rg --line-buffered "workspace|mon(itor)?" | while read -r line; do
 | 
			
		||||
  case ${line%>>*} in
 | 
			
		||||
  "workspace")
 | 
			
		||||
    focusedws=${line#*>>}
 | 
			
		||||
    ;;
 | 
			
		||||
  "focusedmon")
 | 
			
		||||
    focusedws=${line#*,}
 | 
			
		||||
    ;;
 | 
			
		||||
  "createworkspace")
 | 
			
		||||
    o[${line#*>>}]=1
 | 
			
		||||
    ;;
 | 
			
		||||
  "destroyworkspace")
 | 
			
		||||
    o[${line#*>>}]=0
 | 
			
		||||
    ;;
 | 
			
		||||
  "monitor"*)
 | 
			
		||||
    monitor_event
 | 
			
		||||
    ;;
 | 
			
		||||
  esac
 | 
			
		||||
  generate
 | 
			
		||||
done
 | 
			
		||||
							
								
								
									
										14
									
								
								home/gui/eww/windows/calendar.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								home/gui/eww/windows/calendar.yuck
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
(defwidget calendar-win []
 | 
			
		||||
  (box
 | 
			
		||||
    :class "calendar-win"
 | 
			
		||||
    (calendar)))
 | 
			
		||||
 | 
			
		||||
(defwindow calendar
 | 
			
		||||
  :monitor 0
 | 
			
		||||
  :geometry (geometry
 | 
			
		||||
    :x "0%"
 | 
			
		||||
    :y "0%"
 | 
			
		||||
  	:anchor "top right"
 | 
			
		||||
    :width "0px"
 | 
			
		||||
    :height "0px")
 | 
			
		||||
  (calendar-win))
 | 
			
		||||
							
								
								
									
										188
									
								
								home/gui/eww/windows/system.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										188
									
								
								home/gui/eww/windows/system.yuck
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,188 @@
 | 
			
		||||
(defwidget system-menu []
 | 
			
		||||
  (box
 | 
			
		||||
    :class "system-menu-box"
 | 
			
		||||
    :space-evenly false
 | 
			
		||||
    :orientation "v"
 | 
			
		||||
    (centerbox
 | 
			
		||||
      :class "top-row"
 | 
			
		||||
      (box
 | 
			
		||||
        (label
 | 
			
		||||
          :class "time"
 | 
			
		||||
          :text "${time.hour}:${time.minute}")
 | 
			
		||||
        (box
 | 
			
		||||
          :class "date-box"
 | 
			
		||||
          :space-evenly false
 | 
			
		||||
          (label
 | 
			
		||||
            :class "date"
 | 
			
		||||
            :text {time.date}
 | 
			
		||||
          )
 | 
			
		||||
          (label
 | 
			
		||||
            :class "day"
 | 
			
		||||
            :text {time.day}
 | 
			
		||||
          )
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
      (label)
 | 
			
		||||
      (box
 | 
			
		||||
        :space-evenly false
 | 
			
		||||
        :halign "end"
 | 
			
		||||
        (button
 | 
			
		||||
          :halign "end"
 | 
			
		||||
          :class "power-button icon"
 | 
			
		||||
          :onclick "wlogout -p layer-shell -c 10 -m 500 &"
 | 
			
		||||
          ""
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    (centerbox
 | 
			
		||||
      :class "system-row"
 | 
			
		||||
      (box
 | 
			
		||||
        :class "net-box"
 | 
			
		||||
        :space-evenly false
 | 
			
		||||
        :orientation "v"
 | 
			
		||||
        (box
 | 
			
		||||
          :class "element icon ${net.class}"
 | 
			
		||||
          (button
 | 
			
		||||
            :class "net-button"
 | 
			
		||||
            :onclick "scripts/net toggle"
 | 
			
		||||
            {net.icon}
 | 
			
		||||
          )
 | 
			
		||||
        )
 | 
			
		||||
        (label
 | 
			
		||||
          :text {net.name}
 | 
			
		||||
          :xalign 0.5
 | 
			
		||||
          :limit-width 15
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
 | 
			
		||||
      (box
 | 
			
		||||
        :class "flightmode-box"
 | 
			
		||||
        :space-evenly false
 | 
			
		||||
        :orientation "v"
 | 
			
		||||
        (box
 | 
			
		||||
          :class "element"
 | 
			
		||||
          (button
 | 
			
		||||
            :class "flightmode-button"
 | 
			
		||||
            :onclick "scripts/flightmode toggle"
 | 
			
		||||
            flightmode
 | 
			
		||||
          )
 | 
			
		||||
        )
 | 
			
		||||
        (label
 | 
			
		||||
          :text "Flight Mode"
 | 
			
		||||
          :xalign 0.5
 | 
			
		||||
          :limit-width 16
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
 | 
			
		||||
      (box
 | 
			
		||||
        :class "powermode-box"
 | 
			
		||||
        :space-evenly false
 | 
			
		||||
        :orientation "v"
 | 
			
		||||
        (box
 | 
			
		||||
          :class "element"
 | 
			
		||||
          (button
 | 
			
		||||
            :class "powermode-button"
 | 
			
		||||
            :onclick "scripts/powermode toggle"
 | 
			
		||||
            powermode))
 | 
			
		||||
        (label
 | 
			
		||||
          :text "Power Mode"
 | 
			
		||||
          :xalign 0.5
 | 
			
		||||
          :limit-width 16)))
 | 
			
		||||
 | 
			
		||||
    (box
 | 
			
		||||
      :class "sliders"
 | 
			
		||||
      :orientation "v"
 | 
			
		||||
      (box
 | 
			
		||||
        :class "volume-slider-box"
 | 
			
		||||
        :space-evenly false
 | 
			
		||||
        (button
 | 
			
		||||
          :class "volume-icon icon"
 | 
			
		||||
          :onclick "scripts/volume mute SINK"
 | 
			
		||||
          {volume.icon})
 | 
			
		||||
        (scale
 | 
			
		||||
          :class "volume-bar"
 | 
			
		||||
          :value {volume.percent}
 | 
			
		||||
          :onchange "scripts/volume setvol SINK {}"))
 | 
			
		||||
      (box
 | 
			
		||||
        :class "brightness-slider-box"
 | 
			
		||||
        :space-evenly false
 | 
			
		||||
        (button
 | 
			
		||||
          :class "brightness-slider-icon icon"
 | 
			
		||||
          {brightness.icon})
 | 
			
		||||
        (scale
 | 
			
		||||
          :class "brightness-bar" 
 | 
			
		||||
          :value {brightness.percent}
 | 
			
		||||
          :onchange "brillo -S {}")))
 | 
			
		||||
 | 
			
		||||
    (box
 | 
			
		||||
      :class "system-info-box"
 | 
			
		||||
 | 
			
		||||
      ; cpu
 | 
			
		||||
      (box
 | 
			
		||||
        :class "sys-box"
 | 
			
		||||
        :space-evenly false
 | 
			
		||||
        :halign "start"
 | 
			
		||||
        (circular-progress
 | 
			
		||||
          :value "${EWW_CPU.avg}"
 | 
			
		||||
          :class "sys-cpu"
 | 
			
		||||
          :thickness 3
 | 
			
		||||
          (label
 | 
			
		||||
            :text ""
 | 
			
		||||
            :class "sys-icon-cpu icon"))
 | 
			
		||||
        (box
 | 
			
		||||
          :orientation "v"
 | 
			
		||||
          :vexpand false
 | 
			
		||||
          (label
 | 
			
		||||
            :text "CPU"
 | 
			
		||||
            :halign "start"
 | 
			
		||||
            :class "sys-text-cpu")
 | 
			
		||||
          (label
 | 
			
		||||
            :text "${round(EWW_CPU.avg,2)}%"
 | 
			
		||||
            :halign "start"
 | 
			
		||||
            :class "sys-text-sub")
 | 
			
		||||
          (label
 | 
			
		||||
            :text "${EWW_CPU.cores[0].freq} MHz"
 | 
			
		||||
            :halign "start"
 | 
			
		||||
            :class "sys-text-sub")))
 | 
			
		||||
 | 
			
		||||
      ; memory
 | 
			
		||||
      (box
 | 
			
		||||
        :class "sys-box"
 | 
			
		||||
        :space-evenly false
 | 
			
		||||
        :halign "end"
 | 
			
		||||
        (circular-progress
 | 
			
		||||
          :value {memory.percent}
 | 
			
		||||
          :class "sys-mem"
 | 
			
		||||
          :thickness 3
 | 
			
		||||
          (label
 | 
			
		||||
            :text ""
 | 
			
		||||
            :class "sys-icon-mem icon"))
 | 
			
		||||
        (box
 | 
			
		||||
          :orientation "v"
 | 
			
		||||
          (label
 | 
			
		||||
            :text "RAM"
 | 
			
		||||
            :halign "start"
 | 
			
		||||
            :class "sys-text-mem")
 | 
			
		||||
          (label
 | 
			
		||||
            :text "${memory.used} | ${memory.total}"
 | 
			
		||||
            :halign "start"
 | 
			
		||||
            :class "sys-text-sub"
 | 
			
		||||
          )
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
    )
 | 
			
		||||
    (label)
 | 
			
		||||
  )
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
(defwindow system-menu
 | 
			
		||||
  :stacking "fg" 
 | 
			
		||||
  :monitor 0
 | 
			
		||||
  :geometry (geometry
 | 
			
		||||
    :x "0"
 | 
			
		||||
    :y "0"
 | 
			
		||||
    :width "0%"
 | 
			
		||||
    :height "0%"
 | 
			
		||||
    :anchor "right top")
 | 
			
		||||
  (system-menu))
 | 
			
		||||
							
								
								
									
										23
									
								
								home/gui/firefox/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								home/gui/firefox/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  programs.firefox = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    profiles = {
 | 
			
		||||
      main = {
 | 
			
		||||
        id = 0;
 | 
			
		||||
        settings = {
 | 
			
		||||
          "browser.uidensity" = 1;
 | 
			
		||||
          "privacy.trackingprotection.enabled" = true;
 | 
			
		||||
          "privacy.trackingprotection.socialtracking.enabled" = true;
 | 
			
		||||
          "privacy.trackingprotection.socialtracking.annotate.enabled" = true;
 | 
			
		||||
          "services.sync.declinedEngines" = "passwords";
 | 
			
		||||
          "services.sync.engine.passwords" = false;
 | 
			
		||||
          "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
 | 
			
		||||
        };
 | 
			
		||||
        userChrome = builtins.readFile ./userChrome.css;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 }
 | 
			
		||||
							
								
								
									
										14
									
								
								home/gui/firefox/userChrome.css
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								home/gui/firefox/userChrome.css
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar > .toolbar-items {
 | 
			
		||||
    opacity: 0;
 | 
			
		||||
    pointer-events: none;
 | 
			
		||||
}
 | 
			
		||||
#main-window:not([tabsintitlebar="true"]) #TabsToolbar {
 | 
			
		||||
    visibility: collapse !important;
 | 
			
		||||
}
 | 
			
		||||
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
 | 
			
		||||
    display: none;
 | 
			
		||||
}
 | 
			
		||||
.tab {
 | 
			
		||||
    margin-left: 1px;
 | 
			
		||||
    margin-right: 1px;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										61
									
								
								home/gui/kitty/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								home/gui/kitty/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  programs.kitty = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    settings = {
 | 
			
		||||
        foreground = "#${config.colorScheme.colors.base07}";
 | 
			
		||||
        background = "#${config.colorScheme.colors.base00}";
 | 
			
		||||
        selection_foreground = "#${config.colorScheme.colors.base07}";
 | 
			
		||||
        selection_background = "#${config.colorScheme.colors.base03}";
 | 
			
		||||
        background_opacity = "0.9";
 | 
			
		||||
        
 | 
			
		||||
        cursor = "#${config.colorScheme.colors.base05}";
 | 
			
		||||
        cursor_text_color = "#${config.colorScheme.colors.base01}"; 
 | 
			
		||||
        
 | 
			
		||||
        url_color = "#${config.colorScheme.colors.base05}";
 | 
			
		||||
 | 
			
		||||
        active_border_color = "#${config.colorScheme.colors.base05}";
 | 
			
		||||
        inactive_border_color = "#${config.colorScheme.colors.base03}";
 | 
			
		||||
        bell_border_color = "#${config.colorScheme.colors.base09}";
 | 
			
		||||
 | 
			
		||||
        wayland_titlebar_color = "system";
 | 
			
		||||
        macos_titlebar_color = "system";
 | 
			
		||||
 | 
			
		||||
        active_tab_foreground = "#${config.colorScheme.colors.base0C}";
 | 
			
		||||
        active_tab_background = "#${config.colorScheme.colors.base01}";
 | 
			
		||||
        inactive_tab_foreground = "#${config.colorScheme.colors.base06}";
 | 
			
		||||
        inactive_tab_background = "#${config.colorScheme.colors.base00}";
 | 
			
		||||
        tab_bar_background =  "#${config.colorScheme.colors.base02}";
 | 
			
		||||
 | 
			
		||||
        mark1_foreground = "#${config.colorScheme.colors.base00}";
 | 
			
		||||
        mark1_background = "#${config.colorScheme.colors.base0C}";
 | 
			
		||||
        mark2_foreground = "#${config.colorScheme.colors.base00}";
 | 
			
		||||
        mark2_background = "#${config.colorScheme.colors.base0E}";
 | 
			
		||||
        mark3_foreground = "#${config.colorScheme.colors.base00}";
 | 
			
		||||
        mark3_background = "#${config.colorScheme.colors.base0A}";
 | 
			
		||||
 | 
			
		||||
        color0=  "#${config.colorScheme.colors.base00}";
 | 
			
		||||
        color1=  "#${config.colorScheme.colors.base01}";
 | 
			
		||||
        color2=  "#${config.colorScheme.colors.base02}";
 | 
			
		||||
        color3=  "#${config.colorScheme.colors.base03}";
 | 
			
		||||
        color4=  "#${config.colorScheme.colors.base04}";
 | 
			
		||||
        color5=  "#${config.colorScheme.colors.base05}";
 | 
			
		||||
        color6=  "#${config.colorScheme.colors.base06}";
 | 
			
		||||
        color7=  "#${config.colorScheme.colors.base07}";
 | 
			
		||||
        color8=  "#${config.colorScheme.colors.base08}";
 | 
			
		||||
        color9=  "#${config.colorScheme.colors.base09}";
 | 
			
		||||
        color10= "#${config.colorScheme.colors.base0A}";
 | 
			
		||||
        color11= "#${config.colorScheme.colors.base0B}";
 | 
			
		||||
        color12= "#${config.colorScheme.colors.base0C}";
 | 
			
		||||
        color13= "#${config.colorScheme.colors.base0D}";
 | 
			
		||||
        color14= "#${config.colorScheme.colors.base0E}";
 | 
			
		||||
        color15= "#${config.colorScheme.colors.base0F}";
 | 
			
		||||
  
 | 
			
		||||
        font_size = 12;
 | 
			
		||||
        window-padding-width = 15;
 | 
			
		||||
        # ...
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										11
									
								
								home/gui/mpv/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								home/gui/mpv/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  programs.mpv = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    scripts = with pkgs; [
 | 
			
		||||
      mpvScripts.mpris
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										31
									
								
								home/gui/pipewire/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								home/gui/pipewire/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
{
 | 
			
		||||
    ...
 | 
			
		||||
}:{
 | 
			
		||||
 | 
			
		||||
  xdg.configFile."pipewire/pipewire-pulse.conf.d/desktop.conf".text = ''
 | 
			
		||||
  context.modules = [
 | 
			
		||||
    {   name = libpipewire-module-loopback
 | 
			
		||||
        args = {
 | 
			
		||||
            node.description = "Desktop"
 | 
			
		||||
            node.name = "Desktop"
 | 
			
		||||
            audio.position = [ FL FR ]
 | 
			
		||||
            capture.props = {
 | 
			
		||||
                media.class = Audio/Sink
 | 
			
		||||
                node.name = "Desktop"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    {   name = libpipewire-module-loopback
 | 
			
		||||
        args = {
 | 
			
		||||
            node.description = "Music"
 | 
			
		||||
            node.name = "Music"
 | 
			
		||||
            audio.position = [ FL FR ]
 | 
			
		||||
            capture.props = {
 | 
			
		||||
                media.class = Audio/Sink
 | 
			
		||||
                node.name = "Music"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
  '';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										40
									
								
								home/gui/theme/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										40
									
								
								home/gui/theme/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
{ 
 | 
			
		||||
  pkgs, 
 | 
			
		||||
  inputs, 
 | 
			
		||||
  config,
 | 
			
		||||
  ... 
 | 
			
		||||
}:
 | 
			
		||||
let 
 | 
			
		||||
  colorVariant = " black";
 | 
			
		||||
  gtkThemeFromScheme = import ./gtk-theme-gen.nix { inherit pkgs; };
 | 
			
		||||
  nix-colors-lib-contrib = inputs.nix-colors.lib-contrib { inherit pkgs; };
 | 
			
		||||
in 
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  home.pointerCursor = {
 | 
			
		||||
    package = pkgs.bibata-cursors;
 | 
			
		||||
    name = "Bibata-Modern-Classic";
 | 
			
		||||
    size = 24;
 | 
			
		||||
    gtk.enable = true;
 | 
			
		||||
    x11.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  gtk = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    theme = {
 | 
			
		||||
      name = "${config.colorscheme.slug}";
 | 
			
		||||
      package = gtkThemeFromScheme {
 | 
			
		||||
        scheme = config.colorScheme;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    iconTheme = {
 | 
			
		||||
      name = "tela-circle-icon-theme";
 | 
			
		||||
      package = pkgs.tela-circle-icon-theme;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  qt = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    platformTheme = "gtk";
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										69
									
								
								home/gui/theme/gtk-theme-gen.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										69
									
								
								home/gui/theme/gtk-theme-gen.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,69 @@
 | 
			
		||||
{ pkgs }:
 | 
			
		||||
{ scheme }:
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  rendersvg = pkgs.runCommand "rendersvg" { } ''
 | 
			
		||||
    mkdir -p $out/bin
 | 
			
		||||
    ln -s ${pkgs.resvg}/bin/resvg $out/bin/rendersvg
 | 
			
		||||
  '';
 | 
			
		||||
in
 | 
			
		||||
pkgs.stdenv.mkDerivation rec {
 | 
			
		||||
  name = "generated-gtk-theme-${scheme.slug}";
 | 
			
		||||
  src = pkgs.fetchFromGitHub {
 | 
			
		||||
    owner = "nana-4";
 | 
			
		||||
    repo = "materia-theme";
 | 
			
		||||
    rev = "6e5850388a25f424b8193fe4523504d1dc364175";
 | 
			
		||||
    sha256 = "sha256-I6hpH0VTmftU4+/pRbztuTQcBKcOFBFbNZXJL/2bcgU=";
 | 
			
		||||
  };
 | 
			
		||||
  buildInputs = with pkgs; [
 | 
			
		||||
    sassc
 | 
			
		||||
    bc
 | 
			
		||||
    which
 | 
			
		||||
    rendersvg
 | 
			
		||||
    meson
 | 
			
		||||
    ninja
 | 
			
		||||
    nodePackages.sass
 | 
			
		||||
    gtk4.dev
 | 
			
		||||
    optipng
 | 
			
		||||
  ];
 | 
			
		||||
  phases = [ "unpackPhase" "installPhase" ];
 | 
			
		||||
  installPhase = ''
 | 
			
		||||
    HOME=/build
 | 
			
		||||
    chmod 777 -R .
 | 
			
		||||
    patchShebangs .
 | 
			
		||||
    mkdir -p $out/share/themes
 | 
			
		||||
    mkdir bin
 | 
			
		||||
    sed -e 's/handle-horz-.*//' -e 's/handle-vert-.*//' -i ./src/gtk-2.0/assets.txt
 | 
			
		||||
 | 
			
		||||
    cat > /build/gtk-colors << EOF
 | 
			
		||||
      BG=${scheme.colors.base00}
 | 
			
		||||
      FG=${scheme.colors.base07}
 | 
			
		||||
      HDR_BG=${scheme.colors.base00}
 | 
			
		||||
      HDR_FG=${scheme.colors.base07}
 | 
			
		||||
      SEL_BG=${scheme.colors.base03}
 | 
			
		||||
      SEL_FG=${scheme.colors.base07}
 | 
			
		||||
      TXT_BG=${scheme.colors.base01}
 | 
			
		||||
      TXT_FG=${scheme.colors.base07}
 | 
			
		||||
      BTN_BG=${scheme.colors.base01}
 | 
			
		||||
      BTN_FG=${scheme.colors.base07}
 | 
			
		||||
      HDR_BTN_BG=${scheme.colors.base01}
 | 
			
		||||
      HDR_BTN_FG=${scheme.colors.base07}
 | 
			
		||||
      MENU_BG=${scheme.colors.base00}
 | 
			
		||||
      MENU_FG=${scheme.colors.base07}
 | 
			
		||||
      ACCENT_BG=${scheme.colors.base0C}
 | 
			
		||||
      ACCENT_FG=${scheme.colors.base00}
 | 
			
		||||
      MATERIA_SURFACE=${scheme.colors.base01}
 | 
			
		||||
      MATERIA_VIEW=${scheme.colors.base00}
 | 
			
		||||
      WM_BORDER_FOCUS=${scheme.colors.base02}
 | 
			
		||||
      WM_BORDER_UNFOCUS=${scheme.colors.base02}
 | 
			
		||||
      UNITY_DEFAULT_LAUNCHER_STYLE=False
 | 
			
		||||
      ROUNDNESS=7
 | 
			
		||||
      NAME=${scheme.slug}
 | 
			
		||||
      MATERIA_STYLE_COMPACT=True
 | 
			
		||||
    EOF
 | 
			
		||||
 | 
			
		||||
    echo "Changing colours:"
 | 
			
		||||
    ./change_color.sh -o ${scheme.slug} /build/gtk-colors -i False -t "$out/share/themes"
 | 
			
		||||
    chmod 555 -R .
 | 
			
		||||
  '';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										92
									
								
								home/gui/various/btop.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								home/gui/various/btop.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,92 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  xdg.configFile."btop/themes/${config.colorScheme.slug}.theme".text = ''
 | 
			
		||||
 | 
			
		||||
# Theme generated from: ${config.colorScheme.slug}
 | 
			
		||||
 | 
			
		||||
# Main background, empty for terminal default, need to be empty if you want transparent background
 | 
			
		||||
theme[main_bg]="#${config.colorScheme.colors.base00}"
 | 
			
		||||
 | 
			
		||||
# Main text color
 | 
			
		||||
theme[main_fg]="#${config.colorScheme.colors.base07}"
 | 
			
		||||
 | 
			
		||||
# Title color for boxes
 | 
			
		||||
theme[title]="#${config.colorScheme.colors.base07}"
 | 
			
		||||
 | 
			
		||||
# Higlight color for keyboard shortcuts
 | 
			
		||||
theme[hi_fg]="#${config.colorScheme.colors.base0E}"
 | 
			
		||||
 | 
			
		||||
# Background color of selected item in processes box
 | 
			
		||||
theme[selected_bg]="#${config.colorScheme.colors.base0C}"
 | 
			
		||||
 | 
			
		||||
# Foreground color of selected item in processes box
 | 
			
		||||
theme[selected_fg]="#${config.colorScheme.colors.base00}"
 | 
			
		||||
 | 
			
		||||
# Color of inactive/disabled text
 | 
			
		||||
theme[inactive_fg]="#${config.colorScheme.colors.base02}"
 | 
			
		||||
 | 
			
		||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
 | 
			
		||||
theme[graph_text]="#${config.colorScheme.colors.base05}"
 | 
			
		||||
 | 
			
		||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
 | 
			
		||||
theme[proc_misc]="#${config.colorScheme.colors.base0C}"
 | 
			
		||||
 | 
			
		||||
# Cpu box outline color
 | 
			
		||||
theme[cpu_box]="#${config.colorScheme.colors.base02}"
 | 
			
		||||
 | 
			
		||||
# Memory/disks box outline color
 | 
			
		||||
theme[mem_box]="#${config.colorScheme.colors.base02}"
 | 
			
		||||
 | 
			
		||||
# Net up/down box outline color
 | 
			
		||||
theme[net_box]="#${config.colorScheme.colors.base02}"
 | 
			
		||||
 | 
			
		||||
# Processes box outline color
 | 
			
		||||
theme[proc_box]="#${config.colorScheme.colors.base02}"
 | 
			
		||||
 | 
			
		||||
# Box divider line and small boxes line color
 | 
			
		||||
theme[div_line]="#${config.colorScheme.colors.base02}"
 | 
			
		||||
 | 
			
		||||
# Temperature graph colors
 | 
			
		||||
theme[temp_start]="#${config.colorScheme.colors.base0D}"
 | 
			
		||||
theme[temp_mid]=""
 | 
			
		||||
theme[temp_end]="#${config.colorScheme.colors.base0F}"
 | 
			
		||||
 | 
			
		||||
# CPU graph colors
 | 
			
		||||
theme[cpu_start]="#${config.colorScheme.colors.base0D}"
 | 
			
		||||
theme[cpu_mid]=""
 | 
			
		||||
theme[cpu_end]="#${config.colorScheme.colors.base0C}"
 | 
			
		||||
 | 
			
		||||
# Mem/Disk free meter
 | 
			
		||||
theme[free_start]="#${config.colorScheme.colors.base0A}"
 | 
			
		||||
theme[free_mid]=""
 | 
			
		||||
theme[free_end]="#${config.colorScheme.colors.base0A}"
 | 
			
		||||
 | 
			
		||||
# Mem/Disk cached meter
 | 
			
		||||
theme[cached_start]="#${config.colorScheme.colors.base09}"
 | 
			
		||||
theme[cached_mid]=""
 | 
			
		||||
theme[cached_end]="#${config.colorScheme.colors.base09}"
 | 
			
		||||
 | 
			
		||||
# Mem/Disk available meter
 | 
			
		||||
theme[available_start]="#${config.colorScheme.colors.base0B}"
 | 
			
		||||
theme[available_mid]=""
 | 
			
		||||
theme[available_end]="#${config.colorScheme.colors.base0B}"
 | 
			
		||||
 | 
			
		||||
# Mem/Disk used meter
 | 
			
		||||
theme[used_start]="#${config.colorScheme.colors.base08}"
 | 
			
		||||
theme[used_mid]=""
 | 
			
		||||
theme[used_end]="#${config.colorScheme.colors.base08}"
 | 
			
		||||
 | 
			
		||||
# Download graph colors
 | 
			
		||||
theme[download_start]="#${config.colorScheme.colors.base02}"
 | 
			
		||||
theme[download_mid]=""
 | 
			
		||||
theme[download_end]="#${config.colorScheme.colors.base0D}"
 | 
			
		||||
 | 
			
		||||
# Upload graph colors
 | 
			
		||||
theme[upload_start]="#${config.colorScheme.colors.base02}"
 | 
			
		||||
theme[upload_mid]=""
 | 
			
		||||
theme[upload_end]="#${config.colorScheme.colors.base0E}"
 | 
			
		||||
 
 | 
			
		||||
 '';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								home/gui/various/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								home/gui/various/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./openttd.nix
 | 
			
		||||
    ./btop.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
   ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										769
									
								
								home/gui/various/openttd.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										769
									
								
								home/gui/various/openttd.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,769 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
 | 
			
		||||
  xdg.configFile."openttd/openttd.cfg".text = ''
 | 
			
		||||
[misc]
 | 
			
		||||
display_opt = SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION|FULL_DETAIL|WAYPOINTS|SHOW_COMPETITOR_SIGNS
 | 
			
		||||
extra_display_opt = SHOW_MONEY_TEXT_EFFECTS
 | 
			
		||||
fullscreen = false
 | 
			
		||||
video_hw_accel = true
 | 
			
		||||
video_vsync = true
 | 
			
		||||
support8bpp = no
 | 
			
		||||
graphicsset = 
 | 
			
		||||
soundsset = "NoSound"
 | 
			
		||||
musicset = 
 | 
			
		||||
videodriver = 
 | 
			
		||||
musicdriver = 
 | 
			
		||||
sounddriver = 
 | 
			
		||||
blitter = 
 | 
			
		||||
language = english.lng
 | 
			
		||||
resolution = 1920,1080
 | 
			
		||||
screenshot_format = 
 | 
			
		||||
savegame_format = 
 | 
			
		||||
rightclick_emulate = false
 | 
			
		||||
small_font = IBM Plex Mono
 | 
			
		||||
medium_font = IBM Plex Mono
 | 
			
		||||
large_font = IBM Plex Mono
 | 
			
		||||
mono_font = IBM Plex Mono
 | 
			
		||||
small_size = 8
 | 
			
		||||
medium_size = 11
 | 
			
		||||
large_size = 14
 | 
			
		||||
mono_size = 11
 | 
			
		||||
small_aa = true
 | 
			
		||||
medium_aa = true
 | 
			
		||||
large_aa = true
 | 
			
		||||
mono_aa = true
 | 
			
		||||
sprite_cache_size_px = 128
 | 
			
		||||
player_face = 0
 | 
			
		||||
transparency_options = 511
 | 
			
		||||
transparency_locks = 0
 | 
			
		||||
invisibility_options = 2
 | 
			
		||||
keyboard = 
 | 
			
		||||
keyboard_caps = 
 | 
			
		||||
last_newgrf_count = 27
 | 
			
		||||
gui_zoom = 2
 | 
			
		||||
font_zoom = 2
 | 
			
		||||
zoning_overlay_inner = 0
 | 
			
		||||
zoning_overlay_outer = 0
 | 
			
		||||
cargo_payment_x_mode = 0
 | 
			
		||||
extra_transparency_options = 1
 | 
			
		||||
extra_transparency_locks = 0
 | 
			
		||||
gui_scale = -1
 | 
			
		||||
 | 
			
		||||
[difficulty]
 | 
			
		||||
max_no_competitors = 0
 | 
			
		||||
number_towns = 2
 | 
			
		||||
industry_density = 3
 | 
			
		||||
max_loan = 300000
 | 
			
		||||
initial_interest = 2
 | 
			
		||||
vehicle_costs = 0
 | 
			
		||||
competitor_speed = 2
 | 
			
		||||
vehicle_breakdowns = 1
 | 
			
		||||
subsidy_multiplier = 2
 | 
			
		||||
construction_cost = 0
 | 
			
		||||
terrain_type = 2
 | 
			
		||||
quantity_sea_lakes = 1
 | 
			
		||||
economy = false
 | 
			
		||||
line_reverse_mode = false
 | 
			
		||||
disasters = false
 | 
			
		||||
town_council_tolerance = 0
 | 
			
		||||
money_cheat_in_multiplayer = false
 | 
			
		||||
rename_towns_in_multiplayer = false
 | 
			
		||||
vehicle_costs_in_depot = 1
 | 
			
		||||
vehicle_costs_when_stopped = 1
 | 
			
		||||
subsidy_duration = 1
 | 
			
		||||
override_town_settings_in_multiplayer = false
 | 
			
		||||
 | 
			
		||||
[game_creation]
 | 
			
		||||
town_name = 21
 | 
			
		||||
landscape = temperate
 | 
			
		||||
heightmap_height = 26
 | 
			
		||||
snow_line_height = 10
 | 
			
		||||
rainforest_line_height = 8
 | 
			
		||||
climate_threshold_mode = 0
 | 
			
		||||
snow_coverage = 20
 | 
			
		||||
desert_coverage = 50
 | 
			
		||||
starting_year = 1900
 | 
			
		||||
ending_year = 2050
 | 
			
		||||
land_generator = 1
 | 
			
		||||
oil_refinery_limit = 32
 | 
			
		||||
tgen_smoothness = 1
 | 
			
		||||
variety = 3
 | 
			
		||||
generation_seed = 2479758246
 | 
			
		||||
generation_unique_id = 0
 | 
			
		||||
tree_placer = 2
 | 
			
		||||
heightmap_rotation = 1
 | 
			
		||||
se_flat_world_height = 1
 | 
			
		||||
map_x = 7
 | 
			
		||||
map_y = 7
 | 
			
		||||
water_borders = 15
 | 
			
		||||
custom_town_number = 1
 | 
			
		||||
custom_terrain_type = 30
 | 
			
		||||
custom_sea_level = 1
 | 
			
		||||
min_river_length = 16
 | 
			
		||||
river_route_random = 5
 | 
			
		||||
rivers_top_of_hill = true
 | 
			
		||||
river_tropics_width = 5
 | 
			
		||||
lake_size = 10
 | 
			
		||||
lakes_allowed_in_deserts = false
 | 
			
		||||
amount_of_rivers = 2
 | 
			
		||||
amount_of_rocks = 5
 | 
			
		||||
height_affects_rocks = 0
 | 
			
		||||
build_public_roads = 2
 | 
			
		||||
custom_industry_number = 1
 | 
			
		||||
lake_tropics_width = 5
 | 
			
		||||
coast_tropics_width = 0
 | 
			
		||||
 | 
			
		||||
[vehicle]
 | 
			
		||||
road_side = right
 | 
			
		||||
train_acceleration_model = 1
 | 
			
		||||
train_braking_model = 0
 | 
			
		||||
roadveh_acceleration_model = 1
 | 
			
		||||
train_slope_steepness = 3
 | 
			
		||||
roadveh_slope_steepness = 7
 | 
			
		||||
max_train_length = 12
 | 
			
		||||
smoke_amount = 1
 | 
			
		||||
never_expire_vehicles = false
 | 
			
		||||
no_expire_vehicles_after = 0
 | 
			
		||||
no_introduce_vehicles_after = 0
 | 
			
		||||
max_trains = 500
 | 
			
		||||
max_roadveh = 500
 | 
			
		||||
max_aircraft = 0
 | 
			
		||||
max_ships = 300
 | 
			
		||||
wagon_speed_limits = true
 | 
			
		||||
disable_elrails = false
 | 
			
		||||
freight_trains = 1
 | 
			
		||||
plane_speed = 4
 | 
			
		||||
dynamic_engines = true
 | 
			
		||||
plane_crashes = 2
 | 
			
		||||
improved_breakdowns = false
 | 
			
		||||
ship_collision_avoidance = true
 | 
			
		||||
no_train_crash_other_company = false
 | 
			
		||||
flip_direction_all_trains = false
 | 
			
		||||
roadveh_articulated_overtaking = true
 | 
			
		||||
drive_through_train_depot = false
 | 
			
		||||
extend_vehicle_life = 0
 | 
			
		||||
adjacent_crossings = true
 | 
			
		||||
safer_crossings = true
 | 
			
		||||
pay_for_repair = true
 | 
			
		||||
repair_cost = 100
 | 
			
		||||
servint_ispercent = false
 | 
			
		||||
servint_trains = 150
 | 
			
		||||
servint_roadveh = 150
 | 
			
		||||
servint_ships = 360
 | 
			
		||||
servint_aircraft = 100
 | 
			
		||||
auto_timetable_by_default = true
 | 
			
		||||
auto_separation_by_default = true
 | 
			
		||||
slow_road_vehicles_in_curves = true
 | 
			
		||||
train_speed_adaptation = false
 | 
			
		||||
realistic_braking_aspect_limited = 0
 | 
			
		||||
through_load_speed_limit = 15
 | 
			
		||||
roadveh_cant_quantum_tunnel = false
 | 
			
		||||
rail_depot_speed_limit = 61
 | 
			
		||||
 | 
			
		||||
[construction]
 | 
			
		||||
map_height_limit = 0
 | 
			
		||||
build_on_slopes = true
 | 
			
		||||
command_pause_level = 2
 | 
			
		||||
enable_build_river = true
 | 
			
		||||
enable_remove_water = true
 | 
			
		||||
terraform_per_64k_frames = 4194304
 | 
			
		||||
terraform_frame_burst = 4096
 | 
			
		||||
clear_per_64k_frames = 4194304
 | 
			
		||||
clear_frame_burst = 4096
 | 
			
		||||
tree_per_64k_frames = 4194304
 | 
			
		||||
tree_frame_burst = 4096
 | 
			
		||||
purchase_land_per_64k_frames = 1048576
 | 
			
		||||
purchase_land_frame_burst = 1024
 | 
			
		||||
build_object_per_64k_frames = 2097152
 | 
			
		||||
build_object_frame_burst = 2048
 | 
			
		||||
autoslope = true
 | 
			
		||||
extra_dynamite = true
 | 
			
		||||
max_bridge_length = 128
 | 
			
		||||
max_bridge_height = 12
 | 
			
		||||
max_tunnel_length = 128
 | 
			
		||||
chunnel = true
 | 
			
		||||
train_signal_side = 1
 | 
			
		||||
road_stop_on_town_road = true
 | 
			
		||||
road_stop_on_competitor_road = true
 | 
			
		||||
road_custom_bridge_heads = true
 | 
			
		||||
rail_custom_bridge_heads = true
 | 
			
		||||
allow_grf_objects_under_bridges = false
 | 
			
		||||
allow_stations_under_bridges = false
 | 
			
		||||
allow_road_stops_under_bridges = true
 | 
			
		||||
allow_docks_under_bridges = true
 | 
			
		||||
purchase_land_permitted = 2
 | 
			
		||||
build_object_area_permitted = true
 | 
			
		||||
raw_industry_construction = 0
 | 
			
		||||
industry_platform = 1
 | 
			
		||||
maximum_signal_evaluations = 256
 | 
			
		||||
freeform_edges = true
 | 
			
		||||
extra_tree_placement = 2
 | 
			
		||||
trees_around_snow_line_enabled = true
 | 
			
		||||
trees_around_snow_line_range = 8
 | 
			
		||||
tree_growth_rate = 0
 | 
			
		||||
no_expire_objects_after = 0
 | 
			
		||||
ignore_object_intro_dates = false
 | 
			
		||||
trees_around_snow_line_dynamic_range = 75
 | 
			
		||||
 | 
			
		||||
[station]
 | 
			
		||||
never_expire_airports = false
 | 
			
		||||
station_spread = 16
 | 
			
		||||
modified_catchment = true
 | 
			
		||||
catchment_increase = 0
 | 
			
		||||
cargo_class_rating_wait_time = false
 | 
			
		||||
station_size_rating_cargo_amount = false
 | 
			
		||||
serve_neutral_industries = true
 | 
			
		||||
adjacent_stations = true
 | 
			
		||||
distant_join_stations = true
 | 
			
		||||
station_delivery_mode = 0
 | 
			
		||||
 | 
			
		||||
[economy]
 | 
			
		||||
town_layout = 1
 | 
			
		||||
allow_town_roads = true
 | 
			
		||||
found_town = 1
 | 
			
		||||
allow_town_level_crossings = true
 | 
			
		||||
town_cargogen_mode = 1
 | 
			
		||||
town_cargo_scale_factor = 0
 | 
			
		||||
industry_cargo_scale_factor = 0
 | 
			
		||||
station_noise_level = false
 | 
			
		||||
inflation = false
 | 
			
		||||
inflation_fixed_dates = true
 | 
			
		||||
day_length_factor = 5
 | 
			
		||||
multiple_industry_per_town = false
 | 
			
		||||
bribe = true
 | 
			
		||||
exclusive_rights = true
 | 
			
		||||
fund_buildings = true
 | 
			
		||||
fund_roads = true
 | 
			
		||||
give_money = true
 | 
			
		||||
type = 1
 | 
			
		||||
allow_shares = false
 | 
			
		||||
min_years_for_shares = 6
 | 
			
		||||
feeder_payment_share = 75
 | 
			
		||||
town_growth_rate = 2
 | 
			
		||||
town_zone_calc_mode = false
 | 
			
		||||
town_zone_0_mult = 15
 | 
			
		||||
town_zone_1_mult = 9
 | 
			
		||||
town_zone_2_mult = 0
 | 
			
		||||
town_zone_3_mult = 5
 | 
			
		||||
town_zone_4_mult = 3
 | 
			
		||||
city_zone_0_mult = 15
 | 
			
		||||
city_zone_1_mult = 9
 | 
			
		||||
city_zone_2_mult = 0
 | 
			
		||||
city_zone_3_mult = 5
 | 
			
		||||
city_zone_4_mult = 3
 | 
			
		||||
town_growth_cargo_transported = 0
 | 
			
		||||
larger_towns = 4
 | 
			
		||||
initial_city_size = 2
 | 
			
		||||
mod_road_rebuild = true
 | 
			
		||||
town_min_distance = 20
 | 
			
		||||
infrastructure_sharing[0] = true
 | 
			
		||||
infrastructure_sharing[1] = true
 | 
			
		||||
infrastructure_sharing[2] = true
 | 
			
		||||
infrastructure_sharing[3] = false
 | 
			
		||||
sharing_fee[0] = 100
 | 
			
		||||
sharing_fee[1] = 100
 | 
			
		||||
sharing_fee[2] = 100
 | 
			
		||||
sharing_fee[3] = 100
 | 
			
		||||
sharing_payment_in_debt = true
 | 
			
		||||
dist_local_authority = 20
 | 
			
		||||
town_noise_population[0] = 800
 | 
			
		||||
town_noise_population[1] = 2000
 | 
			
		||||
town_noise_population[2] = 4000
 | 
			
		||||
infrastructure_maintenance = false
 | 
			
		||||
random_road_reconstruction = 0
 | 
			
		||||
max_town_heightlevel = 255
 | 
			
		||||
min_town_land_area = 0
 | 
			
		||||
min_city_land_area = 75
 | 
			
		||||
town_build_tunnels = 2
 | 
			
		||||
town_max_road_slope = 4
 | 
			
		||||
allow_town_bridges = true
 | 
			
		||||
disable_inflation_newgrf_flag = false
 | 
			
		||||
payment_algorithm = 1
 | 
			
		||||
 | 
			
		||||
[linkgraph]
 | 
			
		||||
recalc_interval = 4
 | 
			
		||||
recalc_time = 16
 | 
			
		||||
recalc_not_scaled_by_daylength = true
 | 
			
		||||
distribution_pax = 2
 | 
			
		||||
distribution_mail = 2
 | 
			
		||||
distribution_armoured = 0
 | 
			
		||||
distribution_default = 0
 | 
			
		||||
accuracy = 16
 | 
			
		||||
demand_distance = 100
 | 
			
		||||
demand_size = 100
 | 
			
		||||
short_path_saturation = 80
 | 
			
		||||
aircraft_link_scale = 100
 | 
			
		||||
 | 
			
		||||
[pf]
 | 
			
		||||
forbid_90_deg = false
 | 
			
		||||
roadveh_queue = true
 | 
			
		||||
reroute_rv_on_layout_change = 1
 | 
			
		||||
pathfinder_for_trains = 2
 | 
			
		||||
pathfinder_for_roadvehs = 2
 | 
			
		||||
pathfinder_for_ships = 2
 | 
			
		||||
reverse_at_signals = false
 | 
			
		||||
wait_oneway_signal = 15
 | 
			
		||||
wait_twoway_signal = 41
 | 
			
		||||
wait_for_pbs_path = 30
 | 
			
		||||
reserve_paths = false
 | 
			
		||||
path_backoff_interval = 20
 | 
			
		||||
npf.npf_max_search_nodes = 10000
 | 
			
		||||
npf.npf_rail_firstred_penalty = 1000
 | 
			
		||||
npf.npf_rail_firstred_exit_penalty = 10000
 | 
			
		||||
npf.npf_rail_lastred_penalty = 1000
 | 
			
		||||
npf.npf_rail_station_penalty = 100
 | 
			
		||||
npf.npf_rail_slope_penalty = 100
 | 
			
		||||
npf.npf_rail_curve_penalty = 100
 | 
			
		||||
npf.npf_rail_depot_reverse_penalty = 5000
 | 
			
		||||
npf.npf_rail_pbs_cross_penalty = 300
 | 
			
		||||
npf.npf_rail_pbs_signal_back_penalty = 1500
 | 
			
		||||
npf.npf_buoy_penalty = 200
 | 
			
		||||
npf.npf_water_curve_penalty = 100
 | 
			
		||||
npf.npf_road_curve_penalty = 100
 | 
			
		||||
npf.npf_crossing_penalty = 300
 | 
			
		||||
npf.npf_road_drive_through_penalty = 800
 | 
			
		||||
npf.npf_road_dt_occupied_penalty = 800
 | 
			
		||||
npf.npf_road_bay_occupied_penalty = 1500
 | 
			
		||||
npf.maximum_go_to_depot_penalty = 2000
 | 
			
		||||
yapf.disable_node_optimization = false
 | 
			
		||||
yapf.max_search_nodes = 10000
 | 
			
		||||
yapf.rail_firstred_twoway_eol = false
 | 
			
		||||
yapf.rail_firstred_penalty = 1000
 | 
			
		||||
yapf.rail_firstred_exit_penalty = 10000
 | 
			
		||||
yapf.rail_lastred_penalty = 1000
 | 
			
		||||
yapf.rail_lastred_exit_penalty = 10000
 | 
			
		||||
yapf.rail_station_penalty = 1000
 | 
			
		||||
yapf.rail_slope_penalty = 200
 | 
			
		||||
yapf.rail_curve45_penalty = 100
 | 
			
		||||
yapf.rail_curve90_penalty = 600
 | 
			
		||||
yapf.rail_depot_reverse_penalty = 5000
 | 
			
		||||
yapf.rail_crossing_penalty = 300
 | 
			
		||||
yapf.rail_look_ahead_max_signals = 10
 | 
			
		||||
yapf.rail_look_ahead_signal_p0 = 500
 | 
			
		||||
yapf.rail_look_ahead_signal_p1 = -100
 | 
			
		||||
yapf.rail_look_ahead_signal_p2 = 5
 | 
			
		||||
yapf.rail_pbs_cross_penalty = 300
 | 
			
		||||
yapf.rail_pbs_station_penalty = 800
 | 
			
		||||
yapf.rail_pbs_signal_back_penalty = 1500
 | 
			
		||||
yapf.rail_doubleslip_penalty = 100
 | 
			
		||||
yapf.rail_longer_platform_penalty = 800
 | 
			
		||||
yapf.rail_longer_platform_per_tile_penalty = 0
 | 
			
		||||
yapf.rail_shorter_platform_penalty = 4000
 | 
			
		||||
yapf.rail_shorter_platform_per_tile_penalty = 0
 | 
			
		||||
yapf.road_slope_penalty = 200
 | 
			
		||||
yapf.road_curve_penalty = 100
 | 
			
		||||
yapf.road_crossing_penalty = 300
 | 
			
		||||
yapf.road_stop_penalty = 800
 | 
			
		||||
yapf.road_stop_occupied_penalty = 800
 | 
			
		||||
yapf.road_stop_bay_occupied_penalty = 1500
 | 
			
		||||
yapf.maximum_go_to_depot_penalty = 2000
 | 
			
		||||
yapf.ship_curve45_penalty = 100
 | 
			
		||||
yapf.ship_curve90_penalty = 600
 | 
			
		||||
back_of_one_way_pbs_waiting_point = true
 | 
			
		||||
 | 
			
		||||
[order]
 | 
			
		||||
no_servicing_if_no_breakdowns = true
 | 
			
		||||
improved_load = true
 | 
			
		||||
selectgoods = true
 | 
			
		||||
serviceathelipad = true
 | 
			
		||||
nonstop_only = false
 | 
			
		||||
gradual_loading = true
 | 
			
		||||
 | 
			
		||||
[script]
 | 
			
		||||
settings_profile = easy
 | 
			
		||||
script_max_opcode_till_suspend = 10000
 | 
			
		||||
script_max_memory_megabytes = 1024
 | 
			
		||||
 | 
			
		||||
[ai]
 | 
			
		||||
ai_in_multiplayer = true
 | 
			
		||||
ai_disable_veh_train = false
 | 
			
		||||
ai_disable_veh_roadveh = false
 | 
			
		||||
ai_disable_veh_aircraft = false
 | 
			
		||||
ai_disable_veh_ship = false
 | 
			
		||||
 | 
			
		||||
[locale]
 | 
			
		||||
currency = CHF
 | 
			
		||||
units_velocity = metric
 | 
			
		||||
units_power = si
 | 
			
		||||
units_weight = metric
 | 
			
		||||
units_volume = metric
 | 
			
		||||
units_force = si
 | 
			
		||||
units_height = si
 | 
			
		||||
digit_group_separator = 
 | 
			
		||||
digit_group_separator_currency = 
 | 
			
		||||
digit_decimal_separator = 
 | 
			
		||||
units_velocity_nautical = metric
 | 
			
		||||
 | 
			
		||||
[gui]
 | 
			
		||||
autosave = monthly
 | 
			
		||||
threaded_saves = true
 | 
			
		||||
date_format_in_default_names = iso
 | 
			
		||||
show_finances = true
 | 
			
		||||
auto_scrolling = 0
 | 
			
		||||
scroll_mode = 0
 | 
			
		||||
smooth_scroll = false
 | 
			
		||||
right_mouse_wnd_close = true
 | 
			
		||||
measure_tooltip = true
 | 
			
		||||
errmsg_duration = 5
 | 
			
		||||
hover_delay_ms = 250
 | 
			
		||||
osk_activation = disabled
 | 
			
		||||
toolbar_pos = 1
 | 
			
		||||
statusbar_pos = 1
 | 
			
		||||
window_snap_radius = 10
 | 
			
		||||
window_soft_limit = 20
 | 
			
		||||
zoom_min = 0
 | 
			
		||||
zoom_max = 9
 | 
			
		||||
sprite_zoom_min = 0
 | 
			
		||||
population_in_label = true
 | 
			
		||||
link_terraform_toolbar = false
 | 
			
		||||
smallmap_land_colour = 0
 | 
			
		||||
liveries = 2
 | 
			
		||||
starting_colour = 16
 | 
			
		||||
auto_remove_signals = false
 | 
			
		||||
prefer_teamchat = false
 | 
			
		||||
scrollwheel_scrolling = 0
 | 
			
		||||
scrollwheel_multiplier = 5
 | 
			
		||||
viewport_map_scan_surroundings = true
 | 
			
		||||
show_slopes_on_viewport_map = true
 | 
			
		||||
show_bridges_on_map = true
 | 
			
		||||
show_tunnels_on_map = true
 | 
			
		||||
show_vehicle_route = 1
 | 
			
		||||
dash_level_of_route_lines = 0
 | 
			
		||||
use_owner_colour_for_tunnelbridge = false
 | 
			
		||||
show_scrolling_viewport_on_map = 3
 | 
			
		||||
default_viewport_map_mode = 0
 | 
			
		||||
action_when_viewport_map_is_dblclicked = 1
 | 
			
		||||
pause_on_newgame = true
 | 
			
		||||
advanced_vehicle_list = 1
 | 
			
		||||
timetable_in_ticks = false
 | 
			
		||||
timetable_leftover_ticks = false
 | 
			
		||||
override_time_settings = false
 | 
			
		||||
time_in_minutes = false
 | 
			
		||||
ticks_per_minute = 74
 | 
			
		||||
clock_offset = 0
 | 
			
		||||
date_with_time = 0
 | 
			
		||||
timetable_start_text_entry = false
 | 
			
		||||
timetable_arrival_departure = true
 | 
			
		||||
max_departures = 10
 | 
			
		||||
max_departure_time = 120
 | 
			
		||||
departure_calc_frequency = 10
 | 
			
		||||
departure_show_vehicle = false
 | 
			
		||||
departure_show_group = false
 | 
			
		||||
departure_show_company = false
 | 
			
		||||
departure_show_vehicle_type = false
 | 
			
		||||
departure_show_vehicle_color = false
 | 
			
		||||
departure_larger_font = false
 | 
			
		||||
departure_destination_type = false
 | 
			
		||||
departure_show_both = false
 | 
			
		||||
departure_only_passengers = false
 | 
			
		||||
departure_smart_terminus = false
 | 
			
		||||
departure_show_all_stops = false
 | 
			
		||||
departure_merge_identical = false
 | 
			
		||||
departure_conditionals = 0
 | 
			
		||||
quick_goto = true
 | 
			
		||||
loading_indicators = 1
 | 
			
		||||
default_rail_type = 0
 | 
			
		||||
default_road_type = 0
 | 
			
		||||
enable_signal_gui = true
 | 
			
		||||
coloured_news_year = 2000
 | 
			
		||||
drag_signals_density = 4
 | 
			
		||||
drag_signals_fixed_distance = false
 | 
			
		||||
semaphore_build_before = 1950
 | 
			
		||||
vehicle_income_warn = true
 | 
			
		||||
order_review_system = 2
 | 
			
		||||
no_depot_order_warn = false
 | 
			
		||||
lost_vehicle_warn = true
 | 
			
		||||
restriction_wait_vehicle_warn = false
 | 
			
		||||
new_nonstop = true
 | 
			
		||||
stop_location = 2
 | 
			
		||||
keep_all_autosave = false
 | 
			
		||||
autosave_on_exit = false
 | 
			
		||||
autosave_on_network_disconnect = true
 | 
			
		||||
max_num_autosaves = 16
 | 
			
		||||
savegame_overwrite_confirm = yes
 | 
			
		||||
auto_euro = true
 | 
			
		||||
news_message_timeout = 2
 | 
			
		||||
show_track_reservation = true
 | 
			
		||||
default_signal_type = 4
 | 
			
		||||
cycle_signal_types = 0
 | 
			
		||||
station_numtracks = 4
 | 
			
		||||
station_platlength = 7
 | 
			
		||||
station_dragdrop = false
 | 
			
		||||
station_show_coverage = true
 | 
			
		||||
persistent_buildingtools = true
 | 
			
		||||
expenses_layout = true
 | 
			
		||||
station_gui_group_order = 3
 | 
			
		||||
station_gui_sort_by = 0
 | 
			
		||||
station_gui_sort_order = 0
 | 
			
		||||
missing_strings_threshold = 25
 | 
			
		||||
graph_line_thickness = 3
 | 
			
		||||
show_vehicle_route_steps = true
 | 
			
		||||
show_train_length_in_details = true
 | 
			
		||||
show_train_weight_ratios_in_details = false
 | 
			
		||||
show_vehicle_group_in_details = true
 | 
			
		||||
show_vehicle_list_company_colour = true
 | 
			
		||||
show_restricted_signal_default = true
 | 
			
		||||
show_adv_tracerestrict_features = true
 | 
			
		||||
show_progsig_ui = true
 | 
			
		||||
show_veh_list_cargo_filter = true
 | 
			
		||||
enable_single_veh_shared_order_gui = false
 | 
			
		||||
show_adv_load_mode_features = true
 | 
			
		||||
disable_top_veh_list_mass_actions = false
 | 
			
		||||
adv_sig_bridge_tun_modes = true
 | 
			
		||||
show_depot_sell_gui = false
 | 
			
		||||
open_vehicle_gui_clone_share = false
 | 
			
		||||
show_newgrf_name = false
 | 
			
		||||
linkgraph_colours = 0
 | 
			
		||||
vehicle_names = 1
 | 
			
		||||
shade_trees_on_slopes = true
 | 
			
		||||
show_date_in_logs = false
 | 
			
		||||
settings_restriction_mode = 2
 | 
			
		||||
developer = 1
 | 
			
		||||
newgrf_developer_tools = false
 | 
			
		||||
ai_developer_tools = false
 | 
			
		||||
scenario_developer = false
 | 
			
		||||
newgrf_show_old_versions = false
 | 
			
		||||
newgrf_default_palette = 1
 | 
			
		||||
console_show_unlisted = false
 | 
			
		||||
console_backlog_timeout = 100
 | 
			
		||||
console_backlog_length = 100
 | 
			
		||||
refresh_rate = 60
 | 
			
		||||
fast_forward_speed_limit = 2500
 | 
			
		||||
network_chat_box_width_pct = 40
 | 
			
		||||
network_chat_box_height = 25
 | 
			
		||||
network_chat_timeout = 20
 | 
			
		||||
sort_track_types_by_speed = false
 | 
			
		||||
station_rating_tooltip_mode = 1
 | 
			
		||||
demolish_confirm_mode = 2
 | 
			
		||||
experimental_dual_pane_train_purchase_window = false
 | 
			
		||||
dual_pane_train_purchase_window = true
 | 
			
		||||
show_noentrysig_ui = true
 | 
			
		||||
autosave_custom_days = 14
 | 
			
		||||
autosave_custom_minutes = 30
 | 
			
		||||
signal_gui_mode = 0
 | 
			
		||||
show_all_signal_default = true
 | 
			
		||||
show_wagon_intro_year = false
 | 
			
		||||
allow_hiding_waypoint_labels = false
 | 
			
		||||
disable_water_animation = 255
 | 
			
		||||
show_order_occupancy_by_default = false
 | 
			
		||||
show_order_management_button = false
 | 
			
		||||
show_group_hierarchy_name = false
 | 
			
		||||
show_vehicle_group_hierarchy_name = false
 | 
			
		||||
newgrf_disable_big_gui = false
 | 
			
		||||
show_vehicle_route_mode = 1
 | 
			
		||||
dual_pane_train_purchase_window_dual_buttons = true
 | 
			
		||||
zoom_max_extra = 9
 | 
			
		||||
show_cargo_in_vehicle_lists = false
 | 
			
		||||
scale_bevels = true
 | 
			
		||||
 | 
			
		||||
[game_time]
 | 
			
		||||
time_in_minutes = false
 | 
			
		||||
ticks_per_minute = 74
 | 
			
		||||
clock_offset = 0
 | 
			
		||||
 | 
			
		||||
[sound]
 | 
			
		||||
news_ticker = false
 | 
			
		||||
news_full = false
 | 
			
		||||
new_year = false
 | 
			
		||||
confirm = false
 | 
			
		||||
click_beep = false
 | 
			
		||||
disaster = false
 | 
			
		||||
vehicle = false
 | 
			
		||||
ambient = false
 | 
			
		||||
 | 
			
		||||
[music]
 | 
			
		||||
playlist = 0
 | 
			
		||||
music_vol = 50
 | 
			
		||||
effect_vol = 100
 | 
			
		||||
custom_1 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 | 
			
		||||
custom_2 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 | 
			
		||||
playing = true
 | 
			
		||||
shuffle = false
 | 
			
		||||
 | 
			
		||||
[news_display]
 | 
			
		||||
arrival_player = full
 | 
			
		||||
arrival_other = summarized
 | 
			
		||||
accident = full
 | 
			
		||||
company_info = full
 | 
			
		||||
open = summarized
 | 
			
		||||
close = summarized
 | 
			
		||||
economy = full
 | 
			
		||||
production_player = summarized
 | 
			
		||||
production_other = off
 | 
			
		||||
production_nobody = off
 | 
			
		||||
advice = full
 | 
			
		||||
new_vehicles = full
 | 
			
		||||
acceptance = full
 | 
			
		||||
subsidies = summarized
 | 
			
		||||
general = full
 | 
			
		||||
accident_other = full
 | 
			
		||||
 | 
			
		||||
[scenario]
 | 
			
		||||
multiple_buildings = false
 | 
			
		||||
house_ignore_dates = false
 | 
			
		||||
house_ignore_zones = 0
 | 
			
		||||
house_ignore_grf = false
 | 
			
		||||
 | 
			
		||||
[network]
 | 
			
		||||
commands_per_frame = 2
 | 
			
		||||
max_commands_in_queue = 16
 | 
			
		||||
bytes_per_frame = 8
 | 
			
		||||
bytes_per_frame_burst = 256
 | 
			
		||||
max_init_time = 100
 | 
			
		||||
max_join_time = 500
 | 
			
		||||
max_download_time = 1000
 | 
			
		||||
max_password_time = 2000
 | 
			
		||||
max_lag_time = 500
 | 
			
		||||
pause_on_join = true
 | 
			
		||||
server_port = 3979
 | 
			
		||||
server_admin_port = 3977
 | 
			
		||||
server_admin_chat = true
 | 
			
		||||
autoclean_companies = false
 | 
			
		||||
autoclean_unprotected = 12
 | 
			
		||||
autoclean_protected = 36
 | 
			
		||||
autoclean_novehicles = 0
 | 
			
		||||
max_companies = 15
 | 
			
		||||
max_clients = 25
 | 
			
		||||
max_spectators = 15
 | 
			
		||||
restart_game_year = 0
 | 
			
		||||
min_active_clients = 0
 | 
			
		||||
reload_cfg = false
 | 
			
		||||
last_host = 
 | 
			
		||||
last_port = 0
 | 
			
		||||
no_http_content_downloads = false
 | 
			
		||||
server_game_type = public
 | 
			
		||||
use_relay_service = ask
 | 
			
		||||
 | 
			
		||||
[currency]
 | 
			
		||||
rate = 1
 | 
			
		||||
separator = "."
 | 
			
		||||
to_euro = 0
 | 
			
		||||
prefix = 
 | 
			
		||||
suffix = " credits"
 | 
			
		||||
 | 
			
		||||
[company]
 | 
			
		||||
engine_renew = true
 | 
			
		||||
engine_renew_months = 6
 | 
			
		||||
engine_renew_money = 100000
 | 
			
		||||
renew_keep_length = false
 | 
			
		||||
auto_timetable_separation_rate = 40
 | 
			
		||||
timetable_autofill_rounding = 74
 | 
			
		||||
order_occupancy_smoothness = 75
 | 
			
		||||
infra_others_buy_in_depot[0] = false
 | 
			
		||||
infra_others_buy_in_depot[1] = false
 | 
			
		||||
infra_others_buy_in_depot[2] = false
 | 
			
		||||
infra_others_buy_in_depot[3] = false
 | 
			
		||||
advance_order_on_clone = false
 | 
			
		||||
copy_clone_add_to_group = true
 | 
			
		||||
simulated_wormhole_signals = 4
 | 
			
		||||
remain_if_next_order_same_station = true
 | 
			
		||||
 | 
			
		||||
[ai_players]
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
none = start_date=730
 | 
			
		||||
 | 
			
		||||
[game_scripts]
 | 
			
		||||
none = 
 | 
			
		||||
 | 
			
		||||
[version]
 | 
			
		||||
version_string = jgrpp-0.53.3
 | 
			
		||||
version_number = 1E006D64
 | 
			
		||||
ini_version = 2
 | 
			
		||||
 | 
			
		||||
[preset-TEST]
 | 
			
		||||
444C1105|4AC44465E334F062F56BC24C728C8E72|dach_trains-0.3.2/dach.grf = 1
 | 
			
		||||
52571203|2E00A55DF056E0F4BD7BBC2517514DC7|egrvts2-202/egrvts2.grf = 0 62 2 0
 | 
			
		||||
45520C00|FCF4EE39F19C02D9E8603D07621DDD99|japanese_town_names.0.6/jpset_namw.grf = 
 | 
			
		||||
52453400|B2E27B74A3894198A00139CFCF09D011|japanese_buildings-3.1/jpbuild.grf = 2 0 1
 | 
			
		||||
474C0000|1E5E4C815B905749AAE94142C1A67B8B|japanese_faces-3.0/jpfaces.grf = 
 | 
			
		||||
52453200|A222F0B3BCF0CFE187A7868116A00C49|japanset_landscape-3.2/jpland.grf = 1 0 1 0 0
 | 
			
		||||
2C320A01|065916BDB63F43BBB4A686E1B4954004|japanese_signals-3.0/jpsignals.grf = 1
 | 
			
		||||
45530500|D9BE5AFA481FC3E0A96E6EB72B455612|japanese_stations-3.6/jpstations.grf = 1 1 1 1
 | 
			
		||||
52453300|EF6A4519AD4C18B9B9112B8D7083862D|japanese_trees-3.0/jptrees.grf = 
 | 
			
		||||
44503000|0BF5A48500990CF4CBFED5D7CC6ED120|japanese_tracks-3.2/jptracks.grf = 0 0 0 2 2 1 1 1 3 1 0
 | 
			
		||||
42531320|45C480EEF47E0A8B67CA4E1B1DC30604|jp_multiple_units_jgr_jnr_jr-0.4.2/jpplus_v042.grf = 1 2 1 1 1
 | 
			
		||||
535A0D00|21AC703CAB2BE6A80FAF2344366FE0C1|japanese_train_set-3.3/jptrains.grf = 0 1 1 2 2 1 1 1 0 1 0 0
 | 
			
		||||
44501401|5B9D588504701CCC2BB14CDB1F18D06B|japanese_maglevs-3.1/jptrainsadd.grf = 0 0 0 0 0 1 1 1
 | 
			
		||||
736C6602|2DB244FD410D77FCCE2DE6D5AF09DF51|japanese_city_names-1/jpcities.grf = 
 | 
			
		||||
"454E1302|623C32CFD50835F484DBBD42EC45FE3D|japanese_suspended_monorail_set-1.1/jpsusmon nrt.grf" = 1 2 2
 | 
			
		||||
1560B248|76BE5A3BA8C66817C14CFA05177D20D9|redfish-0.4/redfish.grf = 1 1 0
 | 
			
		||||
454E2001|342B064182A42854EF830BC11BE86E4E|real_international_maglev_set-1.6/rims.grf = 1 2 2 0 2 1 1 1 1 0 0 0 1 1 0 1
 | 
			
		||||
41533031|B21E7D6ADD69B1C07643939764FB4878|swedish_houses-1.1.2/swehouses.grf = 
 | 
			
		||||
74677563|8A53DE2FF752868097FBE403FACD8DA4|total_bridge_renewal_japan-1.12/total_bridgesw.grf = 
 | 
			
		||||
4A565201|934DD16DC79E23A741D9C372AC5B67D3|project_gondola-0.4/gondola.grf = 
 | 
			
		||||
4A544E45|8F3301887E272D775C331163F2C71CE5|japanese_town_names_extended-0.1/jtne.grf = 
 | 
			
		||||
56420202|B2EB887D411D23173688A4F72BE7184C|purr_universal_rainbow_rails-0.0.7/purr.grf = 0 1 0 0 0 0 0 0 0 0 0 0 20 35 35 35 35
 | 
			
		||||
 | 
			
		||||
[client_locale]
 | 
			
		||||
sync_locale_network_server = false
 | 
			
		||||
 | 
			
		||||
[preset-MAIN]
 | 
			
		||||
41560103|FAD3EB34DE1CBAF515FD7A870C4F9A08|egrvts_v2.1-r237/egrvts2_1.grf = 0 63 0 3 0
 | 
			
		||||
4A544E45|8F3301887E272D775C331163F2C71CE5|japanese_town_names_extended-0.1/jtne.grf = 
 | 
			
		||||
41533031|B21E7D6ADD69B1C07643939764FB4878|swedish_houses-1.1.2/swehouses.grf = 
 | 
			
		||||
52453400|B2E27B74A3894198A00139CFCF09D011|japanese_buildings-3.1/jpbuild.grf = 2 0 1
 | 
			
		||||
474C0000|1E5E4C815B905749AAE94142C1A67B8B|japanese_faces-3.0/jpfaces.grf = 
 | 
			
		||||
52453200|A222F0B3BCF0CFE187A7868116A00C49|japanset_landscape-3.2/jpland.grf = 1 0 1 0 0
 | 
			
		||||
2C320A01|065916BDB63F43BBB4A686E1B4954004|japanese_signals-3.0/jpsignals.grf = 1
 | 
			
		||||
45530500|D9BE5AFA481FC3E0A96E6EB72B455612|japanese_stations-3.6/jpstations.grf = 1 1 1 1
 | 
			
		||||
52453300|EF6A4519AD4C18B9B9112B8D7083862D|japanese_trees-3.0/jptrees.grf = 
 | 
			
		||||
44503000|0BF5A48500990CF4CBFED5D7CC6ED120|japanese_tracks-3.2/jptracks.grf = 0 0 0 2 2 1 1 1 3 1 0
 | 
			
		||||
42531320|45C480EEF47E0A8B67CA4E1B1DC30604|jp_multiple_units_jgr_jnr_jr-0.4.2/jpplus_v042.grf = 1 2 1 1 1
 | 
			
		||||
4B523033|A2FD753BC20D1F1F7E0DF9AD5F09FECB|jp_shinkansen-0.2.1/jpplusshinkansen_v0.2.1.grf = 1 2 1 0 1 0 1
 | 
			
		||||
595AAA01|24705D6F58BF2D6686AF3915B5CE7006|jp_metro_set-5.1/jpmetro.grf = 1 1 2
 | 
			
		||||
444C1105|4AC44465E334F062F56BC24C728C8E72|dach_trains-0.3.2/dach.grf = 1
 | 
			
		||||
"454E1302|623C32CFD50835F484DBBD42EC45FE3D|japanese_suspended_monorail_set-1.1/jpsusmon nrt.grf" = 1 2 2
 | 
			
		||||
1560B248|76BE5A3BA8C66817C14CFA05177D20D9|redfish-0.4/redfish.grf = 1 1 0
 | 
			
		||||
454E2001|342B064182A42854EF830BC11BE86E4E|real_international_maglev_set-1.6/rims.grf = 1 2 2 0 2 1 1 1 1 0 0 0 1 1 0 1
 | 
			
		||||
74677563|8A53DE2FF752868097FBE403FACD8DA4|total_bridge_renewal_japan-1.12/total_bridgesw.grf = 
 | 
			
		||||
4A565201|934DD16DC79E23A741D9C372AC5B67D3|project_gondola-0.4/gondola.grf = 
 | 
			
		||||
F1250008|6A2E778BFF67AB76437696ED1C3C780A|firs_industry_replacement_set_4-4.15.1/firs.grf = 1 0 0 0 0 0 16 150 80 300 1
 | 
			
		||||
535A0D00|21AC703CAB2BE6A80FAF2344366FE0C1|japanese_train_set-3.3/jptrains.grf = 0 1 1 2 1 0 1 1 0 1 0 0
 | 
			
		||||
44501401|5B9D588504701CCC2BB14CDB1F18D06B|japanese_maglevs-3.1/jptrainsadd.grf = 0 0 0 0 0 1 1 1
 | 
			
		||||
 | 
			
		||||
[newgrf]
 | 
			
		||||
41560103|FAD3EB34DE1CBAF515FD7A870C4F9A08|egrvts_v2.1-r237/egrvts2_1.grf = 0 63 0 3 0
 | 
			
		||||
4A544E45|8F3301887E272D775C331163F2C71CE5|japanese_town_names_extended-0.1/jtne.grf = 
 | 
			
		||||
41533031|B21E7D6ADD69B1C07643939764FB4878|swedish_houses-1.1.2/swehouses.grf = 
 | 
			
		||||
52453400|B2E27B74A3894198A00139CFCF09D011|japanese_buildings-3.1/jpbuild.grf = 2 0 1
 | 
			
		||||
474C0000|1E5E4C815B905749AAE94142C1A67B8B|japanese_faces-3.0/jpfaces.grf = 
 | 
			
		||||
52453200|A222F0B3BCF0CFE187A7868116A00C49|japanset_landscape-3.2/jpland.grf = 1 0 1 0 0
 | 
			
		||||
2C320A01|065916BDB63F43BBB4A686E1B4954004|japanese_signals-3.0/jpsignals.grf = 1
 | 
			
		||||
45530500|D9BE5AFA481FC3E0A96E6EB72B455612|japanese_stations-3.6/jpstations.grf = 1 1 1 1
 | 
			
		||||
52453300|EF6A4519AD4C18B9B9112B8D7083862D|japanese_trees-3.0/jptrees.grf = 
 | 
			
		||||
44503000|0BF5A48500990CF4CBFED5D7CC6ED120|japanese_tracks-3.2/jptracks.grf = 0 0 0 2 2 1 1 1 3 1 0
 | 
			
		||||
42531320|45C480EEF47E0A8B67CA4E1B1DC30604|jp_multiple_units_jgr_jnr_jr-0.4.2/jpplus_v042.grf = 1 2 1 1 1
 | 
			
		||||
4B523033|A2FD753BC20D1F1F7E0DF9AD5F09FECB|jp_shinkansen-0.2.1/jpplusshinkansen_v0.2.1.grf = 1 2 1 0 1 0 1
 | 
			
		||||
595AAA01|24705D6F58BF2D6686AF3915B5CE7006|jp_metro_set-5.1/jpmetro.grf = 1 1 2
 | 
			
		||||
444C1105|4AC44465E334F062F56BC24C728C8E72|dach_trains-0.3.2/dach.grf = 1
 | 
			
		||||
"454E1302|623C32CFD50835F484DBBD42EC45FE3D|japanese_suspended_monorail_set-1.1/jpsusmon nrt.grf" = 1 2 2
 | 
			
		||||
1560B248|76BE5A3BA8C66817C14CFA05177D20D9|redfish-0.4/redfish.grf = 1 1 0
 | 
			
		||||
454E2001|342B064182A42854EF830BC11BE86E4E|real_international_maglev_set-1.6/rims.grf = 1 2 2 0 2 1 1 1 1 0 0 0 1 1 0 1
 | 
			
		||||
74677563|8A53DE2FF752868097FBE403FACD8DA4|total_bridge_renewal_japan-1.12/total_bridgesw.grf = 
 | 
			
		||||
4A565201|934DD16DC79E23A741D9C372AC5B67D3|project_gondola-0.4/gondola.grf = 
 | 
			
		||||
F1250008|6A2E778BFF67AB76437696ED1C3C780A|firs_industry_replacement_set_4-4.15.1/firs.grf = 1 0 0 0 0 0 16 150 80 300 1
 | 
			
		||||
535A0D00|21AC703CAB2BE6A80FAF2344366FE0C1|japanese_train_set-3.3/jptrains.grf = 0 1 1 2 1 0 1 1 0 1 0 0
 | 
			
		||||
44501401|5B9D588504701CCC2BB14CDB1F18D06B|japanese_maglevs-3.1/jptrainsadd.grf = 0 0 0 0 0 1 1 1
 | 
			
		||||
 | 
			
		||||
[newgrf-static]
 | 
			
		||||
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										111
									
								
								home/gui/wayland/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										111
									
								
								home/gui/wayland/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,111 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  wlogout_pkg = pkgs.wlogout;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
xdg.configFile."swaylock/config".text = 
 | 
			
		||||
''
 | 
			
		||||
screenshots
 | 
			
		||||
grace=5
 | 
			
		||||
effect-pixelate=5
 | 
			
		||||
fade-in=0.2
 | 
			
		||||
 | 
			
		||||
ignore-empty-password
 | 
			
		||||
font=IBM Plex Mono
 | 
			
		||||
 | 
			
		||||
color=${config.colorscheme.colors.base00}00
 | 
			
		||||
 | 
			
		||||
indicator-radius=100
 | 
			
		||||
indicator-thickness=30
 | 
			
		||||
 | 
			
		||||
separator-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
 | 
			
		||||
inside-color=${config.colorscheme.colors.base0C}00
 | 
			
		||||
inside-clear-color=${config.colorscheme.colors.base08}FF
 | 
			
		||||
inside-caps-lock-color=${config.colorscheme.colors.base09}00
 | 
			
		||||
inside-ver-color=${config.colorscheme.colors.base0C}FF
 | 
			
		||||
inside-wrong-color=${config.colorscheme.colors.base0F}FF
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ring-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
ring-clear-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
ring-caps-lock-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
ring-ver-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
ring-wrong-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
 | 
			
		||||
line-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
line-clear-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
line-caps-lock-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
line-ver-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
line-wrong-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
 | 
			
		||||
text-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
text-clear-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
text-caps-lock-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
text-ver-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
text-wrong-color=${config.colorscheme.colors.base00}00
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
key-hl-color=${config.colorscheme.colors.base0C}FF
 | 
			
		||||
bs-hl-color=${config.colorscheme.colors.base08}FF
 | 
			
		||||
caps-lock-key-hl-color=${config.colorscheme.colors.base09}FF
 | 
			
		||||
caps-lock-bs-hl-color=${config.colorscheme.colors.base09}FF
 | 
			
		||||
'';
 | 
			
		||||
 | 
			
		||||
xdg.configFile."wlogout/style.css".text = 
 | 
			
		||||
''
 | 
			
		||||
window {
 | 
			
		||||
    font-family: Material Design Icons;
 | 
			
		||||
    font-size: 64pt;
 | 
			
		||||
    color: #${config.colorscheme.colors.base07};
 | 
			
		||||
    background-color: alpha(#${config.colorscheme.colors.base00},0.6);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button {
 | 
			
		||||
    border-radius:7px;
 | 
			
		||||
    border: 2px solid #${config.colorscheme.colors.base03};
 | 
			
		||||
    color: #${config.colorscheme.colors.base07};
 | 
			
		||||
    padding: 20px;
 | 
			
		||||
    background-color: alpha(#${config.colorscheme.colors.base00},0.8);
 | 
			
		||||
    transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button:hover {
 | 
			
		||||
    background-color: alpha(#${config.colorscheme.colors.base02},0.8);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button:focus {
 | 
			
		||||
    background-color: alpha(#${config.colorscheme.colors.base02},1.0);
 | 
			
		||||
    border: 2px solid #${config.colorscheme.colors.base05};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
'';
 | 
			
		||||
 | 
			
		||||
xdg.configFile."wlogout/layout".text = 
 | 
			
		||||
''
 | 
			
		||||
{
 | 
			
		||||
    "label" : "lock",
 | 
			
		||||
    "action" : "swaylock",
 | 
			
		||||
    "text" : "",
 | 
			
		||||
    "keybind" : "l"
 | 
			
		||||
}
 | 
			
		||||
{
 | 
			
		||||
    "label" : "reboot",
 | 
			
		||||
    "action" : "systemctl reboot",
 | 
			
		||||
    "text" : "",
 | 
			
		||||
    "keybind" : "r"
 | 
			
		||||
}
 | 
			
		||||
{
 | 
			
		||||
    "label" : "shutdown",
 | 
			
		||||
    "action" : "systemctl poweroff",
 | 
			
		||||
    "text" : "",
 | 
			
		||||
    "keybind" : "s"
 | 
			
		||||
}
 | 
			
		||||
'';
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										69
									
								
								home/gui/wofi/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										69
									
								
								home/gui/wofi/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,69 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
 | 
			
		||||
  xdg.configFile."wofi/config".text = ''
 | 
			
		||||
    width=280
 | 
			
		||||
    lines=10
 | 
			
		||||
    xoffset=5
 | 
			
		||||
    yoffset=5
 | 
			
		||||
    location=2
 | 
			
		||||
    prompt=
 | 
			
		||||
    filter_rate=100
 | 
			
		||||
    allow_markup=false
 | 
			
		||||
    no_actions=true
 | 
			
		||||
    halign=fill
 | 
			
		||||
    orientation=vertical
 | 
			
		||||
    content_halign=fill
 | 
			
		||||
    insensitive=true
 | 
			
		||||
    allow_images=true
 | 
			
		||||
    image_size=16
 | 
			
		||||
    hide_scroll=true
 | 
			
		||||
  '';
 | 
			
		||||
  xdg.configFile."wofi/style.css".text = ''
 | 
			
		||||
    window {
 | 
			
		||||
      margin: 0px;
 | 
			
		||||
      border-radius:7px;
 | 
			
		||||
      background-color: #${config.colorscheme.colors.base00};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #input {
 | 
			
		||||
      all: unset;
 | 
			
		||||
      min-height: 20px;
 | 
			
		||||
      padding: 4px 10px;
 | 
			
		||||
      margin: 4px;
 | 
			
		||||
      border: none;
 | 
			
		||||
      color: #${config.colorscheme.colors.base07};
 | 
			
		||||
      font-weight: bold;
 | 
			
		||||
      background-color: #${config.colorscheme.colors.base01};
 | 
			
		||||
      outline: #${config.colorscheme.colors.base04};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #input:selected {
 | 
			
		||||
      color: #${config.colorscheme.colors.base0C};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #inner-box {
 | 
			
		||||
      font-weight: bold;
 | 
			
		||||
      border-radius: 0px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #outer-box {
 | 
			
		||||
      margin: 0px;
 | 
			
		||||
      padding: 3px;
 | 
			
		||||
      border-radius: 7px;
 | 
			
		||||
      border: 2px solid #${config.colorscheme.colors.base03};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #text:selected {
 | 
			
		||||
      color: #${config.colorscheme.colors.base00};
 | 
			
		||||
      background-color: transparent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #entry:selected {
 | 
			
		||||
      background-color: #${config.colorscheme.colors.base07};
 | 
			
		||||
    }
 | 
			
		||||
  '';
 | 
			
		||||
  
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										48
									
								
								home/gui/zathura/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										48
									
								
								home/gui/zathura/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  programs.zathura = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    extraConfig = ''
 | 
			
		||||
      set default-fg                "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      set default-bg 			          "#${config.colorScheme.colors.base00}"
 | 
			
		||||
 | 
			
		||||
      set completion-bg		          "#${config.colorScheme.colors.base02}"
 | 
			
		||||
      set completion-fg		          "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      set completion-highlight-bg	  "#${config.colorScheme.colors.base03}"
 | 
			
		||||
      set completion-highlight-fg	  "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      set completion-group-bg		    "#${config.colorScheme.colors.base01}"
 | 
			
		||||
      set completion-group-fg		    "#${config.colorScheme.colors.base0C}"
 | 
			
		||||
 | 
			
		||||
      set statusbar-fg		          "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      set statusbar-bg		          "#${config.colorScheme.colors.base01}"
 | 
			
		||||
 | 
			
		||||
      set notification-bg		        "#${config.colorScheme.colors.base01}"
 | 
			
		||||
      set notification-fg		        "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      set notification-error-bg	    "#${config.colorScheme.colors.base01}"
 | 
			
		||||
      set notification-error-fg	    "#${config.colorScheme.colors.base0F}"
 | 
			
		||||
      set notification-warning-bg	  "#${config.colorScheme.colors.base01}"
 | 
			
		||||
      set notification-warning-fg	  "#${config.colorScheme.colors.base09}"
 | 
			
		||||
      
 | 
			
		||||
      set inputbar-fg			          "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      set inputbar-bg 		          "#${config.colorScheme.colors.base01}"
 | 
			
		||||
      
 | 
			
		||||
      set recolor-lightcolor		    "#${config.colorScheme.colors.base00}"
 | 
			
		||||
      set recolor-darkcolor		      "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      
 | 
			
		||||
      set index-fg			            "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      set index-bg			            "#${config.colorScheme.colors.base00}"
 | 
			
		||||
      set index-active-fg		        "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      set index-active-bg		        "#${config.colorScheme.colors.base01}"
 | 
			
		||||
      
 | 
			
		||||
      set render-loading-bg		      "#${config.colorScheme.colors.base00}"
 | 
			
		||||
      set render-loading-fg		      "#${config.colorScheme.colors.base06}"
 | 
			
		||||
      
 | 
			
		||||
      set highlight-color		        "#${config.colorScheme.colors.base04}"
 | 
			
		||||
      set highlight-fg              "#${config.colorScheme.colors.base0E}"
 | 
			
		||||
      set highlight-active-color	  "#${config.colorScheme.colors.base0E}"
 | 
			
		||||
      
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										93
									
								
								home/wayland/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										93
									
								
								home/wayland/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
let 
 | 
			
		||||
  dbus-hyprland-environment = pkgs.writeTextFile {
 | 
			
		||||
    name = "dbus-hyprland-environment";
 | 
			
		||||
    destination = "/bin/dbus-hyprland-environment";
 | 
			
		||||
    executable = true;
 | 
			
		||||
    text = ''
 | 
			
		||||
      dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland
 | 
			
		||||
      systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
 | 
			
		||||
      systemctl --user start pipewire wireplumber pipewire-media-session xdg-desktop-portal xdg-desktop-portal-hyprland
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
  in
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  imports = [
 | 
			
		||||
   ../../modules/greetd.nix 
 | 
			
		||||
  ];
 | 
			
		||||
  
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    dbus-hyprland-environment
 | 
			
		||||
    xdg-user-dirs
 | 
			
		||||
    wayland
 | 
			
		||||
    grim
 | 
			
		||||
    slurp
 | 
			
		||||
    swappy
 | 
			
		||||
    cliphist
 | 
			
		||||
    wl-clipboard
 | 
			
		||||
    wlogout
 | 
			
		||||
    wlr-randr
 | 
			
		||||
    wdisplays
 | 
			
		||||
    kanshi
 | 
			
		||||
    glib
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  services.dbus.enable = true;
 | 
			
		||||
  xdg.portal = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    wlr.enable = true;
 | 
			
		||||
    extraPortals = with pkgs; [
 | 
			
		||||
      xdg-desktop-portal-hyprland
 | 
			
		||||
      xdg-desktop-portal
 | 
			
		||||
    ];
 | 
			
		||||
 };
 | 
			
		||||
 | 
			
		||||
  programs.xwayland.enable = true;
 | 
			
		||||
 | 
			
		||||
  environment.sessionVariables = rec {
 | 
			
		||||
    GBM_BACKEND = "amd-drm";
 | 
			
		||||
    __GL_GSYNC_ALLOWED = "0";
 | 
			
		||||
    __GL_VRR_ALLOWED = "0";
 | 
			
		||||
    WLR_DRM_NO_ATOMIC = "1";
 | 
			
		||||
    __GLX_VENDOR_LIBRARY_NAME = "amd";
 | 
			
		||||
    _JAVA_AWT_WM_NONREPARENTING = "1";
 | 
			
		||||
    QT_QPA_PLATFORM = "wayland";
 | 
			
		||||
    QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
 | 
			
		||||
    GDK_BACKEND = "wayland";
 | 
			
		||||
    WLR_NO_HARDWARE_CURSORS = "1";
 | 
			
		||||
    MOZ_ENABLE_WAYLAND = "1";
 | 
			
		||||
    WLR_BACKEND = "vulkan";
 | 
			
		||||
    WLR_RENDERER = "vulkan";
 | 
			
		||||
    XCURSOR_SIZE = "24";
 | 
			
		||||
    NIXOS_OZONE_WL = "1";
 | 
			
		||||
    PATH = [
 | 
			
		||||
      "$HOME/.local/bin/:$PATH"
 | 
			
		||||
    ];
 | 
			
		||||
    XDG_CACHE_HOME  = "$HOME/.cache";
 | 
			
		||||
    XDG_CONFIG_HOME = "$HOME/.config";
 | 
			
		||||
    XDG_DATA_HOME   = "$HOME/.local/share";
 | 
			
		||||
    XDG_STATE_HOME  = "$HOME/.local/state";
 | 
			
		||||
    XDG_BIN_HOME    = "$HOME/.local/bin";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  environment.etc."greetd/environments".text = ''
 | 
			
		||||
    Hyprland
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  environment.etc."xdg/user-dirs.defaults".text = ''
 | 
			
		||||
    XDG_DESKTOP_DIR="$HOME/desktop"
 | 
			
		||||
    XDG_DOCUMENTS_DIR="$HOME/files"
 | 
			
		||||
    XDG_DOWNLOAD_DIR="$HOME/download"
 | 
			
		||||
    XDG_MUSIC_DIR="$HOME/media/music"
 | 
			
		||||
    XDG_PICTURES_DIR="$HOME/media/photo"
 | 
			
		||||
    XDG_PUBLICSHARE_DIR="$HOME/pub"
 | 
			
		||||
    XDG_TEMPLATES_DIR="$HOME/media/templates"
 | 
			
		||||
    XDG_VIDEOS_DIR="$HOME/media/video"
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										230
									
								
								home/wayland/hyprland/config.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										230
									
								
								home/wayland/hyprland/config.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,230 @@
 | 
			
		||||
{
 | 
			
		||||
    config,
 | 
			
		||||
    ...
 | 
			
		||||
}: {
 | 
			
		||||
    wayland.windowManager.hyprland.extraConfig = ''
 | 
			
		||||
 | 
			
		||||
monitor=,preferred,auto,1
 | 
			
		||||
#monitor = HDMI-A-1,1920x1080,5760x0,1 #right
 | 
			
		||||
#monitor = DP-2,1920x1080,1920x0,1 #left
 | 
			
		||||
#monitor = DP-3,1920x1080@144,3840x0,1 #middle
 | 
			
		||||
 | 
			
		||||
input {
 | 
			
		||||
    kb_layout = us, ru
 | 
			
		||||
    kb_variant = intl, phonetic
 | 
			
		||||
    kb_model = pc104
 | 
			
		||||
    kb_options = grp:ctrls_toggle
 | 
			
		||||
    kb_rules =
 | 
			
		||||
 | 
			
		||||
    follow_mouse = 0
 | 
			
		||||
 | 
			
		||||
    sensitivity = 0 # -0.5 # -1.0 - 1.0, 0 means no modification.
 | 
			
		||||
    force_no_accel = true
 | 
			
		||||
 | 
			
		||||
    touchpad {
 | 
			
		||||
        natural_scroll=no
 | 
			
		||||
        disable_while_typing=true
 | 
			
		||||
        scroll_factor=1
 | 
			
		||||
        disable_while_typing=0
 | 
			
		||||
        tap-to-click=0
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
misc {
 | 
			
		||||
    disable_hyprland_logo=true
 | 
			
		||||
    animate_mouse_windowdragging=false
 | 
			
		||||
    animate_manual_resizes=false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
general {
 | 
			
		||||
    gaps_in = 8
 | 
			
		||||
    gaps_out = 15
 | 
			
		||||
    border_size = 2
 | 
			
		||||
    col.active_border = rgb(${config.colorScheme.colors.base05})
 | 
			
		||||
    col.inactive_border = rgb(${config.colorScheme.colors.base03})
 | 
			
		||||
 | 
			
		||||
    col.group_border_active = rgb(${config.colorScheme.colors.base05})
 | 
			
		||||
    col.group_border = rgb(${config.colorScheme.colors.base03})
 | 
			
		||||
 | 
			
		||||
    layout = dwindle
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
decoration {
 | 
			
		||||
    rounding = 7
 | 
			
		||||
 | 
			
		||||
    #blur
 | 
			
		||||
    blur = yes
 | 
			
		||||
    blur_size = 2
 | 
			
		||||
    blur_passes = 1
 | 
			
		||||
    blur_new_optimizations = on
 | 
			
		||||
    multisample_edges = true
 | 
			
		||||
    
 | 
			
		||||
    #opactity
 | 
			
		||||
    inactive_opacity = 1.0
 | 
			
		||||
    active_opacity = 1.0
 | 
			
		||||
    fullscreen_opacity = 1.0
 | 
			
		||||
    
 | 
			
		||||
    # shadow
 | 
			
		||||
    drop_shadow = no
 | 
			
		||||
    shadow_range = 60
 | 
			
		||||
    shadow_offset = 0 5
 | 
			
		||||
    shadow_render_power = 4
 | 
			
		||||
    col.shadow = rgba(00000099)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
animations {
 | 
			
		||||
    enabled = false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dwindle {
 | 
			
		||||
    pseudotile = yes
 | 
			
		||||
    # force_split = 0
 | 
			
		||||
    preserve_split = yes 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
master {
 | 
			
		||||
    new_is_master = true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gestures {
 | 
			
		||||
    workspace_swipe = off
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
exec-once = eww open bar & dunst
 | 
			
		||||
 | 
			
		||||
exec-once = swww init
 | 
			
		||||
 | 
			
		||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
 | 
			
		||||
exec-once = /nix/store/$(ls -la /nix/store | grep 'polkit-gnome' | grep '4096' | awk '{print $9}' | sed -n '$p')/libexec/polkit-gnome-authentication-agent-1 & 
 | 
			
		||||
 | 
			
		||||
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
 | 
			
		||||
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
 | 
			
		||||
 | 
			
		||||
exec-once = swayidle -w timeout 600 'swaylock' before-sleep 'swaylock'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#windowrules
 | 
			
		||||
windowrulev2 = noshadow, floating:0
 | 
			
		||||
 | 
			
		||||
windowrulev2 = float, title:^(flying_kitty)$
 | 
			
		||||
windowrulev2 = size 1100 600, title:^(flying_kitty)$
 | 
			
		||||
windowrulev2 = move center, title:^(flying_kitty)$
 | 
			
		||||
windowrulev2 = animation slide, title:^(flying_kitty)$
 | 
			
		||||
windowrulev2 = float, title:^(Volume Control)$
 | 
			
		||||
windowrulev2 = float, title:^(Picture-in-Picture)$
 | 
			
		||||
windowrulev2 = float, title:^(Steam)$
 | 
			
		||||
windowrulev2 = fullscreen, title:^(wlogout)$
 | 
			
		||||
windowrulev2 = float, title:^(wlogout)$
 | 
			
		||||
 | 
			
		||||
windowrulev2 = workspace 2 silent, class:^(org.telegram.desktop)$
 | 
			
		||||
windowrulev2 = workspace 2 silent, class:^(discord)$
 | 
			
		||||
 | 
			
		||||
windowrulev2 = workspace 8 silent, class:^(org.keepassxc.KeePassXC)$
 | 
			
		||||
windowrulev2 = workspace 8 silent, title:^(Nextcloud)$
 | 
			
		||||
windowrulev2 = workspace 8 silent, class:^(Tk)$,title:^(Server Configuration)$
 | 
			
		||||
 | 
			
		||||
#SPECIAL FLOATERS
 | 
			
		||||
windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC -  Access Request)$
 | 
			
		||||
windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC -  Access Request)$
 | 
			
		||||
windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$
 | 
			
		||||
windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$
 | 
			
		||||
windowrulev2 = float,title:^(Open)$
 | 
			
		||||
windowrulev2 = float,title:^(Choose Files)$
 | 
			
		||||
windowrulev2 = float,title:^(Save As)$
 | 
			
		||||
windowrulev2 = float,title:^(Confirm to replace files)$
 | 
			
		||||
windowrulev2 = float,title:^(File Operation Progress)$
 | 
			
		||||
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
 | 
			
		||||
windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$
 | 
			
		||||
windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Picture-in-Picture)$
 | 
			
		||||
windowrulev2 = float,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$
 | 
			
		||||
windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$
 | 
			
		||||
windowrulev2 = float,class:^(firefox)$,title:^(Extension: (Tree Style Tab) - Close tabs? — Mozilla Firefox)$
 | 
			
		||||
windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Extension: (Tree Style Tab) - Close tabs? — Mozilla Firefox)$
 | 
			
		||||
windowrulev2 = float,class:^(org.telegram.desktop)$,title:^(Media viewer)$
 | 
			
		||||
windowrulev2 = center,class:^(org.telegram.desktop)$,title:^(Media viewer)$
 | 
			
		||||
 | 
			
		||||
#binds
 | 
			
		||||
$mainMod = SUPER
 | 
			
		||||
 | 
			
		||||
bind = SUPER, RETURN, exec, kitty
 | 
			
		||||
 | 
			
		||||
bind = SUPER_SHIFT, RETURN,togglespecialworkspace,
 | 
			
		||||
# bind = SUPER_SHIFT, RETURN, exec, kitty --title flying_kitty --single-instance
 | 
			
		||||
bind = SUPER, Q, killactive, 
 | 
			
		||||
bind = SUPER, T, togglefloating, 
 | 
			
		||||
bind = SUPER, F, fullscreen, 
 | 
			
		||||
 | 
			
		||||
bind = SUPER, D, exec, wofi -modi --show drun
 | 
			
		||||
bind = SUPER SHIFT,D,exec, ~/.config/hypr/themes/apatheia/eww/launch_bar 
 | 
			
		||||
 | 
			
		||||
bind = SUPER, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy
 | 
			
		||||
bind =  , Print, exec, grim -g "$(slurp -d)" - | swappy -f - | wl-copy
 | 
			
		||||
 | 
			
		||||
bind = SUPER, L, exec, swaylock 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bind = SUPER, P, pseudo, # dwindle
 | 
			
		||||
bind = SUPER, J, togglesplit, # dwindle
 | 
			
		||||
bind = SUPER, G, togglegroup
 | 
			
		||||
bind = SUPER, tab, changegroupactive
 | 
			
		||||
 | 
			
		||||
bind = SUPER, left, movefocus, l
 | 
			
		||||
bind = SUPER, right, movefocus, r
 | 
			
		||||
bind = SUPER, up, movefocus, u
 | 
			
		||||
bind = SUPER, down, movefocus, d
 | 
			
		||||
 | 
			
		||||
bind = SUPER, 1, workspace, 1
 | 
			
		||||
bind = SUPER, 2, workspace, 2
 | 
			
		||||
bind = SUPER, 3, workspace, 3
 | 
			
		||||
bind = SUPER, 4, workspace, 4
 | 
			
		||||
bind = SUPER, 5, workspace, 5
 | 
			
		||||
bind = SUPER, 6, workspace, 6
 | 
			
		||||
bind = SUPER, 7, workspace, 7
 | 
			
		||||
bind = SUPER, 8, workspace, 8
 | 
			
		||||
bind = SUPER, 9, workspace, 9
 | 
			
		||||
bind = SUPER, 0, workspace, 10
 | 
			
		||||
 | 
			
		||||
bind = SUPER SHIFT, 1, movetoworkspace, 1
 | 
			
		||||
bind = SUPER SHIFT, 2, movetoworkspace, 2
 | 
			
		||||
bind = SUPER SHIFT, 3, movetoworkspace, 3
 | 
			
		||||
bind = SUPER SHIFT, 4, movetoworkspace, 4
 | 
			
		||||
bind = SUPER SHIFT, 5, movetoworkspace, 5
 | 
			
		||||
bind = SUPER SHIFT, 6, movetoworkspace, 6
 | 
			
		||||
bind = SUPER SHIFT, 7, movetoworkspace, 7
 | 
			
		||||
bind = SUPER SHIFT, 8, movetoworkspace, 8
 | 
			
		||||
bind = SUPER SHIFT, 9, movetoworkspace, 9
 | 
			
		||||
bind = SUPER SHIFT, 0, movetoworkspace, 10
 | 
			
		||||
 | 
			
		||||
bind = SUPER, mouse_down, workspace, e+1
 | 
			
		||||
bind = SUPER, mouse_up, workspace, e-1
 | 
			
		||||
 | 
			
		||||
bindm = SUPER, mouse:272, movewindow
 | 
			
		||||
bindm = SUPER, mouse:273, resizewindow
 | 
			
		||||
bind = , XF86AudioPlay, exec, playerctl play-pause
 | 
			
		||||
bind = , XF86AudioPrev, exec, playerctl previous
 | 
			
		||||
bind = , XF86AudioNext, exec, playerctl next
 | 
			
		||||
bind = , XF86AudioRaiseVolume, exec, amixer -q sset 'Master' 5%+
 | 
			
		||||
bind = , XF86AudioLowerVolume, exec, amixer -q sset 'Master' 5%-
 | 
			
		||||
bind = , XF86AudioMute, exec, amixer -q sset 'Master' toggle
 | 
			
		||||
bind = , XF86MonBrightnessUp, exec, brillo -A 5
 | 
			
		||||
bind = , XF86MonBrightnessDown, exec, brillo -U 5
 | 
			
		||||
 | 
			
		||||
exec-once = [workspace special silent] kitty --title flying_kitty
 | 
			
		||||
exec-once = sh ~/.config/startup.sh
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  xdg.configFile."startup.sh".text =  ''
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
sleep 2
 | 
			
		||||
swww img ~/cloud/dark.jpg
 | 
			
		||||
keepassxc & 
 | 
			
		||||
firefox & 
 | 
			
		||||
jellyfin-mpv-shim & 
 | 
			
		||||
 | 
			
		||||
sleep 2
 | 
			
		||||
nextcloud & 
 | 
			
		||||
telegram-desktop& 
 | 
			
		||||
discord& 
 | 
			
		||||
  '';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								home/wayland/hyprland/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								home/wayland/hyprland/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
{
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  imports = [./config.nix];
 | 
			
		||||
  
 | 
			
		||||
  wayland.windowManager.hyprland = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										317
									
								
								home/xorg/bspwm/config.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										317
									
								
								home/xorg/bspwm/config.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,317 @@
 | 
			
		||||
{
 | 
			
		||||
    config,
 | 
			
		||||
    ...
 | 
			
		||||
}: {
 | 
			
		||||
    xsession.windowManager.bspwm.extraConfig = ''
 | 
			
		||||
    #! /bin/bash
 | 
			
		||||
 | 
			
		||||
xrandr > /dev/shm/xrandr_output
 | 
			
		||||
sxhkd &
 | 
			
		||||
/nix/store/$(ls -la /nix/store | grep 'polkit-gnome' | grep '4096' | awk '{print $9}' | sed -n '$p')/libexec/polkit-gnome-authentication-agent-1 &
 | 
			
		||||
 | 
			
		||||
(xss-lock -- ~/.config/lock.sh || echo "AutoLock Hook Unavailable") &
 | 
			
		||||
 | 
			
		||||
wmname LG3D
 | 
			
		||||
 | 
			
		||||
export _IDISP=$(xrandr --query | grep " connected" | cut -d" " -f1 | grep "eDP" )
 | 
			
		||||
 | 
			
		||||
if [[ $(hostname) == 'Iriy' ]]; then
 | 
			
		||||
	xrandr --output DP-0 --scale 1
 | 
			
		||||
	xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --off --output DP-0 --mode 3840x2160 --pos 1920x254 --rotate normal  --scale 0.75 --primary --output DP-1 --off --output DP-2 --mode 1920x1080 --pos 0x0 --rotate normal --output DP-3 --off --output DP-4 --mode 1920x1080 --pos 4800x0 --rotate normal --output DP-5 --off
 | 
			
		||||
	bspc monitor DP-4 -d 1
 | 
			
		||||
	bspc monitor DP-2 -d 2 3
 | 
			
		||||
	bspc monitor DP-0 -d 0 4 5 6 7 8 9
 | 
			
		||||
elif [[ $(hostname) == 'valinor' ]]; then
 | 
			
		||||
	bspc monitor $_IDISP -d 1 2 3 4 5 6 7 8 9
 | 
			
		||||
else
 | 
			
		||||
	bspc monitor $_IDISP -d 1 2 3 4 5 6 7 8 9
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
bspc config remove_unplugged_monitors true
 | 
			
		||||
bspc config remove_disabled_monitors true
 | 
			
		||||
 | 
			
		||||
bspc config border_width         2
 | 
			
		||||
bspc config window_gap           6
 | 
			
		||||
bspc config split_ratio          0.52
 | 
			
		||||
bspc config borderless_monocle   false
 | 
			
		||||
bspc config gapless_monocle      false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bspc rule -a Screenkey manage=off
 | 
			
		||||
 | 
			
		||||
#bspc config super mod4
 | 
			
		||||
bspc config pointer_action1 move
 | 
			
		||||
bspc config pointer_action2 none
 | 
			
		||||
bspc config pointer_action3 resize_corner
 | 
			
		||||
#bspc config click_to_focus true
 | 
			
		||||
#bspc config focus_follows_pointer true
 | 
			
		||||
 | 
			
		||||
xsetroot -cursor_name left_ptr
 | 
			
		||||
 | 
			
		||||
feh --bg-fill ~/cloud/dark.jpg
 | 
			
		||||
 | 
			
		||||
xrdb ~/.Xressources
 | 
			
		||||
 | 
			
		||||
dunst &
 | 
			
		||||
eww open bar &
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Tab Global - Floating/Global Rules
 | 
			
		||||
bspc rule -a URxvt:yakuaki sticky=on state=floating hidden=on rectangle=$(($(xrandr --current | grep ' connected ' | uniq | awk '{print $4}' | cut -d 'x' -f1 | head -n1)-16))x600+$(($(xrandr --current | grep ' connected' | uniq | awk '{print $4}' | cut -d "+" -f2 | head -n1)+8))+$(($(xrandr --current | grep ' connected' | uniq | awk '{print $4}' | cut -d "+" -f3 | head -n1)+36))
 | 
			
		||||
urxvt -name yakuaki -e ~/.config/script/yakuaki &
 | 
			
		||||
kitty
 | 
			
		||||
 | 
			
		||||
bspc rule -a feh state=floating
 | 
			
		||||
bspc rule -a Confirm state=floating
 | 
			
		||||
bspc rule -a Preferences state=floating
 | 
			
		||||
bspc rule -a dialog state=floating
 | 
			
		||||
bspc rule -a menu state=floating
 | 
			
		||||
bspc rule -a task_dialog state=floating
 | 
			
		||||
bspc rule -a bubble state=floating
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Tab 8 - Various & Utility
 | 
			
		||||
bspc rule -a KeePassXC --one-shot desktop=8
 | 
			
		||||
bspc rule -a Nextcloud desktop=8
 | 
			
		||||
bspc rule -a Tk:tk desktop=8
 | 
			
		||||
 | 
			
		||||
## Tab 4 - Dev
 | 
			
		||||
bspc rule -a VSCodium desktop=4
 | 
			
		||||
 | 
			
		||||
## Tab 3 - Games & Movies
 | 
			
		||||
# ...
 | 
			
		||||
# ...
 | 
			
		||||
 | 
			
		||||
## Tab 2 - Coms Main
 | 
			
		||||
bspc rule -a TelegramDesktop desktop=2
 | 
			
		||||
bspc rule -a Instagram desktop=2
 | 
			
		||||
bspc rule -a lightcord desktop=2
 | 
			
		||||
bspc rule -a discord desktop=2
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Tab 1 - Internet
 | 
			
		||||
bspc rule -a Firefox --one-shot desktop=1
 | 
			
		||||
bspc rule -a firefox --one-shot desktop=1
 | 
			
		||||
bspc rule -a Google-chrome desktop=1
 | 
			
		||||
bspc rule -a Chromium=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
sh ~/.config/startup.sh
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  xdg.configFile."startup.sh".text =  ''
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
bspc desktop -f 0
 | 
			
		||||
 | 
			
		||||
keepassxc --keyfile ~/.config/hcl.ico ~/cloud/kek.kdbx --pw-stdin <<< $(rofi -dmenu -password -i -no-fixed-num-lines -p "Password:" -theme themes/pass) &
 | 
			
		||||
 | 
			
		||||
sleep 2
 | 
			
		||||
bspc desktop -f 0
 | 
			
		||||
 | 
			
		||||
telegram-desktop &
 | 
			
		||||
discord &
 | 
			
		||||
nextcloud &
 | 
			
		||||
jellyfin-mpv-shim &
 | 
			
		||||
flameshot &
 | 
			
		||||
 | 
			
		||||
sleep 2
 | 
			
		||||
 | 
			
		||||
firefox &
 | 
			
		||||
 | 
			
		||||
ibus-daemon -drx
 | 
			
		||||
 | 
			
		||||
easyeffects --gapplication-service &
 | 
			
		||||
bspc desktop -f 0
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
services.sxhkd.extraConfig = ''
 | 
			
		||||
super + Return
 | 
			
		||||
	urxvt	
 | 
			
		||||
 | 
			
		||||
# terminal floating
 | 
			
		||||
super + shift + Return
 | 
			
		||||
	~/.config/script/toggle_yakuaki
 | 
			
		||||
 | 
			
		||||
# program launcher
 | 
			
		||||
super + d
 | 
			
		||||
	rofi -modi "drun" -show drun
 | 
			
		||||
 | 
			
		||||
super + shift + d
 | 
			
		||||
	rofi -show run
 | 
			
		||||
 | 
			
		||||
super + Tab
 | 
			
		||||
	rofi -show window
 | 
			
		||||
 | 
			
		||||
super + Escape
 | 
			
		||||
	pkill -USR1 -x sxhkd; \
 | 
			
		||||
	notify-send "sxhkd config reloaded"
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# bspwm hotkeys
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# quit bspwm normally
 | 
			
		||||
super + alt + Escape
 | 
			
		||||
	bspc quit
 | 
			
		||||
 | 
			
		||||
# close and kill
 | 
			
		||||
super + {_,shift + }w
 | 
			
		||||
	bspc node -{c,k}
 | 
			
		||||
 | 
			
		||||
# alternate between the tiled and monocle layout
 | 
			
		||||
super + m
 | 
			
		||||
	bspc desktop -l next
 | 
			
		||||
 | 
			
		||||
# if the current node is automatic, send it to the last manual, otherwise pull the last leaf
 | 
			
		||||
super + y
 | 
			
		||||
	bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused
 | 
			
		||||
 | 
			
		||||
# swap the current node and the biggest node
 | 
			
		||||
super + g
 | 
			
		||||
	bspc node -s biggest
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# state/flags
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# set the window state
 | 
			
		||||
super + {t,shift + t,s,f}
 | 
			
		||||
	bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
 | 
			
		||||
 | 
			
		||||
# set the node flags
 | 
			
		||||
super + ctrl + {x,y,z}
 | 
			
		||||
	bspc node -g {locked,sticky,private}
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# focus/swap
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# focus the node in the given direction
 | 
			
		||||
super + shift + {_,ctrl + }{h,j,k,l}
 | 
			
		||||
	bspc node -{f,s} {west,south,north,east}
 | 
			
		||||
 | 
			
		||||
# focus the node for the given path jump
 | 
			
		||||
# super + {p,b,comma,period}
 | 
			
		||||
# bspc node -f @{parent,brother,first,second}
 | 
			
		||||
 | 
			
		||||
# focus the next/previous node
 | 
			
		||||
super + {_,shift + }c
 | 
			
		||||
	bspc node -f {next,prev}
 | 
			
		||||
 | 
			
		||||
# focus the next/previous desktop
 | 
			
		||||
super + bracket{left,right}
 | 
			
		||||
	bspc desktop -f {prev,next}
 | 
			
		||||
 | 
			
		||||
# focus the last node/desktop
 | 
			
		||||
super + {grave,Tab}
 | 
			
		||||
	bspc {node,desktop} -f last
 | 
			
		||||
 | 
			
		||||
# focus the older or newer node in the focus history
 | 
			
		||||
super + {o,i}
 | 
			
		||||
	bspc wm -h off; \
 | 
			
		||||
	bspc node {older,newer} -f; \
 | 
			
		||||
	bspc wm -h on
 | 
			
		||||
 | 
			
		||||
# focus or send to the given desktop
 | 
			
		||||
super + {_,shift + }{1-9,0}
 | 
			
		||||
	bspc {desktop -f,node -d} {1-9,0}
 | 
			
		||||
 | 
			
		||||
# focus the next/previous node in the same window
 | 
			
		||||
super + {comma,period}
 | 
			
		||||
    bspc node -f {next,prev}.local
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# preselect
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# preselect the direction
 | 
			
		||||
super + ctrl + {h,j,k,l}
 | 
			
		||||
	bspc node -p {west,south,north,east}
 | 
			
		||||
 | 
			
		||||
# preselect the ratio
 | 
			
		||||
super + ctrl + {1-9}
 | 
			
		||||
	bspc node -o 0.{1-9}
 | 
			
		||||
 | 
			
		||||
# cancel the preselection for the focused node
 | 
			
		||||
super + ctrl + space
 | 
			
		||||
	bspc node -p cancel
 | 
			
		||||
 | 
			
		||||
# cancel the preselection for the focused desktop
 | 
			
		||||
super + ctrl + shift + space
 | 
			
		||||
	bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# move/resize
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# expand a window by moving one of its side outward
 | 
			
		||||
super + alt + {h,j,k,l}
 | 
			
		||||
	bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
 | 
			
		||||
 | 
			
		||||
# contract a window by moving one of its side inward
 | 
			
		||||
super + alt + shift + {h,j,k,l}
 | 
			
		||||
	bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
 | 
			
		||||
 | 
			
		||||
# move a floating window
 | 
			
		||||
super + {Left,Down,Up,Right}
 | 
			
		||||
	bspc node -v {-20 0,0 20,0 -20,20 0}
 | 
			
		||||
 | 
			
		||||
super + {equal,minus} 
 | 
			
		||||
	bspc config window_gap $(( $(bspc config window_gap) {+,-} 5 ))
 | 
			
		||||
 | 
			
		||||
super + ctrl + {Left,Right,Up,Down}
 | 
			
		||||
    bspc node @focused:/ --rotate {270,90,180,180}
 | 
			
		||||
 | 
			
		||||
super + shift + {Left,Right,Up,Down}
 | 
			
		||||
    bspc node -f @parent; bspc node -R 90
 | 
			
		||||
 | 
			
		||||
# Screenshots
 | 
			
		||||
Print
 | 
			
		||||
	flameshot gui
 | 
			
		||||
 | 
			
		||||
# Lock Desktop
 | 
			
		||||
super + l
 | 
			
		||||
        ~/.config/script/lock.sh
 | 
			
		||||
 | 
			
		||||
# Lock Alternative
 | 
			
		||||
super + k
 | 
			
		||||
        xtrlock
 | 
			
		||||
 | 
			
		||||
# VOLUME
 | 
			
		||||
 | 
			
		||||
XF86AudioMute
 | 
			
		||||
	pactl set-sink-mute @DEFAULT_SINK@ toggle
 | 
			
		||||
 | 
			
		||||
XF86AudioRaiseVolume
 | 
			
		||||
	pactl set-sink-volume @DEFAULT_SINK@ +5%
 | 
			
		||||
 | 
			
		||||
XF86AudioLowerVolume
 | 
			
		||||
	pactl set-sink-volume @DEFAULT_SINK@ -5%
 | 
			
		||||
 | 
			
		||||
# BRIGHTNESS
 | 
			
		||||
 | 
			
		||||
# Brightness goes up
 | 
			
		||||
#/home/gamehelp16/Documents/brightness -u
 | 
			
		||||
XF86MonBrightnessUp
 | 
			
		||||
	brightnessctl set +16
 | 
			
		||||
 | 
			
		||||
# Brightness goes down
 | 
			
		||||
XF86MonBrightnessDown
 | 
			
		||||
	brightnessctl set 16-
 | 
			
		||||
 | 
			
		||||
super + F1
 | 
			
		||||
        pactl set-source-mute @DEFAULT_SOURCE@ toggle
 | 
			
		||||
 | 
			
		||||
XF86AudioMicMute
 | 
			
		||||
	pactl set-source-mute @DEFAULT_SOURCE@ toggle
 | 
			
		||||
 | 
			
		||||
super + F7 
 | 
			
		||||
	~/.config/script/screens.sh
 | 
			
		||||
 | 
			
		||||
XF86Display
 | 
			
		||||
	~/.config/script/screens.sh
 | 
			
		||||
      '';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								home/xorg/bspwm/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								home/xorg/bspwm/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
{
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./config.nix
 | 
			
		||||
    ./script.nix
 | 
			
		||||
    ./xressources.nix
 | 
			
		||||
  ];
 | 
			
		||||
  
 | 
			
		||||
  xsession.windowManager.bspwm = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
  };
 | 
			
		||||
  
 | 
			
		||||
  services.sxhkd = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										92
									
								
								home/xorg/bspwm/script.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										92
									
								
								home/xorg/bspwm/script.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,92 @@
 | 
			
		||||
{
 | 
			
		||||
    config,
 | 
			
		||||
    ...
 | 
			
		||||
}: {
 | 
			
		||||
 | 
			
		||||
  xdg.configFile."script/lock.sh".text = ''
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
TMPBG=/tmp/screen.png
 | 
			
		||||
RES=$(xrandr | grep 'current' | sed -E 's/.*current\s([0-9]+)\sx\s([0-9]+).*/\1x\2/')
 | 
			
		||||
 | 
			
		||||
ffmpeg -f x11grab -video_size $RES -y -i $DISPLAY -filter_complex "boxblur=10:1" -vframes 1 $TMPBG
 | 
			
		||||
 | 
			
		||||
pkill -xu $EUID -USR1 dunst
 | 
			
		||||
i3lock -i $TMPBG &
 | 
			
		||||
wait 
 | 
			
		||||
pkill -xu $EUID -USR1 dunst
 | 
			
		||||
 | 
			
		||||
rm $TMPBG
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  xdg.configFile."script/screens.sh".text = ''
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
if [[ $(hostname) == 'Iriy' ]]; then
 | 
			
		||||
MENU="$(rofi -sep "|" -dmenu -i -p 'Display Mode' -theme-str 'entry { placeholder: ""; } inputbar { children: [prompt, textbox-prompt-colon, entry];}' -location 2 -xoffset 0 -yoffset 34 -width 8 -hide-scrollbar -line-padding 4 -padding 10 -lines 6 <<< "None | S")"
 | 
			
		||||
    case "$MENU" in
 | 
			
		||||
        *None)
 | 
			
		||||
            xrandr --output DP-0 --scale 1
 | 
			
		||||
            xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --off --output DP-0 --mode 3840x2160 --pos 1920x254 --rotate normal  --scale 0.75 --primary --output DP-1 --off --output DP-2 --mode 1920x1080 --pos 0x0 --rotate normal --output DP-3 --off --output DP-4 --mode 1920x1080 --pos 4800x0 --rotate normal --output DP-5 --off
 | 
			
		||||
            bspc monitor DP-4 -d 1
 | 
			
		||||
            bspc monitor DP-2 -d 2 3
 | 
			
		||||
            bspc monitor DP-0 -d 0 4 5 6 7 8 9
 | 
			
		||||
            ;;
 | 
			
		||||
        *S)
 | 
			
		||||
            xrandr --output DP-0 --scale 1
 | 
			
		||||
            xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --off --output DP-0 --mode 3840x2160 --pos 1920x254 --rotate normal  --scale 0.75 --primary --output DP-1 --off --output DP-2 --off --output DP-3 --off --output DP-4 --off --output DP-5 --off
 | 
			
		||||
            bspc monitor DP-0 -d 0 1 2 3 4 5 6 7 8 9
 | 
			
		||||
            ;;
 | 
			
		||||
        *WIP) echo "WIP"
 | 
			
		||||
    esac
 | 
			
		||||
elif [[ $(hostname) == 'valinor' ]]; then
 | 
			
		||||
MENU="$(rofi -sep "|" -dmenu -i -p 'Display Mode' -theme-str 'entry { placeholder: ""; } inputbar { children: [prompt, textbox-prompt-colon, entry];}' -location 2 -xoffset 0 -yoffset 34 -width 8 -hide-scrollbar -line-padding 4 -padding 10 -lines 6 <<< "None|P0|P1")"
 | 
			
		||||
    case "$MENU" in
 | 
			
		||||
        *None)
 | 
			
		||||
            xrandr --output HDMI-1 --off --output DisplayPort-0 --off --output DisplayPort-1 --off --output eDP-1 --auto 
 | 
			
		||||
            bspc monitor eDP -d 1 2 3 4 5 6 7 8 9
 | 
			
		||||
            ;;
 | 
			
		||||
        *P0)
 | 
			
		||||
            xrandr --output HDMI-1 --auto --output eDP-1 --auto --below HDMI-1
 | 
			
		||||
            bspc monitor HDMI-1 --swap eDP-1
 | 
			
		||||
            bspc monitor HDMI-1 -d 0
 | 
			
		||||
            bspc monitor eDP-1 -d 1 2 3 4 5 6 7 8 9
 | 
			
		||||
            ;;
 | 
			
		||||
        *P1)
 | 
			
		||||
            xrandr --output eDP-1 --primary --mode 1920x1080 --pos 1200x1200 --rotate normal --output HDMI-1 --mode 1920x1200 --pos 1200x0 --rotate normal --output DisplayPort-1 --mode 1920x1200 --pos 0x210 --rotate left
 | 
			
		||||
            bspc monitor HDMI-1 --swap eDP-1
 | 
			
		||||
            bspc monitor HDMI-1 -d 0
 | 
			
		||||
            bspc monitor eDP -d 1 2 3 4 5 6 7 8 9
 | 
			
		||||
            ;;
 | 
			
		||||
        *WIP) echo "WIP"
 | 
			
		||||
    esac
 | 
			
		||||
fi
 | 
			
		||||
feh --bg-fill ~/cloud/dark.jpg
 | 
			
		||||
  '';
 | 
			
		||||
    
 | 
			
		||||
    xdg.configFile."script/yakuaki.sh".text = ''
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
bspc query -N -n any.floating.hidden > /tmp/yakuakid
 | 
			
		||||
~/.config/script/toggle_yakuaki
 | 
			
		||||
$SHELL
 | 
			
		||||
clear
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
    xdg.configFile."script/toggle_yakuaki.sh".text = ''
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
if [[ -e /tmp/yakuakid ]]
 | 
			
		||||
then
 | 
			
		||||
  id=$(cat /tmp/yakuakid)
 | 
			
		||||
  exists=$(bspc query -N $id -n)
 | 
			
		||||
  if [[ $exists = $id ]]
 | 
			
		||||
  then
 | 
			
		||||
    bspc node $id --flag hidden;bspc node -f $id
 | 
			
		||||
  else
 | 
			
		||||
    rm /tmp/yakuakid
 | 
			
		||||
    urxvt -name yakuaki -e ~/.config/script/yakuaki &
 | 
			
		||||
  fi
 | 
			
		||||
else
 | 
			
		||||
  ~/.config/script/yakuaki
 | 
			
		||||
fi
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										102
									
								
								home/xorg/bspwm/xressources.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										102
									
								
								home/xorg/bspwm/xressources.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,102 @@
 | 
			
		||||
{
 | 
			
		||||
    config,
 | 
			
		||||
    ...
 | 
			
		||||
}: {
 | 
			
		||||
 xresources.extraConfig =   ''
 | 
			
		||||
 | 
			
		||||
#define white #ffffff
 | 
			
		||||
#define black #000000
 | 
			
		||||
#define cFG #${config.colorScheme.colors.base07}
 | 
			
		||||
#define cBG #${config.colorScheme.colors.base00}
 | 
			
		||||
#define cP #${config.colorScheme.colors.base07}
 | 
			
		||||
#define cH #${config.colorScheme.colors.base0C}
 | 
			
		||||
#define c0 #${config.colorScheme.colors.base00}
 | 
			
		||||
#define c1 #${config.colorScheme.colors.base01}
 | 
			
		||||
#define c2 #${config.colorScheme.colors.base02}
 | 
			
		||||
#define c3 #${config.colorScheme.colors.base03}
 | 
			
		||||
#define c4 #${config.colorScheme.colors.base04}
 | 
			
		||||
#define c5 #${config.colorScheme.colors.base05}
 | 
			
		||||
#define c6 #${config.colorScheme.colors.base06}
 | 
			
		||||
#define c7 #${config.colorScheme.colors.base07}
 | 
			
		||||
#define c8 #${config.colorScheme.colors.base08}
 | 
			
		||||
#define c9 #${config.colorScheme.colors.base09}
 | 
			
		||||
#define cA #${config.colorScheme.colors.base0A}
 | 
			
		||||
#define cB #${config.colorScheme.colors.base0B}
 | 
			
		||||
#define cC #${config.colorScheme.colors.base0C}
 | 
			
		||||
#define cD #${config.colorScheme.colors.base0D}
 | 
			
		||||
#define cE #${config.colorScheme.colors.base0E}
 | 
			
		||||
#define cF #${config.colorScheme.colors.base0F}
 | 
			
		||||
 | 
			
		||||
Xft.dpi: 96
 | 
			
		||||
 | 
			
		||||
URxvt.perl-ext-common: default,matcher,tabbed
 | 
			
		||||
URxvt.url-launcher: firefox
 | 
			
		||||
URxvt.matcher.button: 1
 | 
			
		||||
URxvt.url-select.launcher: firefox
 | 
			
		||||
URxvt.url-select.underline: true
 | 
			
		||||
 | 
			
		||||
!URxvt*loginShell: true
 | 
			
		||||
!URxvt*borderless: true
 | 
			
		||||
URxvt*dynamicColors: on
 | 
			
		||||
 | 
			
		||||
URxvt*foreground: cFG
 | 
			
		||||
URxvt*background: cBG
 | 
			
		||||
 | 
			
		||||
URxvt*saveLines:        8192
 | 
			
		||||
URxvt*mapAlert:        true
 | 
			
		||||
!URxvt*visualBell:       true
 | 
			
		||||
URxvt*pastableTabs:     false
 | 
			
		||||
 | 
			
		||||
URxvt*transparent: True
 | 
			
		||||
URxvt*shading: 25
 | 
			
		||||
 | 
			
		||||
URxvt*cursorColor:  cP
 | 
			
		||||
URxvt*throughColor: cF
 | 
			
		||||
!URxvt*highlightColor: cH
 | 
			
		||||
 | 
			
		||||
URxvt*font:       xft:IBMPlexMono:style=Regular:size=10, xft:OpenMoji:size=11, xft:MaterialDesignIcons:size=11
 | 
			
		||||
URxvt*boldFont:   xft:IBMPlexMono:style=Bold:size=10
 | 
			
		||||
URxvt*italicFont: xft:IBMPlexMono:style=Oblique:size=10
 | 
			
		||||
 | 
			
		||||
URxvt.iso14755:   False
 | 
			
		||||
URxvt.scrollBar: False
 | 
			
		||||
URxvt.scrollBar_right: False
 | 
			
		||||
URxvt.scrollBar_floating: False
 | 
			
		||||
URxvt.scrollstyle: rxvt
 | 
			
		||||
 | 
			
		||||
URxvt.tabbed.tabbar-fg: 7
 | 
			
		||||
URxvt.tabbed.tabbar-bg: 0
 | 
			
		||||
URxvt.tabbed.tab-fg: 7
 | 
			
		||||
URxvt.tabbed.tab-bg: 1
 | 
			
		||||
 | 
			
		||||
URxvt.letterSpace: true
 | 
			
		||||
 | 
			
		||||
Xft.antialias: True
 | 
			
		||||
Xft.autohint: False
 | 
			
		||||
Xft.hinting: True
 | 
			
		||||
 | 
			
		||||
!*.foreground: cFG
 | 
			
		||||
!*.background: cBF
 | 
			
		||||
!*.cursorColor: cP
 | 
			
		||||
 | 
			
		||||
!*fading:35
 | 
			
		||||
!*faceColor:c1
 | 
			
		||||
 | 
			
		||||
*.color0:  c0
 | 
			
		||||
*.color1:  c1
 | 
			
		||||
*.color2:  c2
 | 
			
		||||
*.color3:  c3
 | 
			
		||||
*.color4:  c4
 | 
			
		||||
*.color5:  c5
 | 
			
		||||
*.color6:  c6
 | 
			
		||||
*.color7:  c7
 | 
			
		||||
*.color8:  c8
 | 
			
		||||
*.color9:  c9
 | 
			
		||||
*.color10: cA
 | 
			
		||||
*.color11: cB
 | 
			
		||||
*.color12: cC
 | 
			
		||||
*.color13: cD
 | 
			
		||||
*.color14: cE
 | 
			
		||||
*.color15: cF
 | 
			
		||||
    '';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										68
									
								
								home/xorg/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										68
									
								
								home/xorg/default.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,68 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
 | 
			
		||||
  imports = [
 | 
			
		||||
   ../../modules/greetd.nix 
 | 
			
		||||
  ];
 | 
			
		||||
  
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    sxhkd
 | 
			
		||||
    xrandr
 | 
			
		||||
    arandr
 | 
			
		||||
    flameshot
 | 
			
		||||
    xtrlock
 | 
			
		||||
    i3lock
 | 
			
		||||
    
 | 
			
		||||
    # dbus-hyprland-environment
 | 
			
		||||
    # xdg-user-dirs
 | 
			
		||||
    # wayland
 | 
			
		||||
    # grim
 | 
			
		||||
    # slurp
 | 
			
		||||
    # cliphist
 | 
			
		||||
    # wl-clipboard
 | 
			
		||||
    # wlogout
 | 
			
		||||
    # wlr-randr
 | 
			
		||||
    # glib
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  services.dbus.enable = true;
 | 
			
		||||
  xdg.portal = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs.bspwm.enable = true;
 | 
			
		||||
 | 
			
		||||
  environment.sessionVariables = rec {
 | 
			
		||||
    GBM_BACKEND = "amd-drm";
 | 
			
		||||
    __GL_GSYNC_ALLOWED = "0";
 | 
			
		||||
    __GL_VRR_ALLOWED = "0";
 | 
			
		||||
    WLR_DRM_NO_ATOMIC = "1";
 | 
			
		||||
    __GLX_VENDOR_LIBRARY_NAME = "amd";
 | 
			
		||||
    _JAVA_AWT_WM_NONREPARENTING = "1";
 | 
			
		||||
    QT_QPA_PLATFORM = "xcb";
 | 
			
		||||
    QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
 | 
			
		||||
    GDK_BACKEND = "x11";
 | 
			
		||||
    WLR_NO_HARDWARE_CURSORS = "1";
 | 
			
		||||
    MOZ_ENABLE_WAYLAND = "-";
 | 
			
		||||
    WLR_BACKEND = "vulkan";
 | 
			
		||||
    WLR_RENDERER = "vulkan";
 | 
			
		||||
    XCURSOR_SIZE = "24";
 | 
			
		||||
    NIXOS_OZONE_WL = "1";
 | 
			
		||||
    PATH = [
 | 
			
		||||
      "$HOME/.local/bin/:$PATH"
 | 
			
		||||
    ];
 | 
			
		||||
    XDG_CACHE_HOME  = "$HOME/.cache";
 | 
			
		||||
    XDG_CONFIG_HOME = "$HOME/.config";
 | 
			
		||||
    XDG_DATA_HOME   = "$HOME/.local/share";
 | 
			
		||||
    XDG_STATE_HOME  = "$HOME/.local/state";
 | 
			
		||||
    XDG_BIN_HOME    = "$HOME/.local/bin";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  environment.etc."greetd/environments".text = ''
 | 
			
		||||
    bspwm
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user