Watch
1
0
Fork
You've already forked dotfiles
0
This commit is contained in:
MAnitosik 2026-08-05 16:37:08 +03:00
commit 29987d67a2
29 changed files with 30601 additions and 0 deletions

42
README.md Normal file
View file

@ -0,0 +1,42 @@
## Post installation configs and scripts for CachyOS
### CachyOS recommendatios
- Filesystem should be ext4 or xfs (I just prefer using simple and fast filesystems)
- No DE/WM should be installed before using these scripts and configs
- Exclude GUI packages created by CachyOS (e.g. CachyOS-Welcome)
- These scripts and configs were created for Russia due to restrictions from my ISP (I live in Russia)
- The Linux kernel `CMDLINE` was optimized for AMD (GPU + CPU). Nvidia and Intel are not recommended
- Firefox and Micro should be included in the installation screen
- Bootloader should be Limine
### Usage
```
git clone --depth 1 https://github.com/MAnitosik/cachy.git
cd ./cachy/scripts/
# Optional. You need to make sure you know what you do when installing zapret. It is not a guide for using Zapret on Linux. Alt9 works for me
bash ./zapret.sh
# It is recommended to reboot after this script
bash ./main.sh
# You should choose Niri + Alacritty. All optional packages should be installed. Never choose `N`
bash ./dank.sh
sudo systemctl reboot
```
### Some things you should know
- I will create the script for updating config files later. But you should review all new commits yourself. I am not going to do any migrations scripts like Omarchy
- Use `reset.sh` in the scripts directory/folder to reset all managed (by this repo) configs
- Use `cachyos-rate-mirrors.sh` in the scripts directory/folder to rate mirrors. The region is hardcoded to `RU`
- Things which are recommended to configure in DMS settings: Displays -> Configuration; Network; Applications -> Default Apps; System -> Audio,Printers; Power & Security -> Battery (Battery Protection)
- Most of other settings are not recommended to change if you plan to update these config files using scripts in this repo
- Open `localhost:2017` in your browser to use v2rayA (you can disable v2rayA with `sudo systemctl disable --now v2raya.service`)
- `MANGOHUD=1`, `mangohud` or `gamescope --mangoapp` should be used for MangoHud
- Do not enable game filter in zapret settings if you plan to use any kind of VPN
- I do not really recommend using `Shelly`, but maybe I am just too old to use these modern GUI package managers
- Do not enable shader pre-caching in Steam if you use a modern PC
- PPD (power-profiles-daemon) was removed from this setup due to using cpupower (schedutil) with scx-scheds (scx_bpfland with the flag "-f")
- Do not use AmneziaDNS in AmneziaVPN settings

55
cache/DankMaterialShell/cache.json vendored Normal file
View file

@ -0,0 +1,55 @@
{
"wallpaperLastPath": "/usr/share/wallpapers/cachyos-wallpapers",
"profileLastPath": "",
"fileBrowserSettings": {
"wallpaper": {
"lastPath": "/usr/share/wallpapers/cachyos-wallpapers",
"viewMode": "grid",
"sortBy": "name",
"sortAscending": true,
"iconSizeIndex": 1,
"showSidebar": true
},
"profile": {
"lastPath": "",
"viewMode": "grid",
"sortBy": "name",
"sortAscending": true,
"iconSizeIndex": 1,
"showSidebar": true
},
"notepad_save": {
"lastPath": "",
"viewMode": "list",
"sortBy": "name",
"sortAscending": true,
"iconSizeIndex": 1,
"showSidebar": true
},
"notepad_load": {
"lastPath": "",
"viewMode": "list",
"sortBy": "name",
"sortAscending": true,
"iconSizeIndex": 1,
"showSidebar": true
},
"generic": {
"lastPath": "",
"viewMode": "list",
"sortBy": "name",
"sortAscending": true,
"iconSizeIndex": 1,
"showSidebar": true
},
"default": {
"lastPath": "",
"viewMode": "list",
"sortBy": "name",
"sortAscending": true,
"iconSizeIndex": 1,
"showSidebar": true
}
},
"configVersion": 1
}

108
cache/DankMaterialShell/dms-colors.json vendored Normal file
View file

@ -0,0 +1,108 @@
{
"colors": {
"dark": {
"background": "#111318",
"error": "#ffb4ab",
"error_container": "#93000a",
"inverse_on_surface": "#2e3035",
"inverse_primary": "#3c6090",
"inverse_surface": "#e1e2e9",
"on_background": "#e1e2e9",
"on_error": "#690005",
"on_error_container": "#ffdad6",
"on_primary": "#00315e",
"on_primary_container": "#d4e3ff",
"on_primary_fixed": "#001c3a",
"on_primary_fixed_variant": "#224876",
"on_secondary": "#273141",
"on_secondary_container": "#d8e3f8",
"on_secondary_fixed": "#111c2b",
"on_secondary_fixed_variant": "#3d4758",
"on_surface": "#e1e2e9",
"on_surface_variant": "#c3c6cf",
"on_tertiary": "#3d2946",
"on_tertiary_container": "#f7d8ff",
"on_tertiary_fixed": "#271430",
"on_tertiary_fixed_variant": "#553f5d",
"outline": "#8d9199",
"outline_variant": "#43474e",
"primary": "#a6c8ff",
"primary_container": "#224876",
"primary_fixed": "#d4e3ff",
"primary_fixed_dim": "#a6c8ff",
"scrim": "#000000",
"secondary": "#bcc7dc",
"secondary_container": "#3d4758",
"secondary_fixed": "#d8e3f8",
"secondary_fixed_dim": "#bcc7dc",
"shadow": "#000000",
"source_color": "#2c578d",
"surface": "#111318",
"surface_bright": "#37393e",
"surface_container": "#1d2024",
"surface_container_high": "#282a2f",
"surface_container_highest": "#32353a",
"surface_container_low": "#191c20",
"surface_container_lowest": "#0c0e13",
"surface_dim": "#111318",
"surface_tint": "#a6c8ff",
"surface_variant": "#43474e",
"tertiary": "#dabde2",
"tertiary_container": "#553f5d",
"tertiary_fixed": "#f7d8ff",
"tertiary_fixed_dim": "#dabde2"
},
"light": {
"background": "#f9f9ff",
"error": "#ba1a1a",
"error_container": "#ffdad6",
"inverse_on_surface": "#f0f0f7",
"inverse_primary": "#a6c8ff",
"inverse_surface": "#2e3035",
"on_background": "#191c20",
"on_error": "#ffffff",
"on_error_container": "#410002",
"on_primary": "#ffffff",
"on_primary_container": "#001c3a",
"on_primary_fixed": "#001c3a",
"on_primary_fixed_variant": "#224876",
"on_secondary": "#ffffff",
"on_secondary_container": "#111c2b",
"on_secondary_fixed": "#111c2b",
"on_secondary_fixed_variant": "#3d4758",
"on_surface": "#191c20",
"on_surface_variant": "#43474e",
"on_tertiary": "#ffffff",
"on_tertiary_container": "#271430",
"on_tertiary_fixed": "#271430",
"on_tertiary_fixed_variant": "#553f5d",
"outline": "#74777f",
"outline_variant": "#c3c6cf",
"primary": "#3c6090",
"primary_container": "#d4e3ff",
"primary_fixed": "#d4e3ff",
"primary_fixed_dim": "#a6c8ff",
"scrim": "#000000",
"secondary": "#545f71",
"secondary_container": "#d8e3f8",
"secondary_fixed": "#d8e3f8",
"secondary_fixed_dim": "#bcc7dc",
"shadow": "#000000",
"source_color": "#2c578d",
"surface": "#f9f9ff",
"surface_bright": "#f9f9ff",
"surface_container": "#ededf4",
"surface_container_high": "#e7e8ee",
"surface_container_highest": "#e1e2e9",
"surface_container_low": "#f3f3fa",
"surface_container_lowest": "#ffffff",
"surface_dim": "#d9dae0",
"surface_tint": "#3c6090",
"surface_variant": "#e0e2ec",
"tertiary": "#6e5676",
"tertiary_container": "#f7d8ff",
"tertiary_fixed": "#f7d8ff",
"tertiary_fixed_dim": "#dabde2"
}
}
}

View file

@ -0,0 +1,8 @@
{
"maxHistory": 100,
"maxEntrySize": 5242880,
"autoClearDays": 2,
"clearAtStartup": false,
"disabled": false,
"disableHistory": false
}

View file

@ -0,0 +1,218 @@
{
"currentThemeName": "dynamic",
"customThemeFile": "",
"matugenScheme": "scheme-tonal-spot",
"runUserMatugenTemplates": true,
"matugenTargetMonitor": "",
"dankBarTransparency": 1,
"dankBarWidgetTransparency": 1,
"popupTransparency": 1,
"dockTransparency": 1,
"use24HourClock": true,
"showSeconds": false,
"useFahrenheit": false,
"nightModeEnabled": false,
"weatherLocation": "",
"weatherCoordinates": "",
"useAutoLocation": true,
"weatherEnabled": true,
"showLauncherButton": true,
"showWorkspaceSwitcher": true,
"showFocusedWindow": true,
"showWeather": true,
"showMusic": true,
"showClipboard": true,
"showCpuUsage": false,
"showMemUsage": false,
"showCpuTemp": false,
"showGpuTemp": false,
"selectedGpuIndex": 0,
"enabledGpuPciIds": [],
"showSystemTray": true,
"showClock": true,
"showNotificationButton": true,
"showBattery": true,
"showControlCenterButton": true,
"controlCenterShowNetworkIcon": true,
"controlCenterShowBluetoothIcon": true,
"controlCenterShowAudioIcon": true,
"controlCenterWidgets": [
{
"id": "volumeSlider",
"enabled": true,
"width": 50
},
{
"id": "brightnessSlider",
"enabled": true,
"width": 50
},
{
"id": "wifi",
"enabled": true,
"width": 50
},
{
"id": "bluetooth",
"enabled": true,
"width": 50
},
{
"id": "audioOutput",
"enabled": true,
"width": 50
},
{
"id": "audioInput",
"enabled": true,
"width": 50
},
{
"id": "nightMode",
"enabled": true,
"width": 50
},
{
"id": "darkMode",
"enabled": true,
"width": 50
}
],
"showWorkspaceIndex": false,
"workspaceScrolling": false,
"showWorkspacePadding": false,
"showWorkspaceApps": false,
"maxWorkspaceIcons": 3,
"workspacesPerMonitor": true,
"dwlShowAllTags": false,
"workspaceNameIcons": {},
"waveProgressEnabled": true,
"clockCompactMode": false,
"focusedWindowCompactMode": false,
"runningAppsCompactMode": true,
"keyboardLayoutNameCompactMode": false,
"runningAppsCurrentWorkspace": false,
"runningAppsGroupByApp": false,
"clockDateFormat": "",
"lockDateFormat": "",
"mediaSize": 1,
"dankBarLeftWidgets": [
"launcherButton",
"workspaceSwitcher",
"focusedWindow"
],
"dankBarCenterWidgets": [
"music",
"clock",
{
"id": "weather",
"enabled": true
}
],
"dankBarRightWidgets": [
"systemTray",
"clipboard",
"notificationButton",
"battery",
"controlCenterButton"
],
"appLauncherViewMode": "list",
"spotlightModalViewMode": "list",
"sortAppsAlphabetically": false,
"networkPreference": "auto",
"iconTheme": "System Default",
"launcherLogoMode": "os",
"launcherLogoCustomPath": "",
"launcherLogoColorOverride": "",
"launcherLogoColorInvertOnMode": false,
"launcherLogoBrightness": 0.5,
"launcherLogoContrast": 1,
"launcherLogoSizeOffset": 0,
"fontFamily": "JetBrainsMono Nerd Font Mono",
"monoFontFamily": "JetBrainsMono Nerd Font Mono",
"fontWeight": 400,
"fontScale": 1,
"dankBarFontScale": 1,
"notepadUseMonospace": true,
"notepadFontFamily": "",
"notepadFontSize": 14,
"notepadShowLineNumbers": false,
"notepadTransparencyOverride": -1,
"notepadLastCustomTransparency": 0.7,
"soundsEnabled": true,
"useSystemSoundTheme": false,
"soundNewNotification": true,
"soundVolumeChanged": true,
"soundPluggedIn": true,
"gtkThemingEnabled": false,
"qtThemingEnabled": false,
"syncModeWithPortal": true,
"showDock": false,
"dockAutoHide": false,
"dockGroupByApp": false,
"dockOpenOnOverview": false,
"dockPosition": 1,
"dockSpacing": 4,
"dockBottomGap": 0,
"dockIconSize": 40,
"dockIndicatorStyle": "circle",
"cornerRadius": 12,
"notificationOverlayEnabled": false,
"dankBarAutoHide": false,
"dankBarOpenOnOverview": true,
"dankBarVisible": true,
"dankBarSpacing": 0,
"dankBarBottomGap": 0,
"dankBarInnerPadding": 4,
"dankBarSquareCorners": true,
"dankBarNoBackground": false,
"dankBarGothCornersEnabled": false,
"dankBarBorderEnabled": false,
"dankBarBorderColor": "surfaceText",
"dankBarBorderOpacity": 1,
"dankBarBorderThickness": 1,
"popupGapsAuto": true,
"popupGapsManual": 4,
"dankBarPosition": 0,
"lockScreenShowPowerActions": true,
"enableFprint": true,
"maxFprintTries": 3,
"hideBrightnessSlider": false,
"widgetBackgroundColor": "sch",
"surfaceBase": "s",
"wallpaperFillMode": "Fill",
"blurredWallpaperLayer": false,
"blurWallpaperOnOverview": true,
"notificationTimeoutLow": 5000,
"notificationTimeoutNormal": 5000,
"notificationTimeoutCritical": 0,
"notificationPopupPosition": 0,
"osdAlwaysShowValue": false,
"powerActionConfirm": true,
"customPowerActionLock": "",
"customPowerActionLogout": "",
"customPowerActionSuspend": "",
"customPowerActionHibernate": "",
"customPowerActionReboot": "",
"customPowerActionPowerOff": "",
"updaterUseCustomCommand": false,
"updaterCustomCommand": "",
"updaterTerminalAdditionalParams": "",
"screenPreferences": {},
"showOnLastDisplay": {},
"animationSpeed": 4,
"customAnimationDuration": 167,
"acMonitorTimeout": 1200,
"acLockTimeout": 900,
"acSuspendTimeout": 3600,
"acHibernateTimeout": 0,
"batteryMonitorTimeout": 1200,
"batteryLockTimeout": 3600,
"batterySuspendTimeout": 3600,
"batteryHibernateTimeout": 0,
"lockBeforeSuspend": true,
"loginctlLockIntegration": true,
"launchPrefix": "",
"brightnessDevicePins": {},
"configVersion": 1
}

View file

@ -0,0 +1,422 @@
### MangoHud configuration file
### Uncomment any options you wish to enable. Default options are left uncommented
### Use some_parameter=0 to disable a parameter (only works with on/off parameters)
### Everything below can be used / overridden with the environment variable MANGOHUD_CONFIG instead
################ INFORMATIONAL #################
## prints possible options on stdout
# help
################ PERFORMANCE #################
### Limit the application FPS. Comma-separated list of one or more FPS values (e.g. 0,30,60). 0 means unlimited (unless VSynced)
# fps_limit=0
### early = wait before present, late = wait after present
# fps_limit_method=
### Vulkan Present Mode. Overrides application present mode. Takes precedence over `vsync=`.
# Present Modes:
# immediate
# mailbox
# fifo
# fifo_relaxed
# shared_demand_refresh
# shared_continuous_refresh
# fifo_latest_ready
# Present Modes Documentation:
# https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPresentModeKHR.html
# vulkan_present_mode=mailbox
### VSync [0-3] 0 = adaptive; 1 = off; 2 = mailbox; 3 = on
# vsync=-1
### OpenGL VSync [0-N] 0 = off; >=1 = wait for N v-blanks, N > 1 acts as a FPS limiter (FPS = display refresh rate / N)
# gl_vsync=-2
### Mip-map LoD bias. Negative values will increase texture sharpness (and aliasing)
## Positive values will increase texture blurriness (-16 to 16)
# picmip=-17
### Anisotropic filtering level. Improves sharpness of textures viewed at an angle (0 to 16)
# af=-1
### Force bicubic filtering
# bicubic
### Force trilinear filtering
# trilinear
### Disable linear texture filtering. Makes textures look blocky
# retro
################### VISUAL ###################
### Legacy layout
# legacy_layout=0
### pre defined presets
# -1 = default
# 0 = no display
# 1 = fps only
# 2 = horizontal view
# 3 = extended
# 4 = high detailed information
preset=2
### Enable most of the toggleable parameters (currently excludes `histogram`)
# full
### Show FPS only. ***Not meant to be used with other display params***
# fps_only
### Display custom centered text, useful for a header
# custom_text_center=
### Display the current system time
# time
## removes the time label
# time_no_label
### Time formatting examples
## %H:%M
## [ %T %F ]
## %X # locally formatted time, because of limited glyph range, missing characters may show as '?' (e.g. Japanese)
# time_format="%T"
### Display MangoHud version
# version
### Display the current GPU information
## Note: gpu_mem_clock and gpu_mem_temp also need "vram" to be enabled
gpu_stats
# gpu_temp
# gpu_junction_temp
# gpu_core_clock
# gpu_mem_temp
# gpu_mem_clock
# gpu_power
# gpu_power_limit
# gpu_text=
# gpu_load_change
# gpu_load_value=60,90
# gpu_load_color=39F900,FDFD09,B22222
## GPU fan in rpm on AMD, FAN in percent on NVIDIA
# gpu_fan
## gpu_voltage only works on AMD GPUs
# gpu_voltage
## Select list of GPUs to display
# gpu_list=0,1
# gpu_efficiency
### Display the current CPU information
cpu_stats
# cpu_temp
# cpu_power
# cpu_text=
# cpu_mhz
# cpu_load_change
# cpu_load_value=60,90
# cpu_load_color=39F900,FDFD09,B22222
# cpu_efficiency
### Display the current CPU load & frequency for each core
# core_load
# core_load_change
# core_bars
# core_type
### Display IO read and write for the app (not system)
# io_read
# io_write
### Display system vram / ram / swap space usage
# vram
# ram
# swap
### Display per process memory usage
## Show resident memory and other types, if enabled
# procmem
# procmem_shared
# procmem_virt
# proc_vram
### Display battery information
# battery
# battery_icon
# device_battery=gamepad,mouse
# device_battery_icon
# battery_watt
# battery_time
### Display FPS and frametime
fps
# fps_sampling_period=500
# fps_color_change
# fps_value=30,60
# fps_color=B22222,FDFD09,39F900
# fps_text=""
frametime
# frame_count
## fps_metrics takes a list of decimal values or the value avg
# fps_metrics=avg,0.01
### Display GPU throttling status based on Power, current, temp or "other"
## Only shows if throttling is currently happening
throttling_status
## Same as throttling_status but displays throttling on the frametime graph
#throttling_status_graph
### Display miscellaneous information
# engine_version
# engine_short_names
# gpu_name
# vulkan_driver
# wine
# exec_name
# winesync
# present_mode
### Display loaded MangoHud architecture
# arch
### Display the frametime line graph
frame_timing
# frame_timing_detailed
# dynamic_frame_timing
# histogram
### Display GameMode / vkBasalt running status
# gamemode
# vkbasalt
### Gamescope related options
## Display the status of FSR (only works in gamescope)
# fsr
## Hides the sharpness info for the `fsr` option (only available in gamescope)
# hide_fsr_sharpness
## Shows the graph of gamescope app frametimes and latency (only on gamescope obviously)
# debug
## Display the status of HDR (only works in gamescope)
# hdr
## Display the current refresh rate (only works in gamescope)
# refresh_rate
### graphs displays one or more graphs that you chose
## separated by ",", available graphs are
## gpu_load,cpu_load,gpu_core_clock,gpu_mem_clock,vram,ram,cpu_temp,gpu_temp
# graphs=
### mangoapp related options
## Enables mangoapp to be displayed above the Steam UI
# mangoapp_steam
### Steam Deck options
## Shows the Steam Deck fan rpm
# fan
### Display current FPS limit
# show_fps_limit
### Display the current resolution
# resolution
### Display current display session
# display_server
### Display temperature in fahrenheit
# temp_fahrenheit
## Display efficiency in joules per frame
# flip_efficiency
### Display custom text
# custom_text=
### Display output of Bash command in next column
# exec=
### Display media player metadata
# media_player
## for example spotify
# media_player_name=
## Format metadata, lines are delimited by ; (wip)
## example: {title};{artist};{album}
## example: Track:;{title};By:;{artist};From:;{album}
# media_player_format=title,artist,album
### Network interface throughput
# network
## Network can take arguments but it's not required.
## without arguments it shows all interfaces
## arguments set which interfaces will be displayed
# network=eth0,wlo1
### Change the hud font size
# font_size=24
# font_scale=1.0
# font_size_text=24
# font_scale_media_player=0.55
# no_small_font
### Change default font (set location to TTF/OTF file)
## Set font for the whole hud
# font_file=
## Set font only for text like media player metadata
# font_file_text=
## Set font glyph ranges. Defaults to Latin-only. Don't forget to set font_file/font_file_text to font that supports these
## Probably don't enable all at once because of memory usage and hardware limits concerns
## If you experience crashes or text is just squares, reduce glyph range or reduce font size
# font_glyph_ranges=korean,chinese,chinese_simplified,japanese,cyrillic,thai,vietnamese,latin_ext_a,latin_ext_b
### Outline text
text_outline
# text_outline_color = 000000
# text_outline_thickness = 1.5
### Change the hud position
# position=top-left
### Change the corner roundness
# round_corners=0
### Remove margins around MangoHud
# hud_no_margin
### Display compact version of MangoHud
# hud_compact
### Display MangoHud in a horizontal position
# horizontal
# horizontal_stretch
### Disable / hide the hud by default
# no_display
### Show FEX-Emu statistics
## Only useful for Arm64 devices running applications under emulation
# fex_stats
### Hud position offset
# offset_x=0
# offset_y=0
### Hud dimensions
# width=0
# height=140
# table_columns=3
# cellpadding_y=-0.085
### Hud transparency / alpha
# background_alpha=0.5
# alpha=1.0
### FCAT overlay
### This enables an FCAT overlay to perform frametime analysis on the final image stream.
### Enable the overlay
# fcat
### Set the width of the FCAT overlay.
### 24 is a performance optimization on AMD GPUs that should not have adverse effects on nVidia GPUs.
### A minimum of 20 pixels is recommended by nVidia.
# fcat_overlay_width=24
### Set the screen edge, this can be useful for special displays that don't update from top edge to bottom. This goes from 0 (left side) to 3 (top edge), counter-clockwise.
# fcat_screen_edge=0
### Color customization
# text_color=FFFFFF
# gpu_color=2E9762
# cpu_color=2E97CB
# vram_color=AD64C1
# ram_color=C26693
# engine_color=EB5B5B
# io_color=A491D3
# frametime_color=00FF00
# background_color=020202
# media_player_color=FFFFFF
# wine_color=EB5B5B
# battery_color=FF9078
# network_color=E07B85
# horizontal_separator_color=AD64C1
### Specify GPU with PCI bus ID
### Set to 'domain:bus:slot.function'
### Example:
### $ lspci | grep A770
### 03:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A770] (rev 08)
# pci_dev=0000:03:00.0
### Blacklist
# blacklist=
### Control over socket
### Enable and set socket name, '%p' is replaced with process id
## example: mangohud
## example: mangohud-%p
# control = -1
### ftrace tracepoint display
## Enable display of tracepoint information gathered from ftrace. MangoHud will parse
## out the necessary data from the ftrace pipe, ftrace itself still has to be configured
## manually (enabling the desired event, applying any filtering etc.). The user running
## MangoHud will require permission to access the default-mounted tracefs (expected at
## /sys/kernel/tracing/).
##
## When parsing ftrace output, currently only the `key=value` format for event fields is
## expected. This is the most common format used in events, but it's not standardized.
##
## Three types of display are available:
## - `histogram/drm_vblank_event`, a histogram of event occurrence
## - `linegraph/devfreq_monitor/freq`, a line graph of an event field's numerical value
## - `label/devfreq_frequency/dev_name`, a textual presentation of an event field's value
##
## The displays are set through the `ftrace` option. Multiple displays can be specified.
# ftrace=histogram/drm_vblank_event+linegraph/devfreq_monitor/freq
################ WORKAROUNDS #################
### Options starting with "gl_*" are for OpenGL
### Specify what to use for getting display size. Options are "viewport", "scissorbox" or disabled. Defaults to using glXQueryDrawable
# gl_size_query=viewport
### (Re)bind given framebuffer before MangoHud gets drawn. Helps with Crusader Kings III
# gl_bind_framebuffer=0
### Don't swap origin if using GL_UPPER_LEFT. Helps with Ryujinx
# gl_dont_flip=1
################ INTERACTION #################
### Change toggle keybinds for the hud & logging
# toggle_hud=Shift_R+F12
# toggle_hud_position=Shift_R+F11
# toggle_preset=Shift_R+F10
# toggle_fps_limit=Shift_L+F1
# toggle_logging=Shift_L+F2
# reload_cfg=Shift_L+F4
# upload_log=Shift_L+F3
# reset_fps_metrics=Shift_R+F9
#################### LOG #####################
### Automatically start the log after X seconds
# autostart_log=
### Set amount of time in seconds that the logging will run for
# log_duration=
### Change the default log interval, 0 is default
# log_interval=0
### Set location of the output files (required for logging)
# output_folder=/home/<USERNAME>/mangologs
### Permit uploading logs directly to FlightlessMango.com
## set to 1 to enable
# permit_upload=0
### Define a '+'-separated list of percentiles shown in the benchmark results
### Use "AVG" to get a mean average. Default percentiles are 97+AVG+1+0.1
## example: ['97', 'AVG', '1', '0.1']
# benchmark_percentiles=97,AVG
## Adds more headers and information such as versioning to the log. This format is not supported on flightlessmango.com (yet)
# log_versioning
## Enable automatic uploads of logs to flightlessmango.com
# upload_logs
# output_file=""

View file

@ -0,0 +1,19 @@
PROTON_DXVK_LOWLATENCY=1
PROTON_FSR4_UPGRADE=1
PROTON_MLFG_UPGRADE=1
PROTON_XESS_UPGRADE=1
PROTON_LOCAL_SHADER_CACHE=1
LOW_LATENCY_LAYER=1
PROTON_DISCORD_BRIDGE=1
WINEUSERSANDBOX=1
MESA_SHADER_CACHE_MAX_SIZE=12G
QT_QPA_PLATFORM="wayland;xcb"
ELECTRON_OZONE_PLATFORM_HINT=auto
QT_QPA_PLATFORMTHEME=gtk3
QT_QPA_PLATFORMTHEME_QT6=gtk3
SHELL=/usr/bin/fish
PAGER=/usr/bin/moor
EDITOR=/usr/bin/micro
VISUAL=/usr/bin/zeditor
TERMINAL=/usr/bin/alacritty
BROWSER=/usr/bin/firefox

2
config/gtk-3.0/gtk.css Normal file
View file

@ -0,0 +1,2 @@
/* In ~/.config/gtk-3.0/gtk.css or gtk-4.0/gtk.css */
@import url("dank-colors.css");

View file

@ -0,0 +1,11 @@
[Settings]
gtk-theme-name = adw-gtk3-dark
gtk-icon-theme-name = Papirus-Dark
gtk-cursor-theme-name = Papirus-Dark
gtk-font-name = JetBrainsMono Nerd Font Mono 10
gtk-application-prefer-dark-theme = true
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = hintfull
gtk-xft-rgba = rgb
gtk-xft-dpi = -1

2
config/gtk-4.0/gtk.css Normal file
View file

@ -0,0 +1,2 @@
/* In ~/.config/gtk-3.0/gtk.css or gtk-4.0/gtk.css */
@import url("dank-colors.css");

View file

@ -0,0 +1,11 @@
[Settings]
gtk-theme-name = adw-gtk3-dark
gtk-icon-theme-name = Papirus-Dark
gtk-cursor-theme-name = Papirus-Dark
gtk-font-name = JetBrainsMono Nerd Font Mono 10
gtk-application-prefer-dark-theme = true
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = hintfull
gtk-xft-rgba = rgb
gtk-xft-dpi = -1

49
config/mimeapps.list Normal file
View file

@ -0,0 +1,49 @@
[Default Applications]
inode/directory=org.gnome.Nautilus.desktop
image/png=org.gnome.Loupe.desktop
image/jpeg=org.gnome.Loupe.desktop
image/gif=org.gnome.Loupe.desktop
image/webp=org.gnome.Loupe.desktop
image/bmp=org.gnome.Loupe.desktop
image/tiff=org.gnome.Loupe.desktop
application/pdf=org.gnome.Papers.desktop
x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop
x-scheme-handler/mailto=firefox.desktop
video/mp4=org.gnome.Showtime.desktop
video/x-msvideo=org.gnome.Showtime.desktop
video/x-matroska=org.gnome.Showtime.desktop
video/x-flv=org.gnome.Showtime.desktop
video/x-ms-wmv=org.gnome.Showtime.desktop
video/mpeg=org.gnome.Showtime.desktop
video/ogg=org.gnome.Showtime.desktop
video/webm=org.gnome.Showtime.desktop
video/quicktime=org.gnome.Showtime.desktop
video/3gpp=org.gnome.Showtime.desktop
video/3gpp2=org.gnome.Showtime.desktop
video/x-ms-asf=org.gnome.Showtime.desktop
video/x-ogm+ogg=org.gnome.Showtime.desktop
video/x-theora+ogg=org.gnome.Showtime.desktop
application/ogg=org.gnome.Showtime.desktop
text/plain=dev.zed.Zed.desktop
text/english=dev.zed.Zed.desktop
text/x-makefile=dev.zed.Zed.desktop
text/x-c++hdr=dev.zed.Zed.desktop
text/x-c++src=dev.zed.Zed.desktop
text/x-chdr=dev.zed.Zed.desktop
text/x-csrc=dev.zed.Zed.desktop
text/x-java=dev.zed.Zed.desktop
text/x-moc=dev.zed.Zed.desktop
text/x-pascal=dev.zed.Zed.desktop
text/x-tcl=dev.zed.Zed.desktop
text/x-tex=dev.zed.Zed.desktop
application/x-shellscript=dev.zed.Zed.desktop
text/x-c=dev.zed.Zed.desktop
text/x-c++=dev.zed.Zed.desktop
application/xml=dev.zed.Zed.desktop
text/xml=dev.zed.Zed.desktop

265
config/niri/config.kdl Normal file
View file

@ -0,0 +1,265 @@
// This config is in the KDL format: https://kdl.dev
// "/-" comments out the following node.
// Check the wiki for a full description of the configuration:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Introduction
config-notification {
disable-failed
}
gestures {
hot-corners {
top-left
}
}
// Input device configuration.
// Find the full list of options on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Input
input {
keyboard {
xkb {
// You can set rules, model, layout, variant and options.
// For more information, see xkeyboard-config(7).
// For example:
layout "us,ru"
options "grp:alt_shift_toggle"
// If this section is empty, niri will fetch xkb settings
// from org.freedesktop.locale1. You can control these using
// localectl set-x11-keymap.
}
// Enable numlock on startup, omitting this setting disables it.
numlock
}
trackpoint {
// off
// natural-scroll
// accel-speed 0.2
// accel-profile "flat"
// scroll-method "on-button-down"
// scroll-button 273
// scroll-button-lock
// middle-emulation
}
touchpad {
natural-scroll
tap
dwt
dwtp
}
// Uncomment this to make the mouse warp to the center of newly focused windows.
// warp-mouse-to-focus
// Focus windows and outputs automatically when moving the mouse into them.
// Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
focus-follows-mouse max-scroll-amount="0%"
}
// You can configure outputs by their name, which you can find
// by running `niri msg outputs` while inside a niri instance.
// The built-in laptop monitor is usually called "eDP-1".
// Find more information on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs
// Remember to uncomment the node by removing "/-"!
/-output "eDP-2" {
mode "2560x1600@239.998993"
position x=2560 y=0
variable-refresh-rate
}
// Settings that influence how windows are positioned and sized.
// Find more information on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout
layout {
// Set gaps around windows in logical pixels.
background-color "transparent"
// When to center a column when changing focus, options are:
// - "never", default behavior, focusing an off-screen column will keep at the left
// or right edge of the screen.
// - "always", the focused column will always be centered.
// - "on-overflow", focusing a column will center it if it doesn't fit
// together with the previously focused column.
center-focused-column "never"
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
preset-column-widths {
// Proportion sets the width as a fraction of the output width, taking gaps into account.
// For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
proportion 0.33333
proportion 0.5
proportion 0.66667
// Fixed sets the width in logical pixels exactly.
// fixed 1920
}
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
// preset-window-heights { }
// You can change the default width of the new windows.
default-column-width { proportion 0.5; }
// If you leave the brackets empty, the windows themselves will decide their initial width.
// default-column-width {}
// By default focus ring and border are rendered as a solid background rectangle
// behind windows. That is, they will show up through semitransparent windows.
// This is because windows using client-side decorations can have an arbitrary shape.
//
// If you don't like that, you should uncomment `prefer-no-csd` below.
// Niri will draw focus ring and border *around* windows that agree to omit their
// client-side decorations.
//
// Alternatively, you can override it with a window rule called
// `draw-border-with-background`.
border {
off
width 4
active-color "#707070" // Neutral gray
inactive-color "#d0d0d0" // Light gray
urgent-color "#cc4444" // Softer red
}
shadow {
softness 30
spread 5
offset x=0 y=5
color "#0007"
}
struts {
}
}
layer-rule {
match namespace="^quickshell$"
place-within-backdrop true
}
overview {
workspace-shadow {
off
}
}
// Add lines like this to spawn processes at startup.
// Note that running niri as a session supports xdg-desktop-autostart,
// which may be more convenient to use.
// See the binds section below for more spawn examples.
// This line starts waybar, a commonly used bar for Wayland compositors.
environment {
XDG_CURRENT_DESKTOP "niri"
}
hotkey-overlay {
skip-at-startup
}
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
animations {
workspace-switch {
spring damping-ratio=0.80 stiffness=523 epsilon=0.0001
}
window-open {
duration-ms 150
curve "ease-out-expo"
}
window-close {
duration-ms 150
curve "ease-out-quad"
}
horizontal-view-movement {
spring damping-ratio=0.85 stiffness=423 epsilon=0.0001
}
window-movement {
spring damping-ratio=0.75 stiffness=323 epsilon=0.0001
}
window-resize {
spring damping-ratio=0.85 stiffness=423 epsilon=0.0001
}
config-notification-open-close {
spring damping-ratio=0.65 stiffness=923 epsilon=0.001
}
screenshot-ui-open {
duration-ms 200
curve "ease-out-quad"
}
overview-open-close {
spring damping-ratio=0.85 stiffness=800 epsilon=0.0001
}
}
// Window rules let you adjust behavior for individual windows.
// Find more information on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
// Work around WezTerm's initial configure bug
// by setting an empty default-column-width.
window-rule {
// This regular expression is intentionally made as specific as possible,
// since this is the default config, and we want no false positives.
// You can get away with just app-id="wezterm" if you want.
match app-id=r#"^org\.wezfurlong\.wezterm$"#
default-column-width {}
}
window-rule {
match app-id=r#"^org\.gnome\."#
draw-border-with-background false
geometry-corner-radius 12
clip-to-geometry true
}
window-rule {
match app-id=r#"^gnome-control-center$"#
match app-id=r#"^pavucontrol$"#
match app-id=r#"^nm-connection-editor$"#
default-column-width { proportion 0.5; }
open-floating false
}
window-rule {
match app-id=r#"^org\.gnome\.Calculator$"#
match app-id=r#"^gnome-calculator$"#
match app-id=r#"^galculator$"#
match app-id=r#"^blueman-manager$"#
match app-id=r#"^org\.gnome\.Nautilus$"#
match app-id=r#"^xdg-desktop-portal$"#
open-floating true
}
window-rule {
match app-id=r#"^steam$"# title=r#"^notificationtoasts_\d+_desktop$"#
default-floating-position x=10 y=10 relative-to="bottom-right"
open-focused false
}
window-rule {
match app-id=r#"^org\.wezfurlong\.wezterm$"#
match app-id="Alacritty"
match app-id="zen"
match app-id="com.mitchellh.ghostty"
match app-id="kitty"
draw-border-with-background false
}
window-rule {
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
match app-id="zoom"
open-floating true
}
debug {
honor-xdg-activation-with-invalid-serial
}
// Override to disable super+tab
recent-windows {
binds {
Alt+Tab { next-window scope="output"; }
Alt+Shift+Tab { previous-window scope="output"; }
Alt+grave { next-window filter="app-id"; }
Alt+Shift+grave { previous-window filter="app-id"; }
}
}
// Include dms files
include optional=true "dms/colors.kdl"
include optional=true "dms/layout.kdl"
include optional=true "dms/alttab.kdl"
include optional=true "dms/binds.kdl"
include optional=true "dms/outputs.kdl"
include optional=true "dms/cursor.kdl"
include optional=true "dms/input.kdl"
spawn-sh-at-startup "gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark'"
spawn-sh-at-startup "gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark'"
spawn-sh-at-startup "gsettings set org.gnome.desktop.interface cursor-theme 'Papirus-Dark'"
spawn-sh-at-startup "gsettings set org.gnome.desktop.interface font-name 'JetBrainsMono Nerd Font Mono 10'"
spawn-sh-at-startup "gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'"
spawn-sh-at-startup "systemctl start --user xsettingsd.service"
spawn-sh-at-startup "/usr/lib/xdg-desktop-portal-wlr &"

View file

@ -0,0 +1 @@
L %t/discord-ipc-0 - - - - app/com.discordapp.Discord/discord-ipc-0

View file

@ -0,0 +1,6 @@
[preferred]
default=gtk
org.freedesktop.impl.portal.ScreenCast=wlr
org.freedesktop.impl.portal.Screenshot=wlr
org.freedesktop.impl.portal.Secret=gnome-keyring
org.freedesktop.impl.portal.Inhibit=none

View file

@ -0,0 +1,10 @@
Net/ThemeName "adw-gtk3-dark"
Net/IconThemeName "Papirus-Dark"
Gtk/CursorThemeName "Papirus-Dark"
Gtk/FontName "JetBrainsMono Nerd Font Mono 10"
Gtk/ApplicationPreferDarkTheme 1
Xft/Antialias 1
Xft/Hinting 1
Xft/HintStyle "hintfull"
Xft/RGBA "rgb"
Xft/DPI -1

View file

@ -0,0 +1 @@
GOVERNOR='schedutil'

28893
etc/hosts Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
tcp_bbr

View file

@ -0,0 +1,8 @@
default_sched = "scx_bpfland"
default_mode = "PowerSave"
[scheds.scx_bpfland]
auto_mode = ["-m", "auto", "-f"]
gaming_mode = ["-m", "all", "-f"]
lowlatency_mode = ["-m", "performance", "-w", "-f"]
powersave_mode = ["-s", "20000", "-m", "powersave", "-I", "100", "-t", "100", "-f"]
server_mode = ["-s", "20000", "-S", "-f"]

View file

@ -0,0 +1,7 @@
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_sack = 1
net.core.default_qdisc = cake
net.ipv4.tcp_congestion_control = bbr

View file

@ -0,0 +1,6 @@
[Resolve]
DNS=1.1.1.2#security.cloudflare-dns.com 1.0.0.2#security.cloudflare-dns.com 2606:4700:4700::1112#security.cloudflare-dns.com 2606:4700:4700::1002#security.cloudflare-dns.com
FallbackDNS=9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net 8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
DNSOverTLS=yes
Domains=~.
DNSSEC=true

View file

@ -0,0 +1,11 @@
# HDD
ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \
ATTR{queue/scheduler}="bfq"
# SSD
ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \
ATTR{queue/scheduler}="adios"
# NVMe SSD
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \
ATTR{queue/scheduler}="adios"

View file

@ -0,0 +1,59 @@
{
"isLightMode": false,
"wallpaperPath": "/usr/share/wallpapers/cachyos-wallpapers/Cachy_Topography.jpg",
"perMonitorWallpaper": false,
"monitorWallpapers": {},
"perModeWallpaper": false,
"wallpaperPathLight": "",
"wallpaperPathDark": "",
"monitorWallpapersLight": {},
"monitorWallpapersDark": {},
"brightnessExponentialDevices": {},
"brightnessUserSetValues": {},
"brightnessExponentValues": {},
"doNotDisturb": false,
"nightModeEnabled": false,
"nightModeTemperature": 4500,
"nightModeHighTemperature": 6500,
"nightModeAutoEnabled": false,
"nightModeAutoMode": "time",
"nightModeStartHour": 18,
"nightModeStartMinute": 0,
"nightModeEndHour": 6,
"nightModeEndMinute": 0,
"latitude": 0,
"longitude": 0,
"nightModeUseIPLocation": false,
"nightModeLocationProvider": "",
"pinnedApps": [],
"hiddenTrayIds": [],
"selectedGpuIndex": 0,
"nvidiaGpuTempEnabled": false,
"nonNvidiaGpuTempEnabled": false,
"enabledGpuPciIds": [],
"wifiDeviceOverride": "",
"weatherHourlyDetailed": true,
"wallpaperCyclingEnabled": false,
"wallpaperCyclingMode": "interval",
"wallpaperCyclingInterval": 300,
"wallpaperCyclingTime": "06:00",
"monitorCyclingSettings": {},
"lastBrightnessDevice": "",
"launchPrefix": "",
"wallpaperTransition": "fade",
"includedTransitions": [
"fade",
"wipe",
"disc",
"stripes",
"iris bloom",
"pixelate",
"portal"
],
"recentColors": [
"#233546",
"#2c465b"
],
"showThirdPartyPlugins": false,
"configVersion": 1
}

View file

@ -0,0 +1,164 @@
#!/usr/bin/env bash
# Copyright (C) 2022-2026 CachyOS team
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
set -e
declare -r MIRRORS_DEFAULT_DIR="/etc/pacman.d"
# Use https only protocol for rating
export RATE_MIRRORS_PROTOCOL=https
export RATE_MIRRORS_FETCH_MIRRORS_TIMEOUT="${RATE_MIRRORS_FETCH_MIRRORS_TIMEOUT:-30000}"
export RATE_MIRRORS_ALLOW_ROOT=true
export RATE_MIRRORS_MAX_DELAY="${RATE_MIRRORS_MAX_DELAY:-10000}"
disable_colors() {
unset ALL_OFF BOLD BLUE GREEN RED YELLOW
}
enable_colors() {
# prefer terminal safe colored and bold text when tput is supported
if tput setaf 0 &>/dev/null; then
ALL_OFF="$(tput sgr0)"
BOLD="$(tput bold)"
RED="${BOLD}$(tput setaf 1)"
GREEN="${BOLD}$(tput setaf 2)"
YELLOW="${BOLD}$(tput setaf 3)"
BLUE="${BOLD}$(tput setaf 4)"
else
ALL_OFF="\e[0m"
BOLD="\e[1m"
RED="${BOLD}\e[31m"
GREEN="${BOLD}\e[32m"
YELLOW="${BOLD}\e[33m"
BLUE="${BOLD}\e[34m"
fi
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
}
if [[ -t 2 ]]; then
enable_colors
else
disable_colors
fi
msg() {
local mesg="$1"; shift
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
info() {
local mesg="$1"; shift
printf "${YELLOW} -->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
error() {
local mesg="$1"; shift
printf "${RED}==> ERROR:${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
cleanup() {
exit "${1:-0}"
}
die() {
(($#)) && error "$@"
cleanup 255
}
if [ "$EUID" -ne 0 ]; then
die "Please, run script as root"
fi
declare -r TMPFILE="$(mktemp)"
trap 'rm -f -- "$TMPFILE"' EXIT
rate_repository_mirrors() {
local repo="$1"
local path="$2"
info "Ranking mirrors for ${repo} repository in ${path}..."
if rate-mirrors --save "$TMPFILE" "$repo"; then
if [ ! -f "${path}" ]; then
die "${path} doesn't exist! You must install package $(pacman -Fq "$path" 2>/dev/null || echo "that contains $path")"
fi
install -m 0644 --backup=simple --suffix="-backup" "${TMPFILE}" "${path}"
msg "Done [${repo}] ${path}"
else
die "rate-mirrors failed [errcode=$?]."
fi
}
force_ru_mirrors() {
local mirror domain index
local -a ru_mirrors=(
'https://archlinux.gay/cachy/repo/$arch/$repo'
'https://mirror.jura12.ru/repo/$arch/$repo'
'https://mirror.cachy-arch.ru/cachyos/repo/$arch/$repo'
'https://wan.metrosg.ru/cachyos/repo/$arch/$repo'
)
local -i line=1
for ((index=0; index < ${#ru_mirrors[@]}; index++)); do
mirror="${ru_mirrors[$index]}"
domain="${mirror##*://}"
domain="${domain%%/*}"
if curl -sL --connect-timeout 5 "https://${domain}" &>/dev/null; then
sed -i "$((line))iServer = ${mirror}" "${MIRRORS_DEFAULT_DIR}/cachyos-mirrorlist"
((line++))
else
error "Failed to connect with ${domain} mirror"
fi
done
}
# Prefer mirrors that are geographically close, especially in countries that
# have regional blockages
country="RU"
if [ -n "$country" ]; then
export RATE_MIRRORS_ENTRY_COUNTRY="$country"
fi
# China only tests its own mirrors, so disable neighbors
# and increase the number of tested mirrors to get more results
if [ "$country" = "CN" ]; then
export RATE_MIRRORS_COUNTRY_NEIGHBORS_PER_COUNTRY=0
export RATE_MIRRORS_COUNTRY_TEST_MIRRORS_PER_COUNTRY=50
fi
# Rate Arch Linux mirrors anyway
rate_repository_mirrors arch "${MIRRORS_DEFAULT_DIR}/mirrorlist"
# Always insert CDN77 mirror to the start, unless RU and CN region is detected
if [ "$country" != "RU" ] && [ "$country" != "CN" ]; then
sed -i '1iServer = https://archlinux.cachyos.org/repo/$repo/os/$arch' "${MIRRORS_DEFAULT_DIR}/mirrorlist"
fi
rate_repository_mirrors cachyos "${MIRRORS_DEFAULT_DIR}/cachyos-mirrorlist"
# Always insert local mirrors as first due to blockings in RU region
#if [ "$country" = "RU" ]; then
# force_ru_mirrors
#fi
install -m 0644 --backup=simple --suffix="-backup" "${MIRRORS_DEFAULT_DIR}/cachyos-mirrorlist" \
"${MIRRORS_DEFAULT_DIR}/cachyos-v3-mirrorlist"
install -m 0644 --backup=simple --suffix="-backup" "${MIRRORS_DEFAULT_DIR}/cachyos-mirrorlist" \
"${MIRRORS_DEFAULT_DIR}/cachyos-v4-mirrorlist"
sed -i 's|/$arch/|/$arch_v3/|g' "${MIRRORS_DEFAULT_DIR}/cachyos-v3-mirrorlist"
sed -i 's|/$arch/|/$arch_v4/|g' "${MIRRORS_DEFAULT_DIR}/cachyos-v4-mirrorlist"

20
scripts/dank.sh Normal file
View file

@ -0,0 +1,20 @@
# https://danklinux.com/docs/dankmaterialshell/cli-setup
# https://github.com/AvengeMedia/DankMaterialShell/blob/master/core/internal/config/embedded/niri.kdl
# https://github.com/zirconium-dev/zdots
# https://niri-wm.github.io/niri/
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
# https://wiki.archlinux.org/title/Xsettingsd
# https://github.com/lassekongo83/adw-gtk3
# https://mangowm.github.io/docs/configuration/xdg-portals/
curl -fsSL https://install.danklinux.com | sh
dms setup
mkdir -p ~/.config/niri/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/niri/config.kdl | tee ~/.config/niri/config.kdl > /dev/null
mkdir -p ~/.config/DankMaterialShell/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/DankMaterialShell/settings.json | tee ~/.config/DankMaterialShell/settings.json > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/DankMaterialShell/clsettings.json | tee ~/.config/DankMaterialShell/clsettings.json > /dev/null
mkdir -p ~/.local/state/DankMaterialShell/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/local/state/DankMaterialShell/session.json | tee ~/.local/state/DankMaterialShell/session.json > /dev/null
mkdir -p ~/.cache/DankMaterialShell/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/cache/DankMaterialShell/cache.json | tee ~/.cache/DankMaterialShell/cache.json > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/cache/DankMaterialShell/dms-colors.json | tee ~/.cache/DankMaterialShell/dms-colors.json > /dev/null

165
scripts/main.sh Normal file
View file

@ -0,0 +1,165 @@
# https://github.com/CachyOS/CachyOS-PKGBUILDS/blob/master/cachyos-rate-mirrors/cachyos-rate-mirrors
sudo bash ./cachyos-rate-mirrors.sh
sudo pacman -Scc
sudo pacman -Syyuu --noconfirm
sudo pacman -S --noconfirm --needed yay
sudo pacman -S --noconfirm --needed flatpak
# https://wiki.archlinux.org/title/List_of_applications/Utilities#Terminal_pagers
# https://wiki.archlinux.org/title/Environment_variables#Default_programs
sudo pacman -S --noconfirm --needed moor
# https://wiki.archlinux.org/title/GTK
# https://wiki.archlinux.org/title/Qt
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
# https://github.com/lassekongo83/adw-gtk3
# https://archlinux.org/packages/extra/x86_64/dms-shell/
# https://danklinux.com/docs/dankmaterialshell/application-themes
# https://danklinux.com/docs/dankmaterialshell/icon-theming
# https://wiki.archlinux.org/title/Xsettingsd
# https://codeberg.org/derat/xsettingsd#settings
# https://www.freedesktop.org/wiki/Specifications/XSettingsRegistry/
# https://wiki.archlinux.org/title/XDG_Desktop_Portal
# https://mangowm.github.io/docs/configuration/xdg-portals/
# https://niri-wm.github.io/niri/Xwayland
sudo pacman -S --noconfirm --needed xwayland-satellite pipewire pipewire-pulse xdg-desktop-portal-wlr wl-clipboard cliphist wl-clip-persist gnome-keyring xdg-desktop-portal
mkdir -p ~/.config/xdg-desktop-portal/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/xdg-desktop-portal/portals.conf | tee ~/.config/xdg-desktop-portal/portals.conf > /dev/null
sudo pacman -S --noconfirm --needed xsettingsd
mkdir -p ~/.config/xsettingsd/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/xsettingsd/xsettingsd.conf | tee ~/.config/xsettingsd/xsettingsd.conf > /dev/null
sudo pacman -S --noconfirm --needed gtk3 gtk4 qt5-base qt6-base
sudo pacman -S --noconfirm --needed xorg-xwayland xorg cava cups-pk-helper i2c-tools iwd matugen networkmanager qt6-multimedia qt6ct systemd wtype
sudo pacman -S --noconfirm --needed adw-gtk-theme papirus-icon-theme nerd-fonts
flatpak install -y org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark
mkdir -p ~/.config/gtk-3.0/
mkdir -p ~/.config/gtk-4.0/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/gtk-3.0/settings.ini | tee ~/.config/gtk-3.0/settings.ini > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/gtk-3.0/gtk.css | tee ~/.config/gtk-3.0/gtk.css > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/gtk-4.0/settings.ini | tee ~/.config/gtk-4.0/settings.ini > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/gtk-4.0/gtk.css | tee ~/.config/gtk-4.0/gtk.css > /dev/null
gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark'
gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark'
gsettings set org.gnome.desktop.interface cursor-theme 'Papirus-Dark'
gsettings set org.gnome.desktop.interface font-name 'JetBrainsMono Nerd Font Mono 10'
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
# https://apps.gnome.org/
sudo pacman -S --noconfirm --needed decibels showtime gnome-disk-utility gnome-calculator amberol papers loupe simple-scan nautilus
sudo pacman -S --noconfirm --needed video-trimmer curtail fragments switcheroo gnome-boxes
flatpak install -y flathub io.github.wartybix.Constrict
## CachyOS
##
sudo pacman -S --noconfirm --needed appmenu-gtk-module libdbusmenu-glib
tldr --update
sudo pacman -S --noconfirm --needed fuse2
#sudo pacman -S --noconfirm --needed flatpak
flatpak install -y flathub it.mijorus.gearlever
# https://github.com/ilya-zlobintsev/LACT/wiki/Overclocking-(AMD)
sudo tee -a /etc/default/limine > /dev/null <<'EOF'
KERNEL_CMDLINE[default]+=" manitosik=1 zswap.enabled=0 nowatchdog quiet splash amd_pstate=passive rcutree.enable_rcu_lazy=1 amdgpu.ppfeaturemask=0xffffffff"
EOF
#sudo limine-mkinitcpio
# https://github.com/flightlessmango/MangoHud
# https://wiki.archlinux.org/title/MangoHud
# https://danklinux.com/docs/dankmaterialshell/managing
# https://wiki.archlinux.org/title/Wayland#Qt
# https://wiki.archlinux.org/title/Environment_variables#Default_programs
# https://danklinux.com/docs/dankmaterialshell/application-themes
sudo pacman -S --noconfirm --needed cachyos-gaming-meta
sudo pacman -S --noconfirm --needed gamescope mangohud lib32-mangohud
mkdir -p ~/.config/MangoHud/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/MangoHud/MangoHud.conf | tee ~/.config/MangoHud/MangoHud.conf > /dev/null
sudo pacman -S --noconfirm --needed heroic-games-launcher-bin steam
yay -S --noconfirm --needed hydra-launcher-bin
flatpak install -y flathub com.usebottles.bottles
mkdir -p ~/.config/environment.d/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/environment.d/env.conf | tee ~/.config/environment.d/env.conf > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/udev/rules.d/60-ioschedulers.rules | sudo tee /etc/udev/rules.d/60-ioschedulers.rules > /dev/null
# https://github.com/sched-ext/scx-loader/tree/main/crates/scx_loader
# https://github.com/sched-ext/scx-loader/blob/main/crates/scx_loader/configuration.md
# https://github.com/sched-ext/scx-loader/blob/main/crates/scx_loader/default_config.toml
sudo pacman -S --noconfirm --needed scx-scheds scx-tools
sudo systemctl disable --now ananicy-cpp
sudo mkdir -p /etc/scx_loader/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/scx_loader/config.toml | sudo tee /etc/scx_loader/config.toml > /dev/null
sudo systemctl enable --now scx_loader.service
##
## CachyOS
# https://github.com/CachyOS/CachyOS-Welcome/blob/develop/src/tweak.rs
sudo pacman -S --noconfirm --needed profile-sync-daemon
systemctl enable --user --now psd.service
sudo systemctl disable --now systemd-oomd.service
sudo pacman -S --noconfirm --needed bpftune-git
sudo systemctl enable --now bpftune.service
sudo pacman -S --noconfirm --needed bluez
sudo systemctl enable --now bluetooth.service
systemctl disable --user --now arch-update.timer
# https://wiki.archlinux.org/title/CPU_frequency_scaling#Userspace_tools
# https://wiki.archlinux.org/title/Systemd-resolved
# https://man.archlinux.org/man/hosts.5.en
# https://github.com/ImMALWARE/dns.malw.link/blob/master/hosts
# https://github.com/Flowseal/zapret-discord-youtube/blob/main/.service/hosts
# https://wiki.archlinux.org/title/Sysctl#Improving_performance
# https://wiki.archlinux.org/title/Kernel_module#systemd
sudo systemctl disable --now power-profiles-daemon.service
sudo pacman -Rns --noconfirm power-profiles-daemon
sudo pacman -S --noconfirm --needed cpupower
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/default/cpupower-service.conf | sudo tee /etc/default/cpupower-service.conf > /dev/null
sudo systemctl enable --now cpupower.service
sudo mkdir -p /etc/systemd/resolved.conf.d/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/systemd/resolved.conf.d/resolved.conf | sudo tee /etc/systemd/resolved.conf.d/resolved.conf > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/hosts | sudo tee /etc/hosts > /dev/null
mkdir -p /etc/sysctl.d/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/sysctl.d/99-arch.conf | sudo tee /etc/sysctl.d/99-arch.conf > /dev/null
mkdir -p /etc/modules-load.d/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/modules-load.d/modules.conf | sudo tee /etc/modules-load.d/modules.conf > /dev/null
sudo pacman -S --noconfirm --needed bazaar chromium
sudo pacman -S --noconfirm --needed cachyos-firefox-settings
sudo pacman -S --noconfirm --needed zed github-cli pycharm-community-edition
flatpak install -y flathub org.desktop_plus.desktop-plus
# https://wiki.archlinux.org/title/Open_Broadcaster_Software#Installation
# https://wiki.archlinux.org/title/Hardware_video_acceleration#AMD/ATI
sudo pacman -S --noconfirm --needed mesa vulkan-radeon
sudo pacman -S --noconfirm --needed --asdeps obs-studio-plugin-browser
sudo pacman -S --noconfirm --needed obs-studio
flatpak install -y flathub org.onlyoffice.desktopeditors com.github.PintaProject.Pinta
# https://wiki.archlinux.org/title/Discord#Enabling_rich_presence_on_Flatpak
sudo pacman -S --noconfirm --needed telegram-desktop torbrowser-launcher lact gnome-firmware ventoy-bin
flatpak install -y flathub com.discordapp.Discord
mkdir -p ~/.config/user-tmpfiles.d/
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/user-tmpfiles.d/discord.conf | tee ~/.config/user-tmpfiles.d/discord.conf > /dev/null
yay -S --noconfirm --needed amneziavpn-bin
sudo sh -c "$(curl -Ls https://github.com/v2rayA/v2rayA-installer/raw/main/installer.sh)" @ --with-xray
sudo systemctl enable --now v2raya.service
sudo systemctl enable --now lactd.service
# https://wiki.archlinux.org/title/Godot_Engine#Installation
# https://wiki.archlinux.org/title/Blender#HIP_on_AMD_open_source_drivers
# https://wiki.archlinux.org/title/Blender#Enable_Hardware_Ray_tracing_on_supported_GPUs
yay -S --noconfirm --needed --asdeps jdk-temurin
yay -S --noconfirm --needed elyprismlauncher-bin
flatpak install -y flathub org.vinegarhq.Sober org.vinegarhq.Vinegar
sudo pacman -S --noconfirm --needed --asdeps hip-runtime-amd hiprt
sudo pacman -S --noconfirm --needed blender godot-mono
# https://wiki.archlinux.org/title/Default_applications
# https://wiki.archlinux.org/title/XDG_MIME_Applications
# https://github.com/basecamp/omarchy/blob/quattro/default/applications/mimeapps.list
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/mimeapps.list | tee ~/.config/mimeapps.list > /dev/null
sudo limine-mkinitcpio

36
scripts/reset.sh Normal file
View file

@ -0,0 +1,36 @@
systemctl --user stop dms
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/xdg-desktop-portal/portals.conf | tee ~/.config/xdg-desktop-portal/portals.conf > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/xsettingsd/xsettingsd.conf | tee ~/.config/xsettingsd/xsettingsd.conf > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/gtk-3.0/settings.ini | tee ~/.config/gtk-3.0/settings.ini > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/gtk-3.0/gtk.css | tee ~/.config/gtk-3.0/gtk.css > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/gtk-4.0/settings.ini | tee ~/.config/gtk-4.0/settings.ini > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/gtk-4.0/gtk.css | tee ~/.config/gtk-4.0/gtk.css > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/MangoHud/MangoHud.conf | tee ~/.config/MangoHud/MangoHud.conf > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/environment.d/env.conf | tee ~/.config/environment.d/env.conf > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/udev/rules.d/60-ioschedulers.rules | sudo tee /etc/udev/rules.d/60-ioschedulers.rules > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/scx_loader/config.toml | sudo tee /etc/scx_loader/config.toml > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/default/cpupower-service.conf | sudo tee /etc/default/cpupower-service.conf > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/systemd/resolved.conf.d/resolved.conf | sudo tee /etc/systemd/resolved.conf.d/resolved.conf > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/etc/hosts | sudo tee /etc/hosts > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/user-tmpfiles.d/discord.conf | tee ~/.config/user-tmpfiles.d/discord.conf > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/mimeapps.list | tee ~/.config/mimeapps.list > /dev/null
rm -r ~/.config/DankMaterialShell ~/.local/state/DankMaterialShell ~/.cache/DankMaterialShell ~/.config/niri/
mkdir -p ~/.config/DankMaterialShell/
mkdir -p ~/.local/state/DankMaterialShell/
mkdir -p ~/.cache/DankMaterialShell/
mkdir -p ~/.config/niri/
dms setup
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/niri/config.kdl | tee ~/.config/niri/config.kdl > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/DankMaterialShell/settings.json | tee ~/.config/DankMaterialShell/settings.json > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/config/DankMaterialShell/clsettings.json | tee ~/.config/DankMaterialShell/clsettings.json > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/local/state/DankMaterialShell/session.json | tee ~/.local/state/DankMaterialShell/session.json > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/cache/DankMaterialShell/cache.json | tee ~/.cache/DankMaterialShell/cache.json > /dev/null
curl -fsSL https://raw.githubusercontent.com/MAnitosik/cachy/refs/heads/main/cache/DankMaterialShell/dms-colors.json | tee ~/.cache/DankMaterialShell/dms-colors.json > /dev/null
sudo systemctl reboot

1
scripts/zapret.sh Normal file
View file

@ -0,0 +1 @@
bash <(curl -s https://raw.githubusercontent.com/kartavkun/zapret-discord-youtube/main/setup.sh)