Migrate to snowfall lib

This commit is contained in:
soraefir
2023-11-04 02:28:27 +01:00
parent a7ef5cf996
commit 99d64c588e
175 changed files with 3870 additions and 4002 deletions

View File

@ -0,0 +1,22 @@
{ lib, config, ... }: {
config = lib.mkIf (config.homecfg.make.gui) {
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;
};
};
};
};
}

View 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;
}

View File

@ -0,0 +1,11 @@
{ lib, config, pkgs, ... }: {
config = lib.mkIf (config.homecfg.make.gui) {
programs.imv.enable = true;
programs.obs-studio.enable = true;
home.packages = with pkgs; [ jellyfin-mpv-shim krita gimp darktable ];
};
}

View File

@ -0,0 +1,11 @@
{ lib, config, pkgs, ... }: {
config = lib.mkIf (config.homecfg.make.gui) {
programs.mpv = {
enable = true;
scripts = with pkgs; [ mpvScripts.mpris ];
};
programs.yt-dlp.enable = true;
};
}

View File

@ -0,0 +1,31 @@
{ lib, config, ... }: {
config = lib.mkIf (config.homecfg.make.gui) {
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"
}
}
}
]
'';
};
}

View File

@ -0,0 +1,65 @@
{ lib, config, pkgs, ... }: {
config = lib.mkIf (config.homecfg.make.gui) {
# home.packages = with pkgs; [
# custom.vosk
# custom.vosk.cli
# custom.vosk.lang.en
# 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.vosklang.en-us}/usr/share/vosk-models/en-us"
# "German:${pkgs.custom.vosklang.de}/usr/share/vosk-models/de"
# "Russian:${pkgs.custom.vosklang.ru}/usr/share/vosk-models/ru"
# "Japanese:${pkgs.custom.vosklang.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
# '';
};
}

View File

@ -0,0 +1,17 @@
{ lib, config, pkgs, ... }: {
config = lib.mkIf (config.homecfg.make.gui) {
programs.vscode = {
enable = true;
package = pkgs.vscodium;
extensions = with pkgs.vscode-extensions; [
bbenoist.nix
esbenp.prettier-vscode
golang.go
ms-python.vscode-pylance
ms-vscode.cpptools
dbaeumer.vscode-eslint
];
};
};
}

View File

@ -0,0 +1,48 @@
{ lib, config, ... }: {
config = lib.mkIf (config.homecfg.make.gui) {
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}"
'';
};
};
}

View File

@ -0,0 +1,18 @@
{ lib, config, pkgs, ... }: {
config = lib.mkIf (config.homecfg.make.gui) {
services.nextcloud-client.enable = true;
home.packages = with pkgs; [
xfce.thunar
xfce.thunar-volman
xfce.thunar-archive-plugin
xfce.tumbler
telegram-desktop
pavucontrol
keepassxc
gramps
];
};
}

View File

@ -0,0 +1,21 @@
{ lib, config, pkgs, ... }: {
imports = [ ./openttd.nix ];
config = lib.mkIf (config.homecfg.make.game) {
home.packages = with pkgs; [
custom.simc
#games
steam
gamemode
gamescope
mangohud
prismlauncher
openttd-jgrpp
bottles
];
};
}

View File

@ -0,0 +1,766 @@
{ lib, config, ... }: {
config = lib.mkIf (config.homecfg.make.game) {
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]
'';
};
}

View File

@ -0,0 +1,56 @@
{ lib, config, pkgs, ... }:
let
colorVariant = " black";
gtkThemeFromScheme = import ./gtk-theme-gen.nix { inherit pkgs config; };
wallpaperGen = import ./wallpaper-gen.nix { inherit pkgs config; };
in {
config = lib.mkIf (config.homecfg.make.gui) {
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 pkgs.swww ];
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
'';
};
}

View File

@ -0,0 +1,68 @@
{ 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 .
'';
}

View File

@ -0,0 +1,40 @@
{ 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/
'';
}