[Init]
This commit is contained in:
67
home/gui/default.nix
Executable file
67
home/gui/default.nix
Executable file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./dunst
|
||||
./eww
|
||||
./wofi
|
||||
./mpv
|
||||
./wayland
|
||||
./pipewire
|
||||
|
||||
./theme
|
||||
|
||||
./firefox
|
||||
./zathura
|
||||
./kitty
|
||||
|
||||
./vosk
|
||||
./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"];
|
||||
|
||||
"image/png" = ["imv-dir.desktop"];
|
||||
"image/jpg" = ["imv-dir.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 = with pkgs; [
|
||||
eww-wayland
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
'';
|
||||
}
|
61
home/gui/theme/default.nix
Executable file
61
home/gui/theme/default.nix
Executable file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
colorVariant = " black";
|
||||
gtkThemeFromScheme = import ./gtk-theme-gen.nix { inherit pkgs config; };
|
||||
wallpaperGen = import ./wallpaper-gen.nix {inherit pkgs config; };
|
||||
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;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "tela-circle-icon-theme";
|
||||
package = pkgs.tela-circle-icon-theme;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk";
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
wallpaperGen
|
||||
];
|
||||
|
||||
xdg.configFile."script/wallpaper.sh".text = ''
|
||||
#!/bin/sh
|
||||
|
||||
NIXDIR=${wallpaperGen}
|
||||
WPDIR=$NIXDIR/share/wallpaper/
|
||||
|
||||
IMGS=$(find $WPDIR -type f -print)
|
||||
|
||||
|
||||
RES=$(echo "$IMGS" | awk -v dir="$WPDIR" '{
|
||||
image_file = $0;
|
||||
gsub("^" dir, "", image_file);
|
||||
print "img:" $0 ":text:" image_file;
|
||||
}')
|
||||
|
||||
IMG=$WPDIR/$(echo "$RES" | wofi --dmenu --allow-images show-icons true -theme-str '#window { width: 50%; }' -p "Choose wallpaper:")
|
||||
IMG=$(echo "$IMG" | awk -F ':' '{print $2}')
|
||||
swww img $IMG
|
||||
'';
|
||||
}
|
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, config }:
|
||||
|
||||
let
|
||||
rendersvg = pkgs.runCommand "rendersvg" { } ''
|
||||
mkdir -p $out/bin
|
||||
ln -s ${pkgs.resvg}/bin/resvg $out/bin/rendersvg
|
||||
'';
|
||||
scheme = config.colorScheme;
|
||||
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 .
|
||||
'';
|
||||
}
|
45
home/gui/theme/wallpaper-gen.nix
Normal file
45
home/gui/theme/wallpaper-gen.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{ pkgs, config }:
|
||||
|
||||
let
|
||||
scheme = config.colorScheme;
|
||||
colors = scheme.colors;
|
||||
dither = "atkinson"; # none | floyd-steinberg | atkinson | jjn | burkes | sierra | sierra-lite
|
||||
in
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
pname = "generated-wallpaper";
|
||||
version = "a1676fc2a0e3dfb7bf95d8a89e592830";
|
||||
src = pkgs.fetchFromGitea {
|
||||
domain = "git.helcel.net";
|
||||
owner = "sora";
|
||||
repo = "nixconfig-wallpaper";
|
||||
rev = version;
|
||||
sha256 = "sha256-ZhBjTaKzoiEq1ptMmNWWRPCjLJsvy9My/HuzRaDjX1c=";
|
||||
};
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
custom.repalette
|
||||
nodejs
|
||||
imagemagick
|
||||
gifsicle
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
echo "${colors.base00},${colors.base01},\
|
||||
${colors.base02},${colors.base03},\
|
||||
${colors.base04},${colors.base05},\
|
||||
${colors.base06},${colors.base07},\
|
||||
${colors.base08},${colors.base09},\
|
||||
${colors.base0A},${colors.base0B},\
|
||||
${colors.base0C},${colors.base0D},\
|
||||
${colors.base0E},${colors.base0F}" > palette.in
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
make DITHER=${dither} PALETTE_SIZE=0 all
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/wallpaper
|
||||
cp -r build/* $out/share/wallpaper/
|
||||
'';
|
||||
}
|
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.base0C}"
|
||||
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]
|
||||
|
||||
'';
|
||||
|
||||
|
||||
}
|
69
home/gui/vosk/default.nix
Normal file
69
home/gui/vosk/default.nix
Normal file
@@ -0,0 +1,69 @@
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
custom.vosk
|
||||
custom.voskcli
|
||||
custom.vosk-lang.en-us
|
||||
custom.vosk-lang.ja
|
||||
custom.vosk-lang.de
|
||||
custom.vosk-lang.ru
|
||||
jq
|
||||
(python3.withPackages(ps: with ps; [ translatepy ]))
|
||||
];
|
||||
|
||||
xdg.configFile."script/transcript-translate.py".text = ''
|
||||
#!/bin/python
|
||||
|
||||
import sys;
|
||||
from translatepy.translators.google import GoogleTranslate;
|
||||
|
||||
if len(sys.argv) != 2:
|
||||
print("No language provided.")
|
||||
exit
|
||||
translator = GoogleTranslate()
|
||||
while True:
|
||||
for line in sys.stdin:
|
||||
sys.stdout.write(translator.translate(line,sys.argv[1]).result+"\n")
|
||||
'';
|
||||
|
||||
xdg.configFile."script/transcript.sh".text = ''
|
||||
#!/bin/sh
|
||||
|
||||
MODELS=(
|
||||
"English:${pkgs.custom.vosk-lang.en-us}/usr/share/vosk-models/en-us"
|
||||
"German:${pkgs.custom.vosk-lang.de}/usr/share/vosk-models/de"
|
||||
"Russian:${pkgs.custom.vosk-lang.ru}/usr/share/vosk-models/ru"
|
||||
"Japanese:${pkgs.custom.vosk-lang.ja}/usr/share/vosk-models/ja"
|
||||
)
|
||||
|
||||
MODEL_OPTS=""
|
||||
for pair in "''${MODELS[@]}"; do
|
||||
MODEL_OPTS+="$pair\n"
|
||||
done
|
||||
|
||||
MODEL_OPT=$(echo -e "$MODEL_OPTS" | wofi --dmenu -p "Choose model:")
|
||||
MODEL=$(echo "$MODEL_OPT" | awk -F ':' '{print $2}')
|
||||
|
||||
TRANSS="None\nNone-prog\nEnglish\nGerman\nRussian\nJapanese"
|
||||
TRANS=$(echo -e "$TRANSS" | wofi --dmenu -p "Choose translation:")
|
||||
|
||||
export VOSK_MODEL=$MODEL
|
||||
case $TRANS in
|
||||
"None")
|
||||
voskcli 2>/dev/null | jq --unbuffered -r '.alternatives[0].text // empty | select(length > 0)' 2>/dev/null
|
||||
;;
|
||||
"None-prog")
|
||||
voskcli 2>/dev/null | jq --unbuffered -r '.alternatives[0].text // empty, .partial // empty | select(length > 0)' 2>/dev/null
|
||||
;;
|
||||
*)
|
||||
voskcli 2>/dev/null | jq --unbuffered -r '.alternatives[0].text // empty | select(length > 0)' | python ~/.config/script/transcript-translate.py $TRANS
|
||||
;;
|
||||
esac
|
||||
'';
|
||||
|
||||
}
|
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}"
|
||||
|
||||
'';
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user