Initial commit
This commit is contained in:
commit
cfcc57a8bd
353 changed files with 18756 additions and 0 deletions
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
/.direnv/
|
||||
/.obsidian/
|
||||
/.kilocode/
|
||||
/zzz-sleep/
|
||||
/resource/
|
||||
/private/
|
||||
7
.sops.yaml
Normal file
7
.sops.yaml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
keys:
|
||||
- &primary age1pj9v44sqvsk06jjs0jx092cdjwtm93nzk83875dw8nume88xnd9sevw75d
|
||||
creation_rules:
|
||||
- path_regex: secrets/secrets.yaml$
|
||||
key_groups:
|
||||
- age:
|
||||
- *primary
|
||||
58
dotfile/.config/dolphinrc
Normal file
58
dotfile/.config/dolphinrc
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
MenuBar=Disabled
|
||||
|
||||
[CompactMode]
|
||||
PreviewSize=64
|
||||
|
||||
[ContextMenu]
|
||||
ShowOpenTerminal=false
|
||||
|
||||
[DetailsMode]
|
||||
LeftPadding=0
|
||||
PreviewSize=16
|
||||
RightPadding=12
|
||||
|
||||
[FoldersPanel]
|
||||
HiddenFilesShown=true
|
||||
LimitFoldersPanelToHome=false
|
||||
|
||||
[General]
|
||||
DoubleClickViewAction=none
|
||||
EditableUrl=true
|
||||
FilterBar=true
|
||||
ShowFullPath=true
|
||||
ShowFullPathInTitlebar=true
|
||||
ShowStatusBar=FullWidth
|
||||
ShowZoomSlider=true
|
||||
SplitView=true
|
||||
Version=202
|
||||
ViewPropsTimestamp=2025,8,31,12,32,0.499
|
||||
|
||||
[IconsMode]
|
||||
PreviewSize=192
|
||||
|
||||
[InformationPanel]
|
||||
dateFormat=ShortFormat
|
||||
previewsAutoPlay=true
|
||||
|
||||
[KFileDialog Settings]
|
||||
Places Icons Auto-resize=false
|
||||
Places Icons Static Size=16
|
||||
|
||||
[MainWindow]
|
||||
MenuBar=Disabled
|
||||
|
||||
[MainWindow][Toolbar mainToolBar]
|
||||
ToolButtonStyle=IconOnly
|
||||
|
||||
[PlacesPanel]
|
||||
IconSize=16
|
||||
|
||||
[PreviewSettings]
|
||||
Plugins=appimagethumbnail,audiothumbnail,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,directorythumbnail,imagethumbnail,jpegthumbnail,kraorathumbnail,windowsexethumbnail,windowsimagethumbnail,opendocumentthumbnail,svgthumbnail,textthumbnail
|
||||
|
||||
[Toolbar mainToolBar]
|
||||
ToolButtonStyle=IconOnly
|
||||
|
||||
[ViewPropertiesDialog]
|
||||
2 screens: Height=344
|
||||
2 screens: Width=466
|
||||
11
dotfile/.config/haruna/haruna.conf
Normal file
11
dotfile/.config/haruna/haruna.conf
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
[General]
|
||||
ColorScheme=Breeze Dark
|
||||
FileDialogLastLocation=file:///home/kirbara/Downloads
|
||||
GuiStyle=qt6ct-style
|
||||
LastPlayedFile=file:///home/kirbara/Downloads/Otakudesu.io_SNDA--06_Mkv720p.mkv
|
||||
OsdFontSize=20
|
||||
ShowHeader=false
|
||||
ShowPreviewThumbnail=true
|
||||
|
||||
[Subtitles]
|
||||
FontFamily=Roboto Thin
|
||||
2
dotfile/.config/harunarc
Normal file
2
dotfile/.config/harunarc
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
[UiSettings]
|
||||
ColorScheme=BreezeDark
|
||||
16
dotfile/.config/konsolerc
Normal file
16
dotfile/.config/konsolerc
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
MenuBar=Disabled
|
||||
|
||||
[Desktop Entry]
|
||||
DefaultProfile=simple-konsole.profile
|
||||
|
||||
[General]
|
||||
ConfigVersion=1
|
||||
|
||||
[MainWindow]
|
||||
ToolBarsMovable=Enabled
|
||||
|
||||
[MainWindow][Toolbar sessionToolbar]
|
||||
ToolButtonStyle=IconOnly
|
||||
|
||||
[Toolbar sessionToolbar]
|
||||
ToolButtonStyle=IconOnly
|
||||
3
dotfile/.config/libvirt/qemu.conf
Normal file
3
dotfile/.config/libvirt/qemu.conf
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Adapted from /var/lib/libvirt/qemu.conf
|
||||
# Note that AAVMF and OVMF are for Aarch64 and x86 respectively
|
||||
nvram = [ "/run/libvirt/nix-ovmf/AAVMF_CODE.fd:/run/libvirt/nix-ovmf/AAVMF_VARS.fd", "/run/libvirt/nix-ovmf/OVMF_CODE.fd:/run/libvirt/nix-ovmf/OVMF_VARS.fd" ]
|
||||
113
dotfile/.config/obs-studio/basic/profiles/Untitled/basic.ini
Normal file
113
dotfile/.config/obs-studio/basic/profiles/Untitled/basic.ini
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
[General]
|
||||
Name=Untitled
|
||||
|
||||
[Output]
|
||||
Mode=Simple
|
||||
FilenameFormatting=%CCYY-%MM-%DD %hh-%mm-%ss
|
||||
DelayEnable=false
|
||||
DelaySec=20
|
||||
DelayPreserve=true
|
||||
Reconnect=true
|
||||
RetryDelay=2
|
||||
MaxRetries=25
|
||||
BindIP=default
|
||||
IPFamily=IPv4+IPv6
|
||||
NewSocketLoopEnable=false
|
||||
LowLatencyEnable=false
|
||||
|
||||
[Stream1]
|
||||
IgnoreRecommended=false
|
||||
EnableMultitrackVideo=false
|
||||
MultitrackVideoMaximumAggregateBitrateAuto=true
|
||||
MultitrackVideoMaximumVideoTracksAuto=true
|
||||
|
||||
[SimpleOutput]
|
||||
FilePath=/home/kirbaranixos
|
||||
RecFormat2=mkv
|
||||
VBitrate=2500
|
||||
ABitrate=160
|
||||
UseAdvanced=false
|
||||
Preset=veryfast
|
||||
NVENCPreset2=p5
|
||||
RecQuality=Small
|
||||
RecRB=false
|
||||
RecRBTime=20
|
||||
RecRBSize=512
|
||||
RecRBPrefix=Replay
|
||||
StreamAudioEncoder=aac
|
||||
RecAudioEncoder=aac
|
||||
RecTracks=1
|
||||
StreamEncoder=x264
|
||||
RecEncoder=x264
|
||||
FileNameWithoutSpace=true
|
||||
|
||||
[AdvOut]
|
||||
ApplyServiceSettings=true
|
||||
UseRescale=false
|
||||
TrackIndex=1
|
||||
VodTrackIndex=2
|
||||
Encoder=obs_x264
|
||||
RecType=Standard
|
||||
RecFilePath=/home/kirbaranixos
|
||||
RecFormat2=mkv
|
||||
RecUseRescale=false
|
||||
RecTracks=1
|
||||
RecEncoder=none
|
||||
FLVTrack=1
|
||||
StreamMultiTrackAudioMixes=1
|
||||
FFOutputToFile=true
|
||||
FFFilePath=/home/kirbaranixos
|
||||
FFVBitrate=2500
|
||||
FFVGOPSize=250
|
||||
FFUseRescale=false
|
||||
FFIgnoreCompat=false
|
||||
FFABitrate=160
|
||||
FFAudioMixes=1
|
||||
Track1Bitrate=160
|
||||
Track2Bitrate=160
|
||||
Track3Bitrate=160
|
||||
Track4Bitrate=160
|
||||
Track5Bitrate=160
|
||||
Track6Bitrate=160
|
||||
RecSplitFileTime=15
|
||||
RecSplitFileSize=2048
|
||||
RecRB=false
|
||||
RecRBTime=20
|
||||
RecRBSize=512
|
||||
AudioEncoder=libfdk_aac
|
||||
RecAudioEncoder=libfdk_aac
|
||||
RecSplitFileType=Time
|
||||
FFFormat=
|
||||
FFFormatMimeType=
|
||||
FFVEncoderId=0
|
||||
FFVEncoder=
|
||||
FFAEncoderId=0
|
||||
FFAEncoder=
|
||||
|
||||
[Video]
|
||||
BaseCX=1920
|
||||
BaseCY=1080
|
||||
OutputCX=1920
|
||||
OutputCY=1080
|
||||
FPSType=0
|
||||
FPSCommon=30
|
||||
FPSInt=30
|
||||
FPSNum=30
|
||||
FPSDen=1
|
||||
ScaleType=bicubic
|
||||
ColorFormat=NV12
|
||||
ColorSpace=709
|
||||
ColorRange=Partial
|
||||
SdrWhiteLevel=300
|
||||
HdrNominalPeakLevel=1000
|
||||
|
||||
[Audio]
|
||||
MonitoringDeviceId=default
|
||||
MonitoringDeviceName=Default
|
||||
SampleRate=48000
|
||||
ChannelSetup=Stereo
|
||||
MeterDecayRate=23.53
|
||||
PeakMeterType=0
|
||||
|
||||
[Panels]
|
||||
CookieId=551C3B0AA4EF2653
|
||||
384
dotfile/.config/obs-studio/basic/scenes/Untitled.json
Normal file
384
dotfile/.config/obs-studio/basic/scenes/Untitled.json
Normal file
|
|
@ -0,0 +1,384 @@
|
|||
{
|
||||
"DesktopAudioDevice1": {
|
||||
"prev_ver": 520159234,
|
||||
"name": "Desktop Audio",
|
||||
"uuid": "05fc13f0-f239-4f76-8c37-1cbdc5cf8536",
|
||||
"id": "pulse_output_capture",
|
||||
"versioned_id": "pulse_output_capture",
|
||||
"settings": {
|
||||
"device_id": "default"
|
||||
},
|
||||
"mixers": 255,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"libobs.mute": [],
|
||||
"libobs.unmute": [],
|
||||
"libobs.push-to-mute": [],
|
||||
"libobs.push-to-talk": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
},
|
||||
"current_scene": "Scene",
|
||||
"current_program_scene": "Scene",
|
||||
"scene_order": [
|
||||
{
|
||||
"name": "Scene"
|
||||
}
|
||||
],
|
||||
"name": "Untitled",
|
||||
"sources": [
|
||||
{
|
||||
"prev_ver": 520159234,
|
||||
"name": "Scene",
|
||||
"uuid": "afb5e55b-dd28-4652-a650-101049525ade",
|
||||
"id": "scene",
|
||||
"versioned_id": "scene",
|
||||
"settings": {
|
||||
"id_counter": 4,
|
||||
"custom_size": false,
|
||||
"items": [
|
||||
{
|
||||
"name": "Audio Output Capture (PulseAudio)",
|
||||
"source_uuid": "53708365-22f8-4f37-955f-8aa75bea127d",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 1,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"name": "Screen Capture (PipeWire)",
|
||||
"source_uuid": "dc67fb25-36ff-49bf-acd3-851a983d1933",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 2,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"name": "Wayland output(dmabuf)",
|
||||
"source_uuid": "d229178b-34fa-424c-afae-139f0dff8c2f",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 4,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"OBSBasic.SelectScene": [],
|
||||
"libobs.show_scene_item.1": [],
|
||||
"libobs.hide_scene_item.1": [],
|
||||
"libobs.show_scene_item.2": [],
|
||||
"libobs.hide_scene_item.2": [],
|
||||
"libobs.show_scene_item.4": [],
|
||||
"libobs.hide_scene_item.4": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e",
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 520159234,
|
||||
"name": "Audio Output Capture (PulseAudio)",
|
||||
"uuid": "53708365-22f8-4f37-955f-8aa75bea127d",
|
||||
"id": "pulse_output_capture",
|
||||
"versioned_id": "pulse_output_capture",
|
||||
"settings": {
|
||||
"device_id": "default"
|
||||
},
|
||||
"mixers": 255,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"libobs.mute": [],
|
||||
"libobs.unmute": [],
|
||||
"libobs.push-to-mute": [],
|
||||
"libobs.push-to-talk": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 520159234,
|
||||
"name": "Screen Capture (PipeWire)",
|
||||
"uuid": "dc67fb25-36ff-49bf-acd3-851a983d1933",
|
||||
"id": "pipewire-screen-capture-source",
|
||||
"versioned_id": "pipewire-screen-capture-source",
|
||||
"settings": {
|
||||
"ShowCursor": false,
|
||||
"RestoreToken": "93fc2145-5ff7-4b60-b261-cfa353e8690f"
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 520159234,
|
||||
"name": "Wayland output(dmabuf)",
|
||||
"uuid": "d229178b-34fa-424c-afae-139f0dff8c2f",
|
||||
"id": "wlrobs-dmabuf",
|
||||
"versioned_id": "wlrobs-dmabuf",
|
||||
"settings": {},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
}
|
||||
],
|
||||
"groups": [],
|
||||
"quick_transitions": [
|
||||
{
|
||||
"name": "Cut",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 1,
|
||||
"fade_to_black": false
|
||||
},
|
||||
{
|
||||
"name": "Fade",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 2,
|
||||
"fade_to_black": false
|
||||
},
|
||||
{
|
||||
"name": "Fade",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 3,
|
||||
"fade_to_black": true
|
||||
}
|
||||
],
|
||||
"transitions": [],
|
||||
"saved_projectors": [],
|
||||
"canvases": [],
|
||||
"current_transition": "Fade",
|
||||
"transition_duration": 300,
|
||||
"preview_locked": false,
|
||||
"scaling_enabled": false,
|
||||
"scaling_level": -8,
|
||||
"scaling_off_x": 0.0,
|
||||
"scaling_off_y": 0.0,
|
||||
"virtual-camera": {
|
||||
"type2": 3
|
||||
},
|
||||
"modules": {
|
||||
"scripts-tool": [],
|
||||
"output-timer": {
|
||||
"streamTimerHours": 0,
|
||||
"streamTimerMinutes": 0,
|
||||
"streamTimerSeconds": 30,
|
||||
"recordTimerHours": 0,
|
||||
"recordTimerMinutes": 0,
|
||||
"recordTimerSeconds": 30,
|
||||
"autoStartStreamTimer": false,
|
||||
"autoStartRecordTimer": false,
|
||||
"pauseRecordTimer": true
|
||||
}
|
||||
},
|
||||
"resolution": {
|
||||
"x": 1920,
|
||||
"y": 1080
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
303
dotfile/.config/obs-studio/basic/scenes/Untitled.json.bak
Normal file
303
dotfile/.config/obs-studio/basic/scenes/Untitled.json.bak
Normal file
|
|
@ -0,0 +1,303 @@
|
|||
{
|
||||
"DesktopAudioDevice1": {
|
||||
"prev_ver": 520159234,
|
||||
"name": "Desktop Audio",
|
||||
"uuid": "05fc13f0-f239-4f76-8c37-1cbdc5cf8536",
|
||||
"id": "pulse_output_capture",
|
||||
"versioned_id": "pulse_output_capture",
|
||||
"settings": {
|
||||
"device_id": "default"
|
||||
},
|
||||
"mixers": 255,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"libobs.mute": [],
|
||||
"libobs.unmute": [],
|
||||
"libobs.push-to-mute": [],
|
||||
"libobs.push-to-talk": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
},
|
||||
"current_scene": "Scene",
|
||||
"current_program_scene": "Scene",
|
||||
"scene_order": [
|
||||
{
|
||||
"name": "Scene"
|
||||
}
|
||||
],
|
||||
"name": "Untitled",
|
||||
"sources": [
|
||||
{
|
||||
"prev_ver": 520159234,
|
||||
"name": "Scene",
|
||||
"uuid": "afb5e55b-dd28-4652-a650-101049525ade",
|
||||
"id": "scene",
|
||||
"versioned_id": "scene",
|
||||
"settings": {
|
||||
"id_counter": 3,
|
||||
"custom_size": false,
|
||||
"items": [
|
||||
{
|
||||
"name": "Audio Output Capture (PulseAudio)",
|
||||
"source_uuid": "53708365-22f8-4f37-955f-8aa75bea127d",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 1,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"name": "Screen Capture (PipeWire)",
|
||||
"source_uuid": "dc67fb25-36ff-49bf-acd3-851a983d1933",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 2,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"OBSBasic.SelectScene": [],
|
||||
"libobs.show_scene_item.1": [],
|
||||
"libobs.hide_scene_item.1": [],
|
||||
"libobs.show_scene_item.2": [],
|
||||
"libobs.hide_scene_item.2": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e",
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 520159234,
|
||||
"name": "Audio Output Capture (PulseAudio)",
|
||||
"uuid": "53708365-22f8-4f37-955f-8aa75bea127d",
|
||||
"id": "pulse_output_capture",
|
||||
"versioned_id": "pulse_output_capture",
|
||||
"settings": {
|
||||
"device_id": "default"
|
||||
},
|
||||
"mixers": 255,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"libobs.mute": [],
|
||||
"libobs.unmute": [],
|
||||
"libobs.push-to-mute": [],
|
||||
"libobs.push-to-talk": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 520159234,
|
||||
"name": "Screen Capture (PipeWire)",
|
||||
"uuid": "dc67fb25-36ff-49bf-acd3-851a983d1933",
|
||||
"id": "pipewire-screen-capture-source",
|
||||
"versioned_id": "pipewire-screen-capture-source",
|
||||
"settings": {
|
||||
"ShowCursor": false,
|
||||
"RestoreToken": "93fc2145-5ff7-4b60-b261-cfa353e8690f"
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
}
|
||||
],
|
||||
"groups": [],
|
||||
"quick_transitions": [
|
||||
{
|
||||
"name": "Cut",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 1,
|
||||
"fade_to_black": false
|
||||
},
|
||||
{
|
||||
"name": "Fade",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 2,
|
||||
"fade_to_black": false
|
||||
},
|
||||
{
|
||||
"name": "Fade",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 3,
|
||||
"fade_to_black": true
|
||||
}
|
||||
],
|
||||
"transitions": [],
|
||||
"saved_projectors": [],
|
||||
"canvases": [],
|
||||
"current_transition": "Fade",
|
||||
"transition_duration": 300,
|
||||
"preview_locked": false,
|
||||
"scaling_enabled": false,
|
||||
"scaling_level": -8,
|
||||
"scaling_off_x": 0.0,
|
||||
"scaling_off_y": 0.0,
|
||||
"virtual-camera": {
|
||||
"type2": 3
|
||||
},
|
||||
"modules": {
|
||||
"scripts-tool": [],
|
||||
"output-timer": {
|
||||
"streamTimerHours": 0,
|
||||
"streamTimerMinutes": 0,
|
||||
"streamTimerSeconds": 30,
|
||||
"recordTimerHours": 0,
|
||||
"recordTimerMinutes": 0,
|
||||
"recordTimerSeconds": 30,
|
||||
"autoStartStreamTimer": false,
|
||||
"autoStartRecordTimer": false,
|
||||
"pauseRecordTimer": true
|
||||
}
|
||||
},
|
||||
"resolution": {
|
||||
"x": 1920,
|
||||
"y": 1080
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
19
dotfile/.config/obs-studio/global.ini
Normal file
19
dotfile/.config/obs-studio/global.ini
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
[General]
|
||||
MaxLogs=10
|
||||
InfoIncrement=-1
|
||||
ProcessPriority=Normal
|
||||
EnableAutoUpdates=true
|
||||
BrowserHWAccel=true
|
||||
LastVersion=520159234
|
||||
|
||||
[Video]
|
||||
Renderer=OpenGL
|
||||
|
||||
[Locations]
|
||||
Configuration=/home/kirbaranixos/.config
|
||||
SceneCollections=/home/kirbaranixos/.config
|
||||
Profiles=/home/kirbaranixos/.config
|
||||
|
||||
[PropertiesWindow]
|
||||
cx=720
|
||||
cy=580
|
||||
636
dotfile/.config/obs-studio/logs/2025-09-28 01-24-31.txt
Normal file
636
dotfile/.config/obs-studio/logs/2025-09-28 01-24-31.txt
Normal file
|
|
@ -0,0 +1,636 @@
|
|||
01:24:31.712: Platform: Wayland
|
||||
01:24:31.712: CPU Name: 13th Gen Intel(R) Core(TM) i5-13400
|
||||
01:24:31.712: CPU Speed: 3962.022MHz
|
||||
01:24:31.713: Physical Cores: 10, Logical Cores: 16
|
||||
01:24:31.713: Physical Memory: 31830MB Total, 16349MB Free
|
||||
01:24:31.713: Kernel Version: Linux 6.16.4-cachyos
|
||||
01:24:31.713: Distribution: NixOS "25.11"
|
||||
01:24:31.713: Desktop Environment: KDE (KDE)
|
||||
01:24:31.713: Session Type: wayland
|
||||
01:24:31.715: Current Date/Time: 2025-09-28, 01:24:31 AM
|
||||
01:24:31.715: Browser Hardware Acceleration: true
|
||||
01:24:31.715: Qt Version: 6.9.1 (runtime), 6.9.1 (compiled)
|
||||
01:24:31.715: Portable mode: false
|
||||
01:24:31.742: OBS 31.1.2 (linux)
|
||||
01:24:31.742: ---------------------------------
|
||||
01:24:31.742: ---------------------------------
|
||||
01:24:31.743: audio settings reset:
|
||||
01:24:31.743: samples per sec: 48000
|
||||
01:24:31.743: speakers: 2
|
||||
01:24:31.743: max buffering: 960 milliseconds
|
||||
01:24:31.743: buffering type: dynamically increasing
|
||||
01:24:31.743: ---------------------------------
|
||||
01:24:31.743: Initializing OpenGL...
|
||||
01:24:31.743: Using EGL/Wayland
|
||||
01:24:31.748: Initialized EGL 1.5
|
||||
01:24:31.760: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics 730 (ADL-S GT1)
|
||||
01:24:31.760: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 25.2.1, shading language 4.60
|
||||
01:24:31.877: ---------------------------------
|
||||
01:24:31.877: video settings reset:
|
||||
01:24:31.877: base resolution: 1920x1080
|
||||
01:24:31.877: output resolution: 1280x720
|
||||
01:24:31.877: downscale filter: Bicubic
|
||||
01:24:31.877: fps: 30/1
|
||||
01:24:31.877: format: NV12
|
||||
01:24:31.877: YUV mode: Rec. 709/Partial
|
||||
01:24:31.877: NV12 texture support enabled
|
||||
01:24:31.877: P010 texture support not available
|
||||
01:24:31.883: Audio monitoring device:
|
||||
01:24:31.883: name: Default
|
||||
01:24:31.883: id: default
|
||||
01:24:31.884: ---------------------------------
|
||||
01:24:31.890: Failed to load 'en-US' text for module: 'decklink-captions.so'
|
||||
01:24:31.897: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
|
||||
01:24:31.902: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
|
||||
01:24:31.902: Failed to initialize module 'decklink.so'
|
||||
01:24:32.101: [pipewire] Available capture sources:
|
||||
01:24:32.101: [pipewire] - Monitor source
|
||||
01:24:32.101: [pipewire] - Window source
|
||||
01:24:32.138: [obs-browser]: Version 2.25.3
|
||||
01:24:32.138: [obs-browser]: CEF Version 138.0.7204.97 (runtime), 138.0.17+gac9b751+chromium-138.0.7204.97 (compiled)
|
||||
01:24:32.158: VAAPI: Failed to initialize display in vaapi_device_h264_supported
|
||||
01:24:32.166: VAAPI: API version 1.22
|
||||
01:24:32.167: FFmpeg VAAPI H264 encoding supported
|
||||
01:24:32.167: VAAPI: Failed to initialize display in vaapi_device_av1_supported
|
||||
01:24:32.174: FFmpeg VAAPI AV1 encoding not supported
|
||||
01:24:32.174: VAAPI: Failed to initialize display in vaapi_device_hevc_supported
|
||||
01:24:32.181: FFmpeg VAAPI HEVC encoding supported
|
||||
01:24:32.211: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
|
||||
01:24:32.211:
|
||||
01:24:32.211: NVENC not supported
|
||||
01:24:32.211: Failed to initialize module 'obs-nvenc.so'
|
||||
01:24:32.292: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.6.2 | RPC Version: 1)
|
||||
01:24:32.293: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.9.1 | Qt version (run-time): 6.9.1
|
||||
01:24:32.293: [obs-websocket] [obs_module_load] Linked ASIO Version: 102400
|
||||
01:24:32.293: DEPRECATION: obs_frontend_get_global_config is deprecated. Read from global or user configuration explicitly instead.
|
||||
01:24:32.293: [obs-websocket] [Config::Load] Existing configuration not found, using defaults.
|
||||
01:24:32.293: [obs-websocket] [Config::Load] (FirstLoad) Generating new server password.
|
||||
01:24:32.297: [obs-websocket] [obs_module_load] Module loaded.
|
||||
01:24:32.330: [vlc-video]: VLC 3.0.21 Vetinari found, VLC video source enabled
|
||||
01:24:32.330: ---------------------------------
|
||||
01:24:32.330: Loaded Modules:
|
||||
01:24:32.330: vlc-video.so
|
||||
01:24:32.330: text-freetype2.so
|
||||
01:24:32.330: rtmp-services.so
|
||||
01:24:32.330: obs-x264.so
|
||||
01:24:32.330: obs-websocket.so
|
||||
01:24:32.330: obs-webrtc.so
|
||||
01:24:32.330: obs-vst.so
|
||||
01:24:32.330: obs-transitions.so
|
||||
01:24:32.330: obs-qsv11.so
|
||||
01:24:32.330: obs-outputs.so
|
||||
01:24:32.330: obs-libfdk.so
|
||||
01:24:32.330: obs-filters.so
|
||||
01:24:32.330: obs-ffmpeg.so
|
||||
01:24:32.330: obs-browser.so
|
||||
01:24:32.330: linux-v4l2.so
|
||||
01:24:32.330: linux-pulseaudio.so
|
||||
01:24:32.330: linux-pipewire.so
|
||||
01:24:32.330: linux-jack.so
|
||||
01:24:32.330: linux-capture.so
|
||||
01:24:32.330: linux-alsa.so
|
||||
01:24:32.330: image-source.so
|
||||
01:24:32.330: frontend-tools.so
|
||||
01:24:32.330: decklink-output-ui.so
|
||||
01:24:32.330: decklink-captions.so
|
||||
01:24:32.330: ---------------------------------
|
||||
01:24:32.330: ---------------------------------
|
||||
01:24:32.330: Available Encoders:
|
||||
01:24:32.330: Video Encoders:
|
||||
01:24:32.330: - ffmpeg_svt_av1 (SVT-AV1)
|
||||
01:24:32.330: - ffmpeg_aom_av1 (AOM AV1)
|
||||
01:24:32.330: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
|
||||
01:24:32.330: - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
|
||||
01:24:32.330: - obs_x264 (x264)
|
||||
01:24:32.330: Audio Encoders:
|
||||
01:24:32.330: - ffmpeg_aac (FFmpeg AAC)
|
||||
01:24:32.330: - ffmpeg_opus (FFmpeg Opus)
|
||||
01:24:32.330: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
|
||||
01:24:32.330: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
|
||||
01:24:32.330: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
|
||||
01:24:32.330: - ffmpeg_alac (FFmpeg ALAC (24-bit))
|
||||
01:24:32.330: - ffmpeg_flac (FFmpeg FLAC (16-bit))
|
||||
01:24:32.330: - libfdk_aac (libfdk AAC)
|
||||
01:24:32.330: ==== Startup complete ===============================================
|
||||
01:24:32.334: No scene file found, creating default scene
|
||||
01:24:32.364: All scene data cleared
|
||||
01:24:32.364: ------------------------------------------------
|
||||
01:24:32.376: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
01:24:32.376: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
01:24:32.377: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
01:24:32.378: Switched to scene 'Scene'
|
||||
01:24:32.378: Created scene collection 'Untitled' (clean, Untitled.json)
|
||||
01:24:32.378: ------------------------------------------------
|
||||
01:24:32.916: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
|
||||
01:24:32.916:
|
||||
01:24:33.618: [rtmp-services plugin] Successfully updated file 'services.json' (version 276)
|
||||
01:24:33.618: [rtmp-services plugin] Successfully updated package (version 276)
|
||||
01:24:42.958:
|
||||
01:24:42.958: ==== Auto-config wizard testing commencing ======
|
||||
|
||||
01:24:42.983: ---------------------------------
|
||||
01:24:42.983: video settings reset:
|
||||
01:24:42.983: base resolution: 1920x1080
|
||||
01:24:42.983: output resolution: 1920x1080
|
||||
01:24:42.983: downscale filter: Bicubic
|
||||
01:24:42.983: fps: 30/1
|
||||
01:24:42.983: format: NV12
|
||||
01:24:42.983: YUV mode: Rec. 709/Partial
|
||||
01:24:42.983: NV12 texture support enabled
|
||||
01:24:42.983: P010 texture support not available
|
||||
01:24:42.989: Output 'null': Tried to use obs_output_set_media on an encoded output
|
||||
01:24:42.989: ---------------------------------
|
||||
01:24:42.989: [x264 encoder: 'test_x264'] preset: veryfast
|
||||
01:24:42.989: [x264 encoder: 'test_x264'] profile: high
|
||||
01:24:42.989: [x264 encoder: 'test_x264'] settings:
|
||||
01:24:42.989: rate_control: CRF
|
||||
01:24:42.989: bitrate: 0
|
||||
01:24:42.989: buffer size: 0
|
||||
01:24:42.989: crf: 20
|
||||
01:24:42.989: fps_num: 30
|
||||
01:24:42.989: fps_den: 1
|
||||
01:24:42.989: width: 1920
|
||||
01:24:42.989: height: 1080
|
||||
01:24:42.989: keyint: 250
|
||||
01:24:42.989:
|
||||
01:24:43.001: ---------------------------------
|
||||
01:24:43.002: [FFmpeg aac encoder: 'test_aac'] bitrate: 32, channels: 2, channel_layout: stereo, track: 1
|
||||
01:24:43.002:
|
||||
01:24:48.002: Output 'null': stopping
|
||||
01:24:48.002: Output 'null': Total frames output: 111
|
||||
01:24:48.002: Output 'null': Total drawn frames: 150
|
||||
01:24:48.090: ---------------------------------
|
||||
01:24:48.090: video settings reset:
|
||||
01:24:48.090: base resolution: 1920x1080
|
||||
01:24:48.090: output resolution: 1280x720
|
||||
01:24:48.090: downscale filter: Bicubic
|
||||
01:24:48.090: fps: 30/1
|
||||
01:24:48.090: format: NV12
|
||||
01:24:48.090: YUV mode: Rec. 709/Partial
|
||||
01:24:48.090: NV12 texture support enabled
|
||||
01:24:48.090: P010 texture support not available
|
||||
01:24:48.092: Output 'null': Tried to use obs_output_set_media on an encoded output
|
||||
01:24:48.092: ---------------------------------
|
||||
01:24:48.092: [x264 encoder: 'test_x264'] preset: veryfast
|
||||
01:24:48.092: [x264 encoder: 'test_x264'] profile: high
|
||||
01:24:48.092: [x264 encoder: 'test_x264'] settings:
|
||||
01:24:48.092: rate_control: CRF
|
||||
01:24:48.092: bitrate: 0
|
||||
01:24:48.092: buffer size: 0
|
||||
01:24:48.092: crf: 20
|
||||
01:24:48.092: fps_num: 30
|
||||
01:24:48.092: fps_den: 1
|
||||
01:24:48.092: width: 1280
|
||||
01:24:48.092: height: 720
|
||||
01:24:48.092: keyint: 250
|
||||
01:24:48.092:
|
||||
01:24:48.100: ---------------------------------
|
||||
01:24:48.101: [FFmpeg aac encoder: 'test_aac'] bitrate: 32, channels: 2, channel_layout: stereo, track: 1
|
||||
01:24:48.101:
|
||||
01:24:53.101: Output 'null': stopping
|
||||
01:24:53.101: Output 'null': Total frames output: 113
|
||||
01:24:53.101: Output 'null': Total drawn frames: 150
|
||||
01:24:53.159: ---------------------------------
|
||||
01:24:53.159: video settings reset:
|
||||
01:24:53.159: base resolution: 1920x1080
|
||||
01:24:53.159: output resolution: 852x480
|
||||
01:24:53.159: downscale filter: Bicubic
|
||||
01:24:53.159: fps: 30/1
|
||||
01:24:53.159: format: NV12
|
||||
01:24:53.159: YUV mode: Rec. 709/Partial
|
||||
01:24:53.159: NV12 texture support enabled
|
||||
01:24:53.159: P010 texture support not available
|
||||
01:24:53.164: Output 'null': Tried to use obs_output_set_media on an encoded output
|
||||
01:24:53.164: ---------------------------------
|
||||
01:24:53.164: [x264 encoder: 'test_x264'] preset: veryfast
|
||||
01:24:53.164: [x264 encoder: 'test_x264'] profile: high
|
||||
01:24:53.164: [x264 encoder: 'test_x264'] settings:
|
||||
01:24:53.164: rate_control: CRF
|
||||
01:24:53.164: bitrate: 0
|
||||
01:24:53.164: buffer size: 0
|
||||
01:24:53.164: crf: 20
|
||||
01:24:53.164: fps_num: 30
|
||||
01:24:53.164: fps_den: 1
|
||||
01:24:53.164: width: 852
|
||||
01:24:53.164: height: 480
|
||||
01:24:53.164: keyint: 250
|
||||
01:24:53.164:
|
||||
01:24:53.172: ---------------------------------
|
||||
01:24:53.172: [FFmpeg aac encoder: 'test_aac'] bitrate: 32, channels: 2, channel_layout: stereo, track: 1
|
||||
01:24:53.172:
|
||||
01:24:58.173: Output 'null': stopping
|
||||
01:24:58.173: Output 'null': Total frames output: 120
|
||||
01:24:58.173: Output 'null': Total drawn frames: 150
|
||||
01:24:58.198: ---------------------------------
|
||||
01:24:58.198: video settings reset:
|
||||
01:24:58.198: base resolution: 1920x1080
|
||||
01:24:58.198: output resolution: 1280x720
|
||||
01:24:58.198: downscale filter: Bicubic
|
||||
01:24:58.198: fps: 30/1
|
||||
01:24:58.198: format: NV12
|
||||
01:24:58.198: YUV mode: Rec. 709/Partial
|
||||
01:24:58.198: NV12 texture support enabled
|
||||
01:24:58.198: P010 texture support not available
|
||||
01:25:06.739: ---------------------------------
|
||||
01:25:06.739: video settings reset:
|
||||
01:25:06.739: base resolution: 1920x1080
|
||||
01:25:06.739: output resolution: 1920x1080
|
||||
01:25:06.739: downscale filter: Bicubic
|
||||
01:25:06.739: fps: 30/1
|
||||
01:25:06.739: format: NV12
|
||||
01:25:06.739: YUV mode: Rec. 709/Partial
|
||||
01:25:06.739: NV12 texture support enabled
|
||||
01:25:06.739: P010 texture support not available
|
||||
01:25:06.746:
|
||||
01:25:06.746: ==== Auto-config wizard testing stopping ========
|
||||
|
||||
01:25:12.154: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
01:25:12.154: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
01:25:12.154: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
01:25:12.159: User added source 'Audio Output Capture (PulseAudio)' (pulse_output_capture) to scene 'Scene'
|
||||
01:26:17.180: PipeWire initialized
|
||||
01:26:17.182: User added source 'Screen Capture (PipeWire)' (pipewire-screen-capture-source) to scene 'Scene'
|
||||
01:26:17.289: [pipewire] Screencast session created
|
||||
01:26:17.296: [pipewire] Asking for monitor and window
|
||||
01:26:20.533: [pipewire] source selected, setting up screencast
|
||||
01:26:20.550: [pipewire] Server version: 1.4.7
|
||||
01:26:20.550: [pipewire] Library version: 1.4.7
|
||||
01:26:20.550: [pipewire] Header version: 1.4.7
|
||||
01:26:20.550: [pipewire] Created stream 0x182dd290
|
||||
01:26:20.550: [pipewire] Stream 0x182dd290 state: "connecting" (error: none)
|
||||
01:26:20.550: [pipewire] Playing stream 0x182dd290
|
||||
01:26:20.551: [pipewire] Stream 0x182dd290 state: "paused" (error: none)
|
||||
01:26:20.583: [pipewire] Negotiated format:
|
||||
01:26:20.583: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
|
||||
01:26:20.583: [pipewire] Modifier: 0x0
|
||||
01:26:20.583: [pipewire] Size: 1920x1080
|
||||
01:26:20.583: [pipewire] Framerate: 0/1
|
||||
01:26:20.585: [pipewire] Negotiated format:
|
||||
01:26:20.585: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
|
||||
01:26:20.585: [pipewire] Modifier: 0x100000000000008
|
||||
01:26:20.585: [pipewire] Size: 1920x1080
|
||||
01:26:20.585: [pipewire] Framerate: 0/1
|
||||
01:26:20.591: [pipewire] Stream 0x182dd290 state: "streaming" (error: none)
|
||||
01:30:40.745: adding 64 milliseconds of audio buffering, total audio buffering is now 85 milliseconds (source: Audio Output Capture (PulseAudio))
|
||||
01:30:40.745:
|
||||
01:32:10.823: Settings changed (outputs)
|
||||
01:32:10.823: ------------------------------------------------
|
||||
01:32:22.075: ---------------------------------
|
||||
01:32:22.075: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:32:22.075: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:32:22.075: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:32:22.075: rate_control: CRF
|
||||
01:32:22.075: bitrate: 0
|
||||
01:32:22.075: buffer size: 0
|
||||
01:32:22.075: crf: 23
|
||||
01:32:22.075: fps_num: 30
|
||||
01:32:22.075: fps_den: 1
|
||||
01:32:22.075: width: 1920
|
||||
01:32:22.075: height: 1080
|
||||
01:32:22.075: keyint: 250
|
||||
01:32:22.075:
|
||||
01:32:22.087: libfdk_aac encoder created
|
||||
01:32:22.087: libfdk_aac bitrate: 192, channels: 2
|
||||
01:32:22.135: ==== Recording Start ===============================================
|
||||
01:32:22.135: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/screenrecord/2025-09-28 01-32-22.mkv'...
|
||||
01:32:26.944: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/screenrecord/2025-09-28 01-32-22.mkv' stopped
|
||||
01:32:26.944: Output 'simple_file_output': stopping
|
||||
01:32:26.944: Output 'simple_file_output': Total frames output: 107
|
||||
01:32:26.944: Output 'simple_file_output': Total drawn frames: 145
|
||||
01:32:26.950: ==== Recording Stop ================================================
|
||||
01:32:26.963: libfdk_aac encoder destroyed
|
||||
01:32:51.137: ---------------------------------
|
||||
01:32:51.137: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:32:51.137: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:32:51.137: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:32:51.137: rate_control: CRF
|
||||
01:32:51.137: bitrate: 0
|
||||
01:32:51.137: buffer size: 0
|
||||
01:32:51.137: crf: 23
|
||||
01:32:51.137: fps_num: 30
|
||||
01:32:51.137: fps_den: 1
|
||||
01:32:51.137: width: 1920
|
||||
01:32:51.137: height: 1080
|
||||
01:32:51.137: keyint: 250
|
||||
01:32:51.137:
|
||||
01:32:51.148: libfdk_aac encoder created
|
||||
01:32:51.148: libfdk_aac bitrate: 192, channels: 2
|
||||
01:32:51.153: ==== Recording Start ===============================================
|
||||
01:32:51.153: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/screenrecord/2025-09-28 01-32-51.mkv'...
|
||||
01:32:57.445: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/screenrecord/2025-09-28 01-32-51.mkv' stopped
|
||||
01:32:57.445: Output 'simple_file_output': stopping
|
||||
01:32:57.445: Output 'simple_file_output': Total frames output: 150
|
||||
01:32:57.445: Output 'simple_file_output': Total drawn frames: 189
|
||||
01:32:57.446: ==== Recording Stop ================================================
|
||||
01:32:57.452: libfdk_aac encoder destroyed
|
||||
01:34:05.963: ---------------------------------
|
||||
01:34:05.963: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:34:05.963: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:34:05.963: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:34:05.963: rate_control: CRF
|
||||
01:34:05.963: bitrate: 0
|
||||
01:34:05.963: buffer size: 0
|
||||
01:34:05.963: crf: 23
|
||||
01:34:05.963: fps_num: 30
|
||||
01:34:05.963: fps_den: 1
|
||||
01:34:05.963: width: 1920
|
||||
01:34:05.963: height: 1080
|
||||
01:34:05.963: keyint: 250
|
||||
01:34:05.963:
|
||||
01:34:05.972: libfdk_aac encoder created
|
||||
01:34:05.972: libfdk_aac bitrate: 192, channels: 2
|
||||
01:34:05.977: ==== Recording Start ===============================================
|
||||
01:34:05.977: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/screenrecord/2025-09-28 01-34-05.mkv'...
|
||||
01:34:08.575: [ffmpeg muxer: 'simple_file_output'] os_process_pipe_write for info structure failed
|
||||
01:34:08.575: [ffmpeg muxer: 'simple_file_output'] ffmpeg-mux: Couldn't initialize muxer
|
||||
01:34:08.575:
|
||||
01:34:08.575: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/screenrecord/2025-09-28 01-34-05.mkv' stopped
|
||||
01:34:08.575: Output 'simple_file_output': stopping
|
||||
01:34:08.575: Output 'simple_file_output': Total frames output: 40
|
||||
01:34:08.575: Output 'simple_file_output': Total drawn frames: 78
|
||||
01:34:08.585: libfdk_aac encoder destroyed
|
||||
01:34:08.586: ==== Recording Stop ================================================
|
||||
01:34:22.234: pulse-input: Stopped recording from 'default'
|
||||
01:34:22.235: pulse-input: Got 22002 packets with 26402400 frames
|
||||
01:34:22.236: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
01:34:22.236: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
01:34:22.236: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
01:34:23.904: ---------------------------------
|
||||
01:34:23.904: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:34:23.904: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:34:23.904: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:34:23.904: rate_control: CRF
|
||||
01:34:23.904: bitrate: 0
|
||||
01:34:23.904: buffer size: 0
|
||||
01:34:23.904: crf: 23
|
||||
01:34:23.904: fps_num: 30
|
||||
01:34:23.904: fps_den: 1
|
||||
01:34:23.904: width: 1920
|
||||
01:34:23.904: height: 1080
|
||||
01:34:23.904: keyint: 250
|
||||
01:34:23.904:
|
||||
01:34:23.913: libfdk_aac encoder created
|
||||
01:34:23.913: libfdk_aac bitrate: 192, channels: 2
|
||||
01:34:23.918: ==== Recording Start ===============================================
|
||||
01:34:23.918: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/screenrecord/2025-09-28 01-34-23.mkv'...
|
||||
01:34:32.703: [ffmpeg muxer: 'simple_file_output'] os_process_pipe_write for packet data failed
|
||||
01:34:32.703: [ffmpeg muxer: 'simple_file_output'] ffmpeg-mux: Couldn't initialize muxer
|
||||
01:34:32.703:
|
||||
01:34:32.703: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/screenrecord/2025-09-28 01-34-23.mkv' stopped
|
||||
01:34:32.703: Output 'simple_file_output': stopping
|
||||
01:34:32.703: Output 'simple_file_output': Total frames output: 225
|
||||
01:34:32.703: Output 'simple_file_output': Total drawn frames: 263
|
||||
01:34:32.704: ==== Recording Stop ================================================
|
||||
01:34:32.709: libfdk_aac encoder destroyed
|
||||
01:35:39.406: Settings changed (outputs)
|
||||
01:35:39.406: ------------------------------------------------
|
||||
01:35:41.013: ---------------------------------
|
||||
01:35:41.013: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:35:41.013: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:35:41.013: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:35:41.013: rate_control: CRF
|
||||
01:35:41.013: bitrate: 0
|
||||
01:35:41.013: buffer size: 0
|
||||
01:35:41.013: crf: 23
|
||||
01:35:41.013: fps_num: 30
|
||||
01:35:41.013: fps_den: 1
|
||||
01:35:41.013: width: 1920
|
||||
01:35:41.013: height: 1080
|
||||
01:35:41.013: keyint: 250
|
||||
01:35:41.013:
|
||||
01:35:41.026: libfdk_aac encoder created
|
||||
01:35:41.026: libfdk_aac bitrate: 192, channels: 2
|
||||
01:35:41.031: ==== Recording Start ===============================================
|
||||
01:35:41.031: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/screenrecord/2025-09-28 01-35-41.mp4'...
|
||||
01:35:51.914: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/screenrecord/2025-09-28 01-35-41.mp4' stopped
|
||||
01:35:51.914: Output 'simple_file_output': stopping
|
||||
01:35:51.914: Output 'simple_file_output': Total frames output: 273
|
||||
01:35:51.914: Output 'simple_file_output': Total drawn frames: 301 (327 attempted)
|
||||
01:35:51.914: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 26 (8.0%)
|
||||
01:35:51.920: ==== Recording Stop ================================================
|
||||
01:35:51.928: libfdk_aac encoder destroyed
|
||||
01:38:45.503: Settings changed (outputs)
|
||||
01:38:45.503: ------------------------------------------------
|
||||
01:39:10.593: Settings changed (outputs)
|
||||
01:39:10.593: ------------------------------------------------
|
||||
01:39:12.508: ---------------------------------
|
||||
01:39:12.508: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:39:12.508: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:39:12.508: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:39:12.508: rate_control: CRF
|
||||
01:39:12.508: bitrate: 0
|
||||
01:39:12.508: buffer size: 0
|
||||
01:39:12.508: crf: 23
|
||||
01:39:12.508: fps_num: 30
|
||||
01:39:12.508: fps_den: 1
|
||||
01:39:12.508: width: 1920
|
||||
01:39:12.508: height: 1080
|
||||
01:39:12.508: keyint: 250
|
||||
01:39:12.508:
|
||||
01:39:12.516: libfdk_aac encoder created
|
||||
01:39:12.516: libfdk_aac bitrate: 192, channels: 2
|
||||
01:39:12.522: ==== Recording Start ===============================================
|
||||
01:39:12.522: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/2025-09-28_01-39-12.mkv'...
|
||||
01:39:25.098: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/2025-09-28_01-39-12.mkv' stopped
|
||||
01:39:25.098: Output 'simple_file_output': stopping
|
||||
01:39:25.098: Output 'simple_file_output': Total frames output: 339
|
||||
01:39:25.098: Output 'simple_file_output': Total drawn frames: 377
|
||||
01:39:25.106: ==== Recording Stop ================================================
|
||||
01:39:25.117: libfdk_aac encoder destroyed
|
||||
01:47:16.325: ---------------------------------
|
||||
01:47:16.325: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:47:16.325: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:47:16.325: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:47:16.325: rate_control: CRF
|
||||
01:47:16.325: bitrate: 0
|
||||
01:47:16.325: buffer size: 0
|
||||
01:47:16.325: crf: 23
|
||||
01:47:16.325: fps_num: 30
|
||||
01:47:16.325: fps_den: 1
|
||||
01:47:16.325: width: 1920
|
||||
01:47:16.325: height: 1080
|
||||
01:47:16.325: keyint: 250
|
||||
01:47:16.325:
|
||||
01:47:16.332: libfdk_aac encoder created
|
||||
01:47:16.332: libfdk_aac bitrate: 192, channels: 2
|
||||
01:47:16.337: ==== Recording Start ===============================================
|
||||
01:47:16.337: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/2025-09-28_01-47-16.mkv'...
|
||||
01:47:24.906: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/2025-09-28_01-47-16.mkv' stopped
|
||||
01:47:24.906: Output 'simple_file_output': stopping
|
||||
01:47:24.906: Output 'simple_file_output': Total frames output: 219
|
||||
01:47:24.906: Output 'simple_file_output': Total drawn frames: 257
|
||||
01:47:24.915: libfdk_aac encoder destroyed
|
||||
01:47:24.916: ==== Recording Stop ================================================
|
||||
01:47:56.135: ==== Shutting down ==================================================
|
||||
01:47:56.139: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
|
||||
01:47:56.139: pulse-input: Got 56149 packets with 67378800 frames
|
||||
01:47:56.139: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
|
||||
01:47:56.139: pulse-input: Got 32554 packets with 39064800 frames
|
||||
01:47:56.139: [pipewire] Stream 0x182dd290 state: "paused" (error: none)
|
||||
01:47:56.139: [pipewire] Stream 0x182dd290 state: "unconnected" (error: none)
|
||||
01:47:56.193: All scene data cleared
|
||||
01:47:56.193: ------------------------------------------------
|
||||
01:47:56.270: [obs-websocket] [obs_module_unload] Shutting down...
|
||||
01:47:56.270: Tried to call obs_frontend_remove_event_callback with no callbacks!
|
||||
01:47:56.270: [obs-websocket] [obs_module_unload] Finished shutting down.
|
||||
01:47:56.280: [Scripting] Total detached callbacks: 0
|
||||
01:47:56.281: Freeing OBS context data
|
||||
01:47:56.296: == Profiler Results =============================
|
||||
01:47:56.296: run_program_init: 942.13 ms
|
||||
01:47:56.296: ┣OBSApp::AppInit: 13.088 ms
|
||||
01:47:56.296: ┃ ┗OBSApp::InitLocale: 0.519 ms
|
||||
01:47:56.296: ┗OBSApp::OBSInit: 789.757 ms
|
||||
01:47:56.296: ┣obs_startup: 2.758 ms
|
||||
01:47:56.296: ┗OBSBasic::OBSInit: 759.9 ms
|
||||
01:47:56.296: ┣OBSBasic::InitBasicConfig: 0.368 ms
|
||||
01:47:56.296: ┣OBSBasic::ResetAudio: 0.195 ms
|
||||
01:47:56.296: ┣OBSBasic::ResetVideo: 139.824 ms
|
||||
01:47:56.296: ┃ ┗obs_init_graphics: 134.375 ms
|
||||
01:47:56.296: ┃ ┗shader compilation: 116.587 ms
|
||||
01:47:56.296: ┣OBSBasic::InitOBSCallbacks: 0.004 ms
|
||||
01:47:56.296: ┣OBSBasic::InitHotkeys: 0.024 ms
|
||||
01:47:56.296: ┣obs_load_all_modules2: 445.614 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(decklink-captions.so): 0 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(decklink.so): 0.112 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(frontend-tools.so): 67.382 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(image-source.so): 0.013 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(linux-alsa.so): 0.002 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(linux-capture.so): 0 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(linux-jack.so): 0.007 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(linux-pipewire.so): 15.206 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.005 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(linux-v4l2.so): 5.36 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-browser.so): 0.293 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-ffmpeg.so): 24.362 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-filters.so): 0.023 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-libfdk.so): 0.001 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-nvenc.so): 0.124 ms
|
||||
01:47:56.296: ┃ ┃ ┗nvenc_check: 0.115 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-outputs.so): 0.005 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-qsv11.so): 8.77 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-transitions.so): 0.009 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-vst.so): 0.004 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-webrtc.so): 0.005 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-websocket.so): 4.098 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(obs-x264.so): 0.002 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(rtmp-services.so): 0.108 ms
|
||||
01:47:56.296: ┃ ┣obs_init_module(text-freetype2.so): 0.046 ms
|
||||
01:47:56.296: ┃ ┗obs_init_module(vlc-video.so): 2.774 ms
|
||||
01:47:56.296: ┣OBSBasic::InitService: 1.869 ms
|
||||
01:47:56.296: ┣OBSBasic::ResetOutputs: 0.174 ms
|
||||
01:47:56.296: ┣OBSBasic::CreateHotkeys: 0.019 ms
|
||||
01:47:56.296: ┣OBSBasic::InitPrimitives: 0.1 ms
|
||||
01:47:56.296: ┗OBSBasic::Load: 44.089 ms
|
||||
01:47:56.296: obs_hotkey_thread(25 ms): min=0 ms, median=0.001 ms, max=0.268 ms, 99th percentile=0.002 ms, 100% below 25 ms
|
||||
01:47:56.296: audio_thread(Audio): min=0.006 ms, median=0.066 ms, max=37.742 ms, 99th percentile=0.365 ms
|
||||
01:47:56.296: ┗receive_audio: min=0.001 ms, median=0.111 ms, max=3.498 ms, 99th percentile=0.762 ms, 0.0496681 calls per parent call
|
||||
01:47:56.296: ┣buffer_audio: min=0 ms, median=0.001 ms, max=0.043 ms, 99th percentile=0.005 ms
|
||||
01:47:56.296: ┗do_encode: min=0.021 ms, median=0.109 ms, max=3.489 ms, 99th percentile=0.757 ms
|
||||
01:47:56.296: ┣encode(test_aac): min=0.021 ms, median=0.1 ms, max=0.563 ms, 99th percentile=0.488 ms, 0.217324 calls per parent call
|
||||
01:47:56.296: ┣send_packet: min=0 ms, median=0.004 ms, max=0.454 ms, 99th percentile=0.018 ms
|
||||
01:47:56.296: ┣encode(simple_aac_recording0): min=0.037 ms, median=0.111 ms, max=3.469 ms, 99th percentile=1.146 ms, 0.321329 calls per parent call
|
||||
01:47:56.296: ┣encode(simple_aac_recording0): min=0.031 ms, median=0.104 ms, max=0.37 ms, 99th percentile=0.353 ms, 0.156784 calls per parent call
|
||||
01:47:56.296: ┗encode(simple_aac_recording0): min=0.042 ms, median=0.102 ms, max=0.461 ms, 99th percentile=0.348 ms, 0.304564 calls per parent call
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=0.087 ms, median=0.271 ms, max=111.944 ms, 99th percentile=2.596 ms, 99.6979% below 33.333 ms
|
||||
01:47:56.296: ┣tick_sources: min=0 ms, median=0.009 ms, max=0.034 ms, 99th percentile=0.023 ms
|
||||
01:47:56.296: ┣output_frame: min=0.038 ms, median=0.094 ms, max=0.585 ms, 99th percentile=0.236 ms
|
||||
01:47:56.296: ┃ ┗gs_context(video->graphics): min=0.038 ms, median=0.094 ms, max=0.584 ms, 99th percentile=0.235 ms
|
||||
01:47:56.296: ┃ ┣render_video: min=0.012 ms, median=0.034 ms, max=0.109 ms, 99th percentile=0.066 ms
|
||||
01:47:56.296: ┃ ┃ ┗render_main_texture: min=0.011 ms, median=0.029 ms, max=0.102 ms, 99th percentile=0.057 ms
|
||||
01:47:56.296: ┃ ┗gs_flush: min=0.024 ms, median=0.056 ms, max=0.546 ms, 99th percentile=0.161 ms
|
||||
01:47:56.296: ┗render_displays: min=0.001 ms, median=0.146 ms, max=111.897 ms, 99th percentile=2.477 ms
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=0.237 ms, median=0.854 ms, max=27.22 ms, 99th percentile=5.621 ms, 100% below 33.333 ms
|
||||
01:47:56.296: ┣tick_sources: min=0.005 ms, median=0.008 ms, max=0.035 ms, 99th percentile=0.028 ms
|
||||
01:47:56.296: ┣output_frame: min=0.128 ms, median=0.636 ms, max=26.936 ms, 99th percentile=5.195 ms
|
||||
01:47:56.296: ┃ ┣gs_context(video->graphics): min=0.128 ms, median=0.218 ms, max=26.931 ms, 99th percentile=5.195 ms
|
||||
01:47:56.296: ┃ ┃ ┣render_video: min=0.05 ms, median=0.106 ms, max=26.593 ms, 99th percentile=5.046 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_main_texture: min=0.039 ms, median=0.052 ms, max=5.041 ms, 99th percentile=0.137 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_convert_texture: min=0.026 ms, median=0.033 ms, max=25.084 ms, 99th percentile=0.22 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┗stage_output_texture: min=0.013 ms, median=0.017 ms, max=1.422 ms, 99th percentile=0.065 ms
|
||||
01:47:56.296: ┃ ┃ ┣gs_flush: min=0.026 ms, median=0.042 ms, max=0.31 ms, 99th percentile=0.163 ms
|
||||
01:47:56.296: ┃ ┃ ┗download_frame: min=0 ms, median=0.063 ms, max=1.029 ms, 99th percentile=0.24 ms
|
||||
01:47:56.296: ┃ ┗output_video_data: min=0.298 ms, median=0.409 ms, max=4.441 ms, 99th percentile=2.537 ms
|
||||
01:47:56.296: ┗render_displays: min=0.079 ms, median=0.176 ms, max=1.188 ms, 99th percentile=0.503 ms
|
||||
01:47:56.296: video_thread(video): min=1.001 ms, median=1.428 ms, max=4.81 ms, 99th percentile=4.559 ms
|
||||
01:47:56.296: ┗receive_video: min=1 ms, median=1.426 ms, max=4.807 ms, 99th percentile=4.555 ms
|
||||
01:47:56.296: ┗do_encode: min=0.999 ms, median=1.426 ms, max=4.805 ms, 99th percentile=4.552 ms
|
||||
01:47:56.296: ┣encode(test_x264): min=0.943 ms, median=1.348 ms, max=4.804 ms, 99th percentile=4.548 ms
|
||||
01:47:56.296: ┗send_packet: min=0.05 ms, median=0.069 ms, max=0.623 ms, 99th percentile=0.467 ms, 0.751678 calls per parent call
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=0.227 ms, median=0.545 ms, max=38.965 ms, 99th percentile=3.411 ms, 99.3421% below 33.333 ms
|
||||
01:47:56.296: ┣tick_sources: min=0.005 ms, median=0.007 ms, max=0.016 ms, 99th percentile=0.015 ms
|
||||
01:47:56.296: ┣output_frame: min=0.114 ms, median=0.367 ms, max=38.762 ms, 99th percentile=2.404 ms
|
||||
01:47:56.296: ┃ ┣gs_context(video->graphics): min=0.114 ms, median=0.2 ms, max=38.76 ms, 99th percentile=2.096 ms
|
||||
01:47:56.296: ┃ ┃ ┣render_video: min=0.045 ms, median=0.103 ms, max=38.489 ms, 99th percentile=0.266 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_main_texture: min=0.02 ms, median=0.046 ms, max=0.104 ms, 99th percentile=0.101 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_output_texture: min=0.013 ms, median=0.022 ms, max=38.322 ms, 99th percentile=0.059 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_convert_texture: min=0.014 ms, median=0.017 ms, max=0.056 ms, 99th percentile=0.05 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┗stage_output_texture: min=0.011 ms, median=0.015 ms, max=0.046 ms, 99th percentile=0.043 ms
|
||||
01:47:56.296: ┃ ┃ ┣gs_flush: min=0.027 ms, median=0.037 ms, max=0.25 ms, 99th percentile=0.139 ms
|
||||
01:47:56.296: ┃ ┃ ┗download_frame: min=0 ms, median=0.056 ms, max=1.919 ms, 99th percentile=0.193 ms
|
||||
01:47:56.296: ┃ ┗output_video_data: min=0.121 ms, median=0.159 ms, max=1.417 ms, 99th percentile=1.259 ms
|
||||
01:47:56.296: ┗render_displays: min=0.085 ms, median=0.135 ms, max=0.992 ms, 99th percentile=0.437 ms
|
||||
01:47:56.296: video_thread(video): min=0.479 ms, median=0.665 ms, max=4.25 ms, 99th percentile=4.112 ms
|
||||
01:47:56.296: ┗receive_video: min=0.478 ms, median=0.664 ms, max=4.247 ms, 99th percentile=4.109 ms
|
||||
01:47:56.296: ┗do_encode: min=0.477 ms, median=0.663 ms, max=4.246 ms, 99th percentile=4.107 ms
|
||||
01:47:56.296: ┣encode(test_x264): min=0.446 ms, median=0.621 ms, max=4.243 ms, 99th percentile=4.105 ms
|
||||
01:47:56.296: ┗send_packet: min=0.019 ms, median=0.034 ms, max=0.11 ms, 99th percentile=0.109 ms, 0.765101 calls per parent call
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=0.385 ms, median=0.567 ms, max=22.063 ms, 99th percentile=1.48 ms, 100% below 33.333 ms
|
||||
01:47:56.296: ┣tick_sources: min=0.006 ms, median=0.009 ms, max=0.02 ms, 99th percentile=0.019 ms
|
||||
01:47:56.296: ┣output_frame: min=0.251 ms, median=0.379 ms, max=21.727 ms, 99th percentile=1.012 ms
|
||||
01:47:56.296: ┃ ┣gs_context(video->graphics): min=0.192 ms, median=0.293 ms, max=21.721 ms, 99th percentile=0.846 ms
|
||||
01:47:56.296: ┃ ┃ ┣render_video: min=0.098 ms, median=0.142 ms, max=21.448 ms, 99th percentile=0.413 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_main_texture: min=0.043 ms, median=0.06 ms, max=0.144 ms, 99th percentile=0.13 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_output_texture: min=0.02 ms, median=0.029 ms, max=21.239 ms, 99th percentile=0.081 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_convert_texture: min=0.016 ms, median=0.026 ms, max=0.16 ms, 99th percentile=0.102 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┗stage_output_texture: min=0.014 ms, median=0.022 ms, max=0.059 ms, 99th percentile=0.055 ms
|
||||
01:47:56.296: ┃ ┃ ┣gs_flush: min=0.029 ms, median=0.052 ms, max=0.314 ms, 99th percentile=0.24 ms
|
||||
01:47:56.296: ┃ ┃ ┗download_frame: min=0 ms, median=0.089 ms, max=0.307 ms, 99th percentile=0.22 ms
|
||||
01:47:56.296: ┃ ┗output_video_data: min=0.056 ms, median=0.087 ms, max=0.219 ms, 99th percentile=0.2 ms
|
||||
01:47:56.296: ┗render_displays: min=0.098 ms, median=0.153 ms, max=0.502 ms, 99th percentile=0.461 ms
|
||||
01:47:56.296: video_thread(video): min=0.265 ms, median=0.445 ms, max=3.17 ms, 99th percentile=2.61 ms
|
||||
01:47:56.296: ┗receive_video: min=0.264 ms, median=0.443 ms, max=3.165 ms, 99th percentile=2.606 ms
|
||||
01:47:56.296: ┗do_encode: min=0.263 ms, median=0.443 ms, max=3.163 ms, 99th percentile=2.6 ms
|
||||
01:47:56.296: ┣encode(test_x264): min=0.25 ms, median=0.426 ms, max=3.16 ms, 99th percentile=2.598 ms
|
||||
01:47:56.296: ┗send_packet: min=0.007 ms, median=0.013 ms, max=0.044 ms, 99th percentile=0.028 ms, 0.812081 calls per parent call
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=0.173 ms, median=0.331 ms, max=34.937 ms, 99th percentile=0.826 ms, 99.6094% below 33.333 ms
|
||||
01:47:56.296: ┣tick_sources: min=0.003 ms, median=0.01 ms, max=0.026 ms, 99th percentile=0.019 ms
|
||||
01:47:56.296: ┣output_frame: min=0.025 ms, median=0.1 ms, max=0.244 ms, 99th percentile=0.21 ms
|
||||
01:47:56.296: ┃ ┗gs_context(video->graphics): min=0.025 ms, median=0.099 ms, max=0.244 ms, 99th percentile=0.209 ms
|
||||
01:47:56.296: ┃ ┣render_video: min=0.008 ms, median=0.035 ms, max=0.123 ms, 99th percentile=0.066 ms
|
||||
01:47:56.296: ┃ ┃ ┗render_main_texture: min=0.007 ms, median=0.031 ms, max=0.115 ms, 99th percentile=0.056 ms
|
||||
01:47:56.296: ┃ ┗gs_flush: min=0.015 ms, median=0.059 ms, max=0.206 ms, 99th percentile=0.123 ms
|
||||
01:47:56.296: ┗render_displays: min=0.096 ms, median=0.186 ms, max=34.904 ms, 99th percentile=0.601 ms
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=0.067 ms, median=0.422 ms, max=910.469 ms, 99th percentile=1.446 ms, 99.8883% below 33.333 ms
|
||||
01:47:56.296: ┣tick_sources: min=0.001 ms, median=0.01 ms, max=27.388 ms, 99th percentile=0.03 ms
|
||||
01:47:56.296: ┣output_frame: min=0.032 ms, median=0.23 ms, max=9.572 ms, 99th percentile=0.95 ms
|
||||
01:47:56.296: ┃ ┣gs_context(video->graphics): min=0.032 ms, median=0.23 ms, max=9.177 ms, 99th percentile=0.601 ms
|
||||
01:47:56.296: ┃ ┃ ┣render_video: min=0.012 ms, median=0.223 ms, max=4.577 ms, 99th percentile=0.564 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_main_texture: min=0.009 ms, median=0.218 ms, max=4.568 ms, 99th percentile=0.549 ms
|
||||
01:47:56.296: ┃ ┃ ┃ ┣render_convert_texture: min=0.017 ms, median=0.037 ms, max=0.132 ms, 99th percentile=0.083 ms, 0.0399742 calls per parent call
|
||||
01:47:56.296: ┃ ┃ ┃ ┗stage_output_texture: min=0.012 ms, median=0.022 ms, max=0.089 ms, 99th percentile=0.045 ms, 0.0399742 calls per parent call
|
||||
01:47:56.296: ┃ ┃ ┣gs_flush: min=0 ms, median=0.001 ms, max=0.222 ms, 99th percentile=0.068 ms
|
||||
01:47:56.296: ┃ ┃ ┗download_frame: min=0 ms, median=0.04 ms, max=8.833 ms, 99th percentile=0.11 ms, 0.0399742 calls per parent call
|
||||
01:47:56.296: ┃ ┗output_video_data: min=0.247 ms, median=0.417 ms, max=3.326 ms, 99th percentile=0.865 ms, 0.0398005 calls per parent call
|
||||
01:47:56.296: ┗render_displays: min=0.002 ms, median=0.16 ms, max=910.301 ms, 99th percentile=0.576 ms
|
||||
01:47:56.296: OBSBasic::ResetVideo: 38.469 ms
|
||||
01:47:56.296: OBSBasic::ResetOutputs: min=0.118 ms, median=0.142 ms, max=0.146 ms, 99th percentile=0.146 ms
|
||||
01:47:56.296: OBSBasicSettings::LoadThemeList: min=0.022 ms, median=0.024 ms, max=0.025 ms, 99th percentile=0.025 ms
|
||||
01:47:56.296: video_thread(video): min=0.001 ms, median=1.419 ms, max=36.691 ms, 99th percentile=3.793 ms
|
||||
01:47:56.296: ┗receive_video: min=0.71 ms, median=1.416 ms, max=5.78 ms, 99th percentile=3.677 ms
|
||||
01:47:56.296: ┗do_encode: min=0.709 ms, median=1.415 ms, max=5.777 ms, 99th percentile=3.674 ms
|
||||
01:47:56.296: ┣encode(simple_video_recording): min=0.703 ms, median=1.401 ms, max=5.776 ms, 99th percentile=3.953 ms, 0.411909 calls per parent call
|
||||
01:47:56.296: ┣send_packet: min=0.001 ms, median=0.006 ms, max=0.211 ms, 99th percentile=0.029 ms, 0.841007 calls per parent call
|
||||
01:47:56.296: ┣encode(simple_video_recording): min=0.718 ms, median=1.4 ms, max=4.211 ms, 99th percentile=3.315 ms, 0.200123 calls per parent call
|
||||
01:47:56.296: ┗encode(simple_video_recording): min=0.772 ms, median=1.424 ms, max=4.796 ms, 99th percentile=3.6 ms, 0.387968 calls per parent call
|
||||
01:47:56.296: =================================================
|
||||
01:47:56.296: == Profiler Time Between Calls ==================
|
||||
01:47:56.296: obs_hotkey_thread(25 ms): min=25.006 ms, median=25.065 ms, max=27.281 ms, 99.9929% within ±2% of 25 ms (0% lower, 0.00713954% higher)
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=21.39 ms, median=33.334 ms, max=111.948 ms, 98.7879% within ±2% of 33.333 ms (0.606061% lower, 0.606061% higher)
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=33.278 ms, median=33.334 ms, max=33.378 ms, 100% within ±2% of 33.333 ms (0% lower, 0% higher)
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=27.673 ms, median=33.333 ms, max=38.974 ms, 98.6755% within ±2% of 33.333 ms (0.662252% lower, 0.662252% higher)
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=33.276 ms, median=33.333 ms, max=33.404 ms, 100% within ±2% of 33.333 ms (0% lower, 0% higher)
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=31.726 ms, median=33.333 ms, max=34.948 ms, 99.2157% within ±2% of 33.333 ms (0.392157% lower, 0.392157% higher)
|
||||
01:47:56.296: obs_graphics_thread(33.3333 ms): min=0.27 ms, median=33.333 ms, max=910.473 ms, 99.7742% within ±2% of 33.333 ms (0.114144% lower, 0.111663% higher)
|
||||
01:47:56.296: =================================================
|
||||
01:47:56.311: Number of memory leaks: 0
|
||||
317
dotfile/.config/obs-studio/logs/2025-09-28 01-48-08.txt
Normal file
317
dotfile/.config/obs-studio/logs/2025-09-28 01-48-08.txt
Normal file
|
|
@ -0,0 +1,317 @@
|
|||
01:48:08.190: Platform: Wayland
|
||||
01:48:08.190: CPU Name: 13th Gen Intel(R) Core(TM) i5-13400
|
||||
01:48:08.190: CPU Speed: 4107.155MHz
|
||||
01:48:08.191: Physical Cores: 10, Logical Cores: 16
|
||||
01:48:08.191: Physical Memory: 31830MB Total, 16910MB Free
|
||||
01:48:08.191: Kernel Version: Linux 6.16.4-cachyos
|
||||
01:48:08.191: Distribution: NixOS "25.11"
|
||||
01:48:08.191: Desktop Environment: KDE (KDE)
|
||||
01:48:08.191: Session Type: wayland
|
||||
01:48:08.192: Current Date/Time: 2025-09-28, 01:48:08 AM
|
||||
01:48:08.192: Browser Hardware Acceleration: true
|
||||
01:48:08.192: Qt Version: 6.9.1 (runtime), 6.9.1 (compiled)
|
||||
01:48:08.192: Portable mode: false
|
||||
01:48:08.218: OBS 31.1.2 (linux)
|
||||
01:48:08.218: ---------------------------------
|
||||
01:48:08.218: ---------------------------------
|
||||
01:48:08.218: audio settings reset:
|
||||
01:48:08.218: samples per sec: 48000
|
||||
01:48:08.218: speakers: 2
|
||||
01:48:08.218: max buffering: 960 milliseconds
|
||||
01:48:08.218: buffering type: dynamically increasing
|
||||
01:48:08.219: ---------------------------------
|
||||
01:48:08.219: Initializing OpenGL...
|
||||
01:48:08.219: Using EGL/Wayland
|
||||
01:48:08.224: Initialized EGL 1.5
|
||||
01:48:08.237: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics 730 (ADL-S GT1)
|
||||
01:48:08.237: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 25.2.1, shading language 4.60
|
||||
01:48:08.261: ---------------------------------
|
||||
01:48:08.261: video settings reset:
|
||||
01:48:08.261: base resolution: 1920x1080
|
||||
01:48:08.261: output resolution: 1920x1080
|
||||
01:48:08.261: downscale filter: Bicubic
|
||||
01:48:08.261: fps: 30/1
|
||||
01:48:08.261: format: NV12
|
||||
01:48:08.261: YUV mode: Rec. 709/Partial
|
||||
01:48:08.261: NV12 texture support enabled
|
||||
01:48:08.261: P010 texture support not available
|
||||
01:48:08.266: Audio monitoring device:
|
||||
01:48:08.266: name: Default
|
||||
01:48:08.266: id: default
|
||||
01:48:08.267: ---------------------------------
|
||||
01:48:08.272: Failed to load 'en-US' text for module: 'decklink-captions.so'
|
||||
01:48:08.276: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
|
||||
01:48:08.279: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
|
||||
01:48:08.279: Failed to initialize module 'decklink.so'
|
||||
01:48:08.431: [pipewire] Available capture sources:
|
||||
01:48:08.431: [pipewire] - Monitor source
|
||||
01:48:08.431: [pipewire] - Window source
|
||||
01:48:08.452: [obs-browser]: Version 2.25.3
|
||||
01:48:08.452: [obs-browser]: CEF Version 138.0.7204.97 (runtime), 138.0.17+gac9b751+chromium-138.0.7204.97 (compiled)
|
||||
01:48:08.461: VAAPI: Failed to initialize display in vaapi_device_h264_supported
|
||||
01:48:08.467: VAAPI: API version 1.22
|
||||
01:48:08.468: FFmpeg VAAPI H264 encoding supported
|
||||
01:48:08.468: VAAPI: Failed to initialize display in vaapi_device_av1_supported
|
||||
01:48:08.474: FFmpeg VAAPI AV1 encoding not supported
|
||||
01:48:08.474: VAAPI: Failed to initialize display in vaapi_device_hevc_supported
|
||||
01:48:08.480: FFmpeg VAAPI HEVC encoding supported
|
||||
01:48:08.500: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
|
||||
01:48:08.500:
|
||||
01:48:08.500: NVENC not supported
|
||||
01:48:08.500: Failed to initialize module 'obs-nvenc.so'
|
||||
01:48:08.567: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.6.2 | RPC Version: 1)
|
||||
01:48:08.567: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.9.1 | Qt version (run-time): 6.9.1
|
||||
01:48:08.567: [obs-websocket] [obs_module_load] Linked ASIO Version: 102400
|
||||
01:48:08.567: DEPRECATION: obs_frontend_get_global_config is deprecated. Read from global or user configuration explicitly instead.
|
||||
01:48:08.570: [obs-websocket] [obs_module_load] Module loaded.
|
||||
01:48:08.593: [vlc-video]: VLC 3.0.21 Vetinari found, VLC video source enabled
|
||||
01:48:08.593: ---------------------------------
|
||||
01:48:08.593: Loaded Modules:
|
||||
01:48:08.593: vlc-video.so
|
||||
01:48:08.593: text-freetype2.so
|
||||
01:48:08.593: rtmp-services.so
|
||||
01:48:08.593: obs-x264.so
|
||||
01:48:08.593: obs-websocket.so
|
||||
01:48:08.593: obs-webrtc.so
|
||||
01:48:08.593: obs-vst.so
|
||||
01:48:08.593: obs-transitions.so
|
||||
01:48:08.593: obs-qsv11.so
|
||||
01:48:08.593: obs-outputs.so
|
||||
01:48:08.593: obs-libfdk.so
|
||||
01:48:08.593: obs-filters.so
|
||||
01:48:08.593: obs-ffmpeg.so
|
||||
01:48:08.593: obs-browser.so
|
||||
01:48:08.593: linux-v4l2.so
|
||||
01:48:08.593: linux-pulseaudio.so
|
||||
01:48:08.593: linux-pipewire.so
|
||||
01:48:08.593: linux-jack.so
|
||||
01:48:08.593: linux-capture.so
|
||||
01:48:08.593: linux-alsa.so
|
||||
01:48:08.593: image-source.so
|
||||
01:48:08.593: frontend-tools.so
|
||||
01:48:08.593: decklink-output-ui.so
|
||||
01:48:08.593: decklink-captions.so
|
||||
01:48:08.593: ---------------------------------
|
||||
01:48:08.593: ---------------------------------
|
||||
01:48:08.593: Available Encoders:
|
||||
01:48:08.593: Video Encoders:
|
||||
01:48:08.593: - ffmpeg_svt_av1 (SVT-AV1)
|
||||
01:48:08.593: - ffmpeg_aom_av1 (AOM AV1)
|
||||
01:48:08.593: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
|
||||
01:48:08.593: - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
|
||||
01:48:08.593: - obs_x264 (x264)
|
||||
01:48:08.593: Audio Encoders:
|
||||
01:48:08.593: - ffmpeg_aac (FFmpeg AAC)
|
||||
01:48:08.593: - ffmpeg_opus (FFmpeg Opus)
|
||||
01:48:08.593: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
|
||||
01:48:08.593: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
|
||||
01:48:08.593: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
|
||||
01:48:08.593: - ffmpeg_alac (FFmpeg ALAC (24-bit))
|
||||
01:48:08.593: - ffmpeg_flac (FFmpeg FLAC (16-bit))
|
||||
01:48:08.593: - libfdk_aac (libfdk AAC)
|
||||
01:48:08.593: ==== Startup complete ===============================================
|
||||
01:48:08.651: All scene data cleared
|
||||
01:48:08.651: ------------------------------------------------
|
||||
01:48:08.659: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
01:48:08.659: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
01:48:08.659: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
01:48:08.659: [Loaded global audio device]: 'Desktop Audio'
|
||||
01:48:08.660: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
01:48:08.661: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
01:48:08.661: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
01:48:08.661: PipeWire initialized
|
||||
01:48:08.664: Switched to scene 'Scene'
|
||||
01:48:08.665: ------------------------------------------------
|
||||
01:48:08.665: Loaded scenes:
|
||||
01:48:08.665: - scene 'Scene':
|
||||
01:48:08.665: - source: 'Audio Output Capture (PulseAudio)' (pulse_output_capture)
|
||||
01:48:08.665: - source: 'Screen Capture (PipeWire)' (pipewire-screen-capture-source)
|
||||
01:48:08.665: ------------------------------------------------
|
||||
01:48:08.827: [pipewire] Screencast session created
|
||||
01:48:08.840: [pipewire] Asking for monitor and window
|
||||
01:48:09.242: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
|
||||
01:48:09.242:
|
||||
01:48:15.931: [pipewire] source selected, setting up screencast
|
||||
01:48:15.937: [pipewire] Server version: 1.4.7
|
||||
01:48:15.937: [pipewire] Library version: 1.4.7
|
||||
01:48:15.937: [pipewire] Header version: 1.4.7
|
||||
01:48:15.937: [pipewire] Created stream 0x47f2d20
|
||||
01:48:15.937: [pipewire] Stream 0x47f2d20 state: "connecting" (error: none)
|
||||
01:48:15.937: [pipewire] Playing stream 0x47f2d20
|
||||
01:48:15.938: [pipewire] Stream 0x47f2d20 state: "paused" (error: none)
|
||||
01:48:15.946: [pipewire] Negotiated format:
|
||||
01:48:15.946: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
|
||||
01:48:15.946: [pipewire] Modifier: 0x0
|
||||
01:48:15.946: [pipewire] Size: 1920x1080
|
||||
01:48:15.946: [pipewire] Framerate: 0/1
|
||||
01:48:15.948: [pipewire] Negotiated format:
|
||||
01:48:15.948: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
|
||||
01:48:15.948: [pipewire] Modifier: 0x100000000000008
|
||||
01:48:15.948: [pipewire] Size: 1920x1080
|
||||
01:48:15.948: [pipewire] Framerate: 0/1
|
||||
01:48:15.952: [pipewire] Stream 0x47f2d20 state: "streaming" (error: none)
|
||||
01:48:24.094: ---------------------------------
|
||||
01:48:24.094: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:48:24.094: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:48:24.094: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:48:24.094: rate_control: CRF
|
||||
01:48:24.094: bitrate: 0
|
||||
01:48:24.094: buffer size: 0
|
||||
01:48:24.094: crf: 23
|
||||
01:48:24.094: fps_num: 30
|
||||
01:48:24.094: fps_den: 1
|
||||
01:48:24.094: width: 1920
|
||||
01:48:24.094: height: 1080
|
||||
01:48:24.094: keyint: 250
|
||||
01:48:24.094:
|
||||
01:48:24.103: libfdk_aac encoder created
|
||||
01:48:24.103: libfdk_aac bitrate: 192, channels: 2
|
||||
01:48:24.150: ==== Recording Start ===============================================
|
||||
01:48:24.150: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/2025-09-28_01-48-24.mkv'...
|
||||
01:48:34.537: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/2025-09-28_01-48-24.mkv' stopped
|
||||
01:48:34.537: Output 'simple_file_output': stopping
|
||||
01:48:34.537: Output 'simple_file_output': Total frames output: 274
|
||||
01:48:34.537: Output 'simple_file_output': Total drawn frames: 312
|
||||
01:48:34.539: ==== Recording Stop ================================================
|
||||
01:48:34.544: libfdk_aac encoder destroyed
|
||||
01:49:54.217: ---------------------------------
|
||||
01:49:54.217: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:49:54.217: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:49:54.217: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:49:54.217: rate_control: CRF
|
||||
01:49:54.217: bitrate: 0
|
||||
01:49:54.217: buffer size: 0
|
||||
01:49:54.217: crf: 23
|
||||
01:49:54.217: fps_num: 30
|
||||
01:49:54.217: fps_den: 1
|
||||
01:49:54.217: width: 1920
|
||||
01:49:54.217: height: 1080
|
||||
01:49:54.217: keyint: 250
|
||||
01:49:54.217:
|
||||
01:49:54.229: libfdk_aac encoder created
|
||||
01:49:54.229: libfdk_aac bitrate: 192, channels: 2
|
||||
01:49:54.234: ==== Recording Start ===============================================
|
||||
01:49:54.234: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/2025-09-28_01-49-54.mkv'...
|
||||
01:50:17.676: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/2025-09-28_01-49-54.mkv' stopped
|
||||
01:50:17.676: Output 'simple_file_output': stopping
|
||||
01:50:17.676: Output 'simple_file_output': Total frames output: 649
|
||||
01:50:17.676: Output 'simple_file_output': Total drawn frames: 677 (703 attempted)
|
||||
01:50:17.676: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 26 (3.7%)
|
||||
01:50:17.682: ==== Recording Stop ================================================
|
||||
01:50:17.685: libfdk_aac encoder destroyed
|
||||
01:50:21.301: ---------------------------------
|
||||
01:50:21.301: [x264 encoder: 'simple_video_recording'] preset: veryfast
|
||||
01:50:21.301: [x264 encoder: 'simple_video_recording'] profile: high
|
||||
01:50:21.301: [x264 encoder: 'simple_video_recording'] settings:
|
||||
01:50:21.301: rate_control: CRF
|
||||
01:50:21.301: bitrate: 0
|
||||
01:50:21.301: buffer size: 0
|
||||
01:50:21.301: crf: 23
|
||||
01:50:21.301: fps_num: 30
|
||||
01:50:21.301: fps_den: 1
|
||||
01:50:21.301: width: 1920
|
||||
01:50:21.301: height: 1080
|
||||
01:50:21.301: keyint: 250
|
||||
01:50:21.301:
|
||||
01:50:21.317: libfdk_aac encoder created
|
||||
01:50:21.317: libfdk_aac bitrate: 192, channels: 2
|
||||
01:50:21.322: ==== Recording Start ===============================================
|
||||
01:50:21.322: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/kirbaranixos/2025-09-28_01-50-21.mkv'...
|
||||
01:51:42.492: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/kirbaranixos/2025-09-28_01-50-21.mkv' stopped
|
||||
01:51:42.492: Output 'simple_file_output': stopping
|
||||
01:51:42.492: Output 'simple_file_output': Total frames output: 2381
|
||||
01:51:42.492: Output 'simple_file_output': Total drawn frames: 2384 (2435 attempted)
|
||||
01:51:42.492: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 51 (2.1%)
|
||||
01:51:42.493: ==== Recording Stop ================================================
|
||||
01:51:42.501: libfdk_aac encoder destroyed
|
||||
02:06:03.371: ==== Shutting down ==================================================
|
||||
02:06:03.375: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
|
||||
02:06:03.375: pulse-input: Got 42987 packets with 51584400 frames
|
||||
02:06:03.375: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
|
||||
02:06:03.375: pulse-input: Got 42987 packets with 51584400 frames
|
||||
02:06:03.375: [pipewire] Stream 0x47f2d20 state: "paused" (error: none)
|
||||
02:06:03.376: [pipewire] Stream 0x47f2d20 state: "unconnected" (error: none)
|
||||
02:06:03.462: All scene data cleared
|
||||
02:06:03.462: ------------------------------------------------
|
||||
02:06:03.549: [obs-websocket] [obs_module_unload] Shutting down...
|
||||
02:06:03.549: Tried to call obs_frontend_remove_event_callback with no callbacks!
|
||||
02:06:03.549: [obs-websocket] [obs_module_unload] Finished shutting down.
|
||||
02:06:03.563: [Scripting] Total detached callbacks: 0
|
||||
02:06:03.563: Freeing OBS context data
|
||||
02:06:03.573: == Profiler Results =============================
|
||||
02:06:03.573: run_program_init: 748.064 ms
|
||||
02:06:03.573: ┣OBSApp::AppInit: 12.348 ms
|
||||
02:06:03.573: ┃ ┗OBSApp::InitLocale: 0.502 ms
|
||||
02:06:03.573: ┗OBSApp::OBSInit: 618.138 ms
|
||||
02:06:03.573: ┣obs_startup: 1.7 ms
|
||||
02:06:03.573: ┗OBSBasic::OBSInit: 590.9 ms
|
||||
02:06:03.573: ┣OBSBasic::InitBasicConfig: 0.386 ms
|
||||
02:06:03.573: ┣OBSBasic::ResetAudio: 0.169 ms
|
||||
02:06:03.573: ┣OBSBasic::ResetVideo: 47.407 ms
|
||||
02:06:03.573: ┃ ┗obs_init_graphics: 42.365 ms
|
||||
02:06:03.573: ┃ ┗shader compilation: 23.157 ms
|
||||
02:06:03.573: ┣OBSBasic::InitOBSCallbacks: 0.004 ms
|
||||
02:06:03.573: ┣OBSBasic::InitHotkeys: 0.018 ms
|
||||
02:06:03.573: ┣obs_load_all_modules2: 326.193 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(decklink-captions.so): 0 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(decklink.so): 0.07 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(frontend-tools.so): 59.785 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(image-source.so): 0.008 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(linux-alsa.so): 0.002 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(linux-capture.so): 0 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(linux-jack.so): 0.005 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(linux-pipewire.so): 11.044 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.006 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(linux-v4l2.so): 4.104 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-browser.so): 0.077 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-ffmpeg.so): 18.968 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-filters.so): 0.023 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-nvenc.so): 0.087 ms
|
||||
02:06:03.573: ┃ ┃ ┗nvenc_check: 0.079 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-outputs.so): 0.005 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-qsv11.so): 9.337 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-transitions.so): 0.011 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-vst.so): 0.006 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-webrtc.so): 0.005 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-websocket.so): 3.472 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(obs-x264.so): 0.001 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(rtmp-services.so): 0.297 ms
|
||||
02:06:03.573: ┃ ┣obs_init_module(text-freetype2.so): 0.008 ms
|
||||
02:06:03.573: ┃ ┗obs_init_module(vlc-video.so): 1.034 ms
|
||||
02:06:03.573: ┣OBSBasic::InitService: 1.074 ms
|
||||
02:06:03.573: ┣OBSBasic::ResetOutputs: 0.169 ms
|
||||
02:06:03.573: ┣OBSBasic::CreateHotkeys: 0.018 ms
|
||||
02:06:03.573: ┣OBSBasic::InitPrimitives: 0.099 ms
|
||||
02:06:03.573: ┗OBSBasic::Load: 72.661 ms
|
||||
02:06:03.573: obs_hotkey_thread(25 ms): min=0 ms, median=0.001 ms, max=0.182 ms, 99th percentile=0.002 ms, 100% below 25 ms
|
||||
02:06:03.573: audio_thread(Audio): min=0.013 ms, median=0.077 ms, max=9.175 ms, 99th percentile=0.977 ms
|
||||
02:06:03.573: ┗receive_audio: min=0.002 ms, median=0.411 ms, max=7.05 ms, 99th percentile=1.465 ms, 0.107011 calls per parent call
|
||||
02:06:03.573: ┣buffer_audio: min=0 ms, median=0.001 ms, max=0.044 ms, 99th percentile=0.003 ms
|
||||
02:06:03.573: ┗do_encode: min=0.042 ms, median=0.408 ms, max=7.045 ms, 99th percentile=1.46 ms
|
||||
02:06:03.573: ┣encode(simple_aac_recording0): min=0.042 ms, median=0.401 ms, max=3.341 ms, 99th percentile=1.435 ms
|
||||
02:06:03.573: ┗send_packet: min=0 ms, median=0.006 ms, max=6.848 ms, 99th percentile=0.024 ms
|
||||
02:06:03.574: obs_graphics_thread(33.3333 ms): min=0.09 ms, median=0.419 ms, max=910.966 ms, 99th percentile=1.639 ms, 99.9091% below 33.333 ms
|
||||
02:06:03.574: ┣tick_sources: min=0 ms, median=0.009 ms, max=0.972 ms, 99th percentile=0.023 ms
|
||||
02:06:03.574: ┣output_frame: min=0.03 ms, median=0.268 ms, max=12.394 ms, 99th percentile=1.232 ms
|
||||
02:06:03.574: ┃ ┣gs_context(video->graphics): min=0.03 ms, median=0.266 ms, max=12.392 ms, 99th percentile=0.733 ms
|
||||
02:06:03.574: ┃ ┃ ┣render_video: min=0.011 ms, median=0.257 ms, max=12.38 ms, 99th percentile=0.666 ms
|
||||
02:06:03.574: ┃ ┃ ┃ ┣render_main_texture: min=0.01 ms, median=0.247 ms, max=12.373 ms, 99th percentile=0.64 ms
|
||||
02:06:03.574: ┃ ┃ ┃ ┣render_convert_texture: min=0.018 ms, median=0.04 ms, max=0.601 ms, 99th percentile=0.101 ms, 0.105819 calls per parent call
|
||||
02:06:03.574: ┃ ┃ ┃ ┗stage_output_texture: min=0.011 ms, median=0.022 ms, max=0.436 ms, 99th percentile=0.048 ms, 0.105819 calls per parent call
|
||||
02:06:03.574: ┃ ┃ ┣gs_flush: min=0 ms, median=0.001 ms, max=0.606 ms, 99th percentile=0.047 ms
|
||||
02:06:03.574: ┃ ┃ ┗download_frame: min=0 ms, median=0.043 ms, max=6.662 ms, 99th percentile=0.116 ms, 0.105819 calls per parent call
|
||||
02:06:03.574: ┃ ┗output_video_data: min=0.266 ms, median=0.435 ms, max=3.169 ms, 99th percentile=0.861 ms, 0.105725 calls per parent call
|
||||
02:06:03.574: ┗render_displays: min=0.002 ms, median=0.112 ms, max=910.38 ms, 99th percentile=0.398 ms
|
||||
02:06:03.574: video_thread(video): min=0.732 ms, median=1.376 ms, max=44.782 ms, 99th percentile=3.691 ms
|
||||
02:06:03.574: ┗receive_video: min=0.731 ms, median=1.38 ms, max=9.607 ms, 99th percentile=3.584 ms
|
||||
02:06:03.574: ┗do_encode: min=0.731 ms, median=1.379 ms, max=9.606 ms, 99th percentile=3.582 ms
|
||||
02:06:03.574: ┣encode(simple_video_recording): min=0.726 ms, median=1.367 ms, max=5.219 ms, 99th percentile=3.496 ms
|
||||
02:06:03.574: ┗send_packet: min=0.002 ms, median=0.007 ms, max=8.157 ms, 99th percentile=0.045 ms
|
||||
02:06:03.574: =================================================
|
||||
02:06:03.574: == Profiler Time Between Calls ==================
|
||||
02:06:03.574: obs_hotkey_thread(25 ms): min=25.006 ms, median=25.068 ms, max=27.666 ms, 99.9301% within ±2% of 25 ms (0% lower, 0.0699464% higher)
|
||||
02:06:03.574: obs_graphics_thread(33.3333 ms): min=3.126 ms, median=33.333 ms, max=910.976 ms, 99.7209% within ±2% of 33.333 ms (0.141097% lower, 0.137961% higher)
|
||||
02:06:03.574: =================================================
|
||||
02:06:03.586: Number of memory leaks: 0
|
||||
235
dotfile/.config/obs-studio/logs/2025-10-03 21-57-47.txt
Normal file
235
dotfile/.config/obs-studio/logs/2025-10-03 21-57-47.txt
Normal file
|
|
@ -0,0 +1,235 @@
|
|||
21:57:47.317: Platform: Wayland
|
||||
21:57:47.317: CPU Name: 13th Gen Intel(R) Core(TM) i5-13400
|
||||
21:57:47.317: CPU Speed: 4502.747MHz
|
||||
21:57:47.317: Physical Cores: 10, Logical Cores: 16
|
||||
21:57:47.317: Physical Memory: 31830MB Total, 25073MB Free
|
||||
21:57:47.317: Kernel Version: Linux 6.16.4-cachyos
|
||||
21:57:47.317: Distribution: NixOS "25.11"
|
||||
21:57:47.317: Desktop Environment: Hyprland (Hyprland)
|
||||
21:57:47.317: Session Type: wayland
|
||||
21:57:47.319: Current Date/Time: 2025-10-03, 09:57:47 PM
|
||||
21:57:47.319: Browser Hardware Acceleration: true
|
||||
21:57:47.319: Qt Version: 6.9.2 (runtime), 6.9.2 (compiled)
|
||||
21:57:47.319: Portable mode: false
|
||||
21:57:47.348: OBS 31.1.2 (linux)
|
||||
21:57:47.348: ---------------------------------
|
||||
21:57:47.349: ---------------------------------
|
||||
21:57:47.349: audio settings reset:
|
||||
21:57:47.349: samples per sec: 48000
|
||||
21:57:47.349: speakers: 2
|
||||
21:57:47.349: max buffering: 960 milliseconds
|
||||
21:57:47.349: buffering type: dynamically increasing
|
||||
21:57:47.350: ---------------------------------
|
||||
21:57:47.350: Initializing OpenGL...
|
||||
21:57:47.350: Using EGL/Wayland
|
||||
21:57:47.370: Initialized EGL 1.5
|
||||
21:57:47.381: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics 730 (ADL-S GT1)
|
||||
21:57:47.381: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 25.2.3, shading language 4.60
|
||||
21:57:47.479: ---------------------------------
|
||||
21:57:47.479: video settings reset:
|
||||
21:57:47.479: base resolution: 1920x1080
|
||||
21:57:47.479: output resolution: 1920x1080
|
||||
21:57:47.479: downscale filter: Bicubic
|
||||
21:57:47.479: fps: 30/1
|
||||
21:57:47.479: format: NV12
|
||||
21:57:47.479: YUV mode: Rec. 709/Partial
|
||||
21:57:47.479: NV12 texture support enabled
|
||||
21:57:47.479: P010 texture support not available
|
||||
21:57:47.484: Audio monitoring device:
|
||||
21:57:47.484: name: Default
|
||||
21:57:47.484: id: default
|
||||
21:57:47.486: ---------------------------------
|
||||
21:57:47.492: Failed to load 'en-US' text for module: 'decklink-captions.so'
|
||||
21:57:47.498: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
|
||||
21:57:47.503: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
|
||||
21:57:47.503: Failed to initialize module 'decklink.so'
|
||||
21:57:47.764: [pipewire] Available capture sources:
|
||||
21:57:47.764: [pipewire] - Monitor source
|
||||
21:57:47.764: [pipewire] - Window source
|
||||
21:57:47.783: [obs-browser]: Version 2.25.3
|
||||
21:57:47.783: [obs-browser]: CEF Version 138.0.7204.97 (runtime), 138.0.17+gac9b751+chromium-138.0.7204.97 (compiled)
|
||||
21:57:47.811: VAAPI: API version 1.22
|
||||
21:57:47.812: FFmpeg VAAPI H264 encoding supported
|
||||
21:57:47.820: FFmpeg VAAPI AV1 encoding not supported
|
||||
21:57:47.825: FFmpeg VAAPI HEVC encoding supported
|
||||
21:57:47.851: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
|
||||
21:57:47.851:
|
||||
21:57:47.851: NVENC not supported
|
||||
21:57:47.851: Failed to initialize module 'obs-nvenc.so'
|
||||
21:57:47.936: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.6.2 | RPC Version: 1)
|
||||
21:57:47.936: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.9.2 | Qt version (run-time): 6.9.2
|
||||
21:57:47.936: [obs-websocket] [obs_module_load] Linked ASIO Version: 102400
|
||||
21:57:47.936: DEPRECATION: obs_frontend_get_global_config is deprecated. Read from global or user configuration explicitly instead.
|
||||
21:57:47.940: [obs-websocket] [obs_module_load] Module loaded.
|
||||
21:57:47.987: [vlc-video]: VLC 3.0.21 Vetinari found, VLC video source enabled
|
||||
21:57:48.034: [linux-vkcapture] plugin loaded successfully (version 1.5.3)
|
||||
21:57:48.054: [Move Transition] loaded version 3.1.5
|
||||
21:57:48.141: [obs-backgroundremoval] Plugin loaded successfully (version 1.1.13)
|
||||
21:57:48.141: [obs-backgroundremoval] Config folder does not exist, creating: /home/kirbaranixos/.config/obs-studio/plugin_config/obs-backgroundremoval/
|
||||
21:57:48.142: [obs-backgroundremoval] Failed to open config file /home/kirbaranixos/.config/obs-studio/plugin_config/obs-backgroundremoval/config.ini
|
||||
21:57:48.142: [obs-backgroundremoval] Failed to open config file /home/kirbaranixos/.config/obs-studio/plugin_config/obs-backgroundremoval/config.ini
|
||||
21:57:48.554: [obs-backgroundremoval] Latest release is
|
||||
21:57:48.576: [Composite Blur] loaded version 1.5.2
|
||||
21:57:48.583: [Source Clone] loaded version 0.1.5
|
||||
21:57:48.583: ---------------------------------
|
||||
21:57:48.583: Loaded Modules:
|
||||
21:57:48.583: source-clone.so
|
||||
21:57:48.583: obs-composite-blur.so
|
||||
21:57:48.583: obs-backgroundremoval.so
|
||||
21:57:48.583: move-transition.so
|
||||
21:57:48.583: linux-vkcapture.so
|
||||
21:57:48.583: linux-pipewire-audio.so
|
||||
21:57:48.583: libwlrobs.so
|
||||
21:57:48.583: vlc-video.so
|
||||
21:57:48.583: text-freetype2.so
|
||||
21:57:48.583: rtmp-services.so
|
||||
21:57:48.583: obs-x264.so
|
||||
21:57:48.583: obs-websocket.so
|
||||
21:57:48.583: obs-webrtc.so
|
||||
21:57:48.583: obs-vst.so
|
||||
21:57:48.583: obs-transitions.so
|
||||
21:57:48.583: obs-qsv11.so
|
||||
21:57:48.583: obs-outputs.so
|
||||
21:57:48.583: obs-libfdk.so
|
||||
21:57:48.583: obs-filters.so
|
||||
21:57:48.583: obs-ffmpeg.so
|
||||
21:57:48.583: obs-browser.so
|
||||
21:57:48.583: linux-v4l2.so
|
||||
21:57:48.583: linux-pulseaudio.so
|
||||
21:57:48.583: linux-pipewire.so
|
||||
21:57:48.583: linux-jack.so
|
||||
21:57:48.583: linux-capture.so
|
||||
21:57:48.583: linux-alsa.so
|
||||
21:57:48.583: image-source.so
|
||||
21:57:48.583: frontend-tools.so
|
||||
21:57:48.583: decklink-output-ui.so
|
||||
21:57:48.583: decklink-captions.so
|
||||
21:57:48.583: ---------------------------------
|
||||
21:57:48.583: ---------------------------------
|
||||
21:57:48.583: Available Encoders:
|
||||
21:57:48.583: Video Encoders:
|
||||
21:57:48.583: - ffmpeg_svt_av1 (SVT-AV1)
|
||||
21:57:48.583: - ffmpeg_aom_av1 (AOM AV1)
|
||||
21:57:48.583: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
|
||||
21:57:48.583: - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
|
||||
21:57:48.583: - obs_qsv11_v2 (QuickSync H.264)
|
||||
21:57:48.583: - obs_qsv11_hevc (QuickSync HEVC)
|
||||
21:57:48.583: - obs_x264 (x264)
|
||||
21:57:48.583: Audio Encoders:
|
||||
21:57:48.583: - ffmpeg_aac (FFmpeg AAC)
|
||||
21:57:48.583: - ffmpeg_opus (FFmpeg Opus)
|
||||
21:57:48.583: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
|
||||
21:57:48.583: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
|
||||
21:57:48.583: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
|
||||
21:57:48.583: - ffmpeg_alac (FFmpeg ALAC (24-bit))
|
||||
21:57:48.583: - ffmpeg_flac (FFmpeg FLAC (16-bit))
|
||||
21:57:48.583: - libfdk_aac (libfdk AAC)
|
||||
21:57:48.583: ==== Startup complete ===============================================
|
||||
21:57:48.634: All scene data cleared
|
||||
21:57:48.635: ------------------------------------------------
|
||||
21:57:48.646: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
21:57:48.646: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
21:57:48.646: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
21:57:48.646: [Loaded global audio device]: 'Desktop Audio'
|
||||
21:57:48.647: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
21:57:48.647: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
21:57:48.647: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
21:57:48.648: PipeWire initialized
|
||||
21:57:48.650: Switched to scene 'Scene'
|
||||
21:57:48.650: ------------------------------------------------
|
||||
21:57:48.650: Loaded scenes:
|
||||
21:57:48.650: - scene 'Scene':
|
||||
21:57:48.650: - source: 'Audio Output Capture (PulseAudio)' (pulse_output_capture)
|
||||
21:57:48.650: - source: 'Screen Capture (PipeWire)' (pipewire-screen-capture-source)
|
||||
21:57:48.650: ------------------------------------------------
|
||||
21:57:48.753: [pipewire] Screencast session created
|
||||
21:57:49.184: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
|
||||
21:57:49.184:
|
||||
21:58:35.989: adding 64 milliseconds of audio buffering, total audio buffering is now 85 milliseconds (source: Audio Output Capture (PulseAudio))
|
||||
21:58:35.989:
|
||||
21:58:36.244: ==== Shutting down ==================================================
|
||||
21:58:36.246: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
|
||||
21:58:36.246: pulse-input: Got 1904 packets with 2284800 frames
|
||||
21:58:36.246: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
|
||||
21:58:36.246: pulse-input: Got 1899 packets with 2278800 frames
|
||||
21:58:36.247: [portals] Request cancelled
|
||||
21:58:36.305: All scene data cleared
|
||||
21:58:36.305: ------------------------------------------------
|
||||
21:58:36.352: [obs-backgroundremoval] plugin unloaded
|
||||
21:58:36.352: Tried to call obs_frontend_remove_event_callback with no callbacks!
|
||||
21:58:36.352: [linux-vkcapture] plugin unloaded
|
||||
21:58:36.355: [obs-websocket] [obs_module_unload] Shutting down...
|
||||
21:58:36.356: Tried to call obs_frontend_remove_event_callback with no callbacks!
|
||||
21:58:36.356: [obs-websocket] [obs_module_unload] Finished shutting down.
|
||||
21:58:36.362: [Scripting] Total detached callbacks: 0
|
||||
21:58:36.362: Freeing OBS context data
|
||||
21:58:36.376: == Profiler Results =============================
|
||||
21:58:36.376: run_program_init: 1655.38 ms
|
||||
21:58:36.376: ┣OBSApp::AppInit: 14.579 ms
|
||||
21:58:36.376: ┃ ┗OBSApp::InitLocale: 0.997 ms
|
||||
21:58:36.376: ┗OBSApp::OBSInit: 1420.95 ms
|
||||
21:58:36.376: ┣obs_startup: 1.463 ms
|
||||
21:58:36.376: ┗OBSBasic::OBSInit: 1390.13 ms
|
||||
21:58:36.376: ┣OBSBasic::InitBasicConfig: 0.656 ms
|
||||
21:58:36.376: ┣OBSBasic::ResetAudio: 0.144 ms
|
||||
21:58:36.376: ┣OBSBasic::ResetVideo: 135.267 ms
|
||||
21:58:36.376: ┃ ┗obs_init_graphics: 130.324 ms
|
||||
21:58:36.376: ┃ ┗shader compilation: 98.112 ms
|
||||
21:58:36.376: ┣OBSBasic::InitOBSCallbacks: 0.004 ms
|
||||
21:58:36.376: ┣OBSBasic::InitHotkeys: 0.019 ms
|
||||
21:58:36.376: ┣obs_load_all_modules2: 1097.1 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(decklink-captions.so): 0 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(decklink-output-ui.so): 0.001 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(decklink.so): 0.077 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(frontend-tools.so): 65.963 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(image-source.so): 0.01 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(linux-alsa.so): 0.004 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(linux-capture.so): 0.001 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(linux-jack.so): 0.009 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(linux-pipewire.so): 17.981 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.004 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(linux-v4l2.so): 0.089 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-browser.so): 0.07 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-ffmpeg.so): 27.485 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-filters.so): 0.024 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-libfdk.so): 0.001 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-nvenc.so): 0.111 ms
|
||||
21:58:36.376: ┃ ┃ ┗nvenc_check: 0.102 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-outputs.so): 0.007 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-qsv11.so): 12.277 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-transitions.so): 0.006 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-vst.so): 0.003 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-webrtc.so): 0.005 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-websocket.so): 4.315 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-x264.so): 0.002 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(rtmp-services.so): 1.389 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(text-freetype2.so): 0.02 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(vlc-video.so): 6.331 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(libwlrobs.so): 0.005 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(linux-pipewire-audio.so): 0.053 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(linux-vkcapture.so): 0.247 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(move-transition.so): 0.124 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-backgroundremoval.so): 412.985 ms
|
||||
21:58:36.376: ┃ ┣obs_init_module(obs-composite-blur.so): 0.036 ms
|
||||
21:58:36.376: ┃ ┗obs_init_module(source-clone.so): 0.037 ms
|
||||
21:58:36.376: ┣OBSBasic::InitService: 2.469 ms
|
||||
21:58:36.376: ┣OBSBasic::ResetOutputs: 0.317 ms
|
||||
21:58:36.376: ┣OBSBasic::CreateHotkeys: 0.028 ms
|
||||
21:58:36.376: ┣OBSBasic::InitPrimitives: 0.102 ms
|
||||
21:58:36.376: ┗OBSBasic::Load: 65.912 ms
|
||||
21:58:36.376: obs_hotkey_thread(25 ms): min=0 ms, median=0 ms, max=0.005 ms, 99th percentile=0.001 ms, 100% below 25 ms
|
||||
21:58:36.376: audio_thread(Audio): min=0.006 ms, median=0.057 ms, max=0.398 ms, 99th percentile=0.124 ms
|
||||
21:58:36.376: obs_graphics_thread(33.3333 ms): min=0.046 ms, median=0.24 ms, max=11.944 ms, 99th percentile=1.593 ms, 100% below 33.333 ms
|
||||
21:58:36.376: ┣tick_sources: min=0 ms, median=0.007 ms, max=0.061 ms, 99th percentile=0.029 ms
|
||||
21:58:36.376: ┣output_frame: min=0.03 ms, median=0.077 ms, max=0.58 ms, 99th percentile=0.188 ms
|
||||
21:58:36.376: ┃ ┗gs_context(video->graphics): min=0.03 ms, median=0.077 ms, max=0.579 ms, 99th percentile=0.188 ms
|
||||
21:58:36.376: ┃ ┣render_video: min=0.007 ms, median=0.025 ms, max=0.121 ms, 99th percentile=0.071 ms
|
||||
21:58:36.376: ┃ ┃ ┗render_main_texture: min=0.006 ms, median=0.022 ms, max=0.104 ms, 99th percentile=0.065 ms
|
||||
21:58:36.376: ┃ ┗gs_flush: min=0.018 ms, median=0.047 ms, max=0.541 ms, 99th percentile=0.127 ms
|
||||
21:58:36.376: ┗render_displays: min=0.001 ms, median=0.137 ms, max=6.396 ms, 99th percentile=1.48 ms
|
||||
21:58:36.376: =================================================
|
||||
21:58:36.376: == Profiler Time Between Calls ==================
|
||||
21:58:36.376: obs_hotkey_thread(25 ms): min=25.008 ms, median=25.064 ms, max=25.283 ms, 100% within ±2% of 25 ms (0% lower, 0% higher)
|
||||
21:58:36.376: obs_graphics_thread(33.3333 ms): min=30.397 ms, median=33.333 ms, max=36.258 ms, 99.727% within ±2% of 33.333 ms (0.136519% lower, 0.136519% higher)
|
||||
21:58:36.376: =================================================
|
||||
21:58:36.378: Number of memory leaks: 2
|
||||
147
dotfile/.config/obs-studio/logs/2025-10-03 23-12-52.txt
Normal file
147
dotfile/.config/obs-studio/logs/2025-10-03 23-12-52.txt
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
23:12:52.914: Platform: Wayland
|
||||
23:12:52.914: CPU Name: 13th Gen Intel(R) Core(TM) i5-13400
|
||||
23:12:52.914: CPU Speed: 4452.707MHz
|
||||
23:12:52.915: Physical Cores: 10, Logical Cores: 16
|
||||
23:12:52.915: Physical Memory: 31830MB Total, 19630MB Free
|
||||
23:12:52.915: Kernel Version: Linux 6.16.4-cachyos
|
||||
23:12:52.915: Distribution: NixOS "25.11"
|
||||
23:12:52.915: Desktop Environment: Hyprland (Hyprland)
|
||||
23:12:52.915: Session Type: wayland
|
||||
23:12:52.916: Current Date/Time: 2025-10-03, 11:12:52 PM
|
||||
23:12:52.916: Browser Hardware Acceleration: true
|
||||
23:12:52.916: Qt Version: 6.9.2 (runtime), 6.9.2 (compiled)
|
||||
23:12:52.916: Portable mode: false
|
||||
23:12:52.951: OBS 31.1.2 (linux)
|
||||
23:12:52.951: ---------------------------------
|
||||
23:12:52.952: ---------------------------------
|
||||
23:12:52.952: audio settings reset:
|
||||
23:12:52.952: samples per sec: 48000
|
||||
23:12:52.952: speakers: 2
|
||||
23:12:52.952: max buffering: 960 milliseconds
|
||||
23:12:52.952: buffering type: dynamically increasing
|
||||
23:12:52.953: ---------------------------------
|
||||
23:12:52.953: Initializing OpenGL...
|
||||
23:12:52.953: Using EGL/Wayland
|
||||
23:12:52.975: Initialized EGL 1.5
|
||||
23:12:52.986: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics 730 (ADL-S GT1)
|
||||
23:12:52.986: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 25.2.3, shading language 4.60
|
||||
23:12:53.009: ---------------------------------
|
||||
23:12:53.009: video settings reset:
|
||||
23:12:53.009: base resolution: 1920x1080
|
||||
23:12:53.009: output resolution: 1920x1080
|
||||
23:12:53.009: downscale filter: Bicubic
|
||||
23:12:53.009: fps: 30/1
|
||||
23:12:53.009: format: NV12
|
||||
23:12:53.009: YUV mode: Rec. 709/Partial
|
||||
23:12:53.009: NV12 texture support enabled
|
||||
23:12:53.009: P010 texture support not available
|
||||
23:12:53.014: Audio monitoring device:
|
||||
23:12:53.014: name: Default
|
||||
23:12:53.014: id: default
|
||||
23:12:53.016: ---------------------------------
|
||||
23:12:53.023: Failed to load 'en-US' text for module: 'decklink-captions.so'
|
||||
23:12:53.028: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
|
||||
23:12:53.033: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
|
||||
23:12:53.033: Failed to initialize module 'decklink.so'
|
||||
23:12:53.276: [pipewire] No capture sources available
|
||||
23:12:53.298: [obs-browser]: Version 2.25.3
|
||||
23:12:53.298: [obs-browser]: CEF Version 138.0.7204.97 (runtime), 138.0.17+gac9b751+chromium-138.0.7204.97 (compiled)
|
||||
23:12:53.328: VAAPI: API version 1.22
|
||||
23:12:53.330: FFmpeg VAAPI H264 encoding supported
|
||||
23:12:53.339: FFmpeg VAAPI AV1 encoding not supported
|
||||
23:12:53.346: FFmpeg VAAPI HEVC encoding supported
|
||||
23:12:53.372: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
|
||||
23:12:53.372:
|
||||
23:12:53.372: NVENC not supported
|
||||
23:12:53.372: Failed to initialize module 'obs-nvenc.so'
|
||||
23:12:53.453: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.6.2 | RPC Version: 1)
|
||||
23:12:53.453: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.9.2 | Qt version (run-time): 6.9.2
|
||||
23:12:53.453: [obs-websocket] [obs_module_load] Linked ASIO Version: 102400
|
||||
23:12:53.453: DEPRECATION: obs_frontend_get_global_config is deprecated. Read from global or user configuration explicitly instead.
|
||||
23:12:53.458: [obs-websocket] [obs_module_load] Module loaded.
|
||||
23:12:53.489: [vlc-video]: VLC 3.0.21 Vetinari found, VLC video source enabled
|
||||
23:12:53.516: [linux-vkcapture] plugin loaded successfully (version 1.5.3)
|
||||
23:12:53.528: [Move Transition] loaded version 3.1.5
|
||||
23:12:53.610: [obs-backgroundremoval] Plugin loaded successfully (version 1.1.13)
|
||||
23:12:53.610: [obs-backgroundremoval] Failed to open config file /home/kirbaranixos/.config/obs-studio/plugin_config/obs-backgroundremoval/config.ini
|
||||
23:12:53.610: [obs-backgroundremoval] Failed to open config file /home/kirbaranixos/.config/obs-studio/plugin_config/obs-backgroundremoval/config.ini
|
||||
23:12:54.093: [obs-backgroundremoval] Latest release is
|
||||
23:12:54.109: [Composite Blur] loaded version 1.5.2
|
||||
23:12:54.123: [Source Clone] loaded version 0.1.5
|
||||
23:12:54.123: ---------------------------------
|
||||
23:12:54.124: Loaded Modules:
|
||||
23:12:54.124: source-clone.so
|
||||
23:12:54.124: obs-composite-blur.so
|
||||
23:12:54.124: obs-backgroundremoval.so
|
||||
23:12:54.124: move-transition.so
|
||||
23:12:54.124: linux-vkcapture.so
|
||||
23:12:54.124: linux-pipewire-audio.so
|
||||
23:12:54.124: libwlrobs.so
|
||||
23:12:54.124: vlc-video.so
|
||||
23:12:54.124: text-freetype2.so
|
||||
23:12:54.124: rtmp-services.so
|
||||
23:12:54.124: obs-x264.so
|
||||
23:12:54.124: obs-websocket.so
|
||||
23:12:54.124: obs-webrtc.so
|
||||
23:12:54.124: obs-vst.so
|
||||
23:12:54.124: obs-transitions.so
|
||||
23:12:54.124: obs-qsv11.so
|
||||
23:12:54.124: obs-outputs.so
|
||||
23:12:54.124: obs-libfdk.so
|
||||
23:12:54.124: obs-filters.so
|
||||
23:12:54.124: obs-ffmpeg.so
|
||||
23:12:54.124: obs-browser.so
|
||||
23:12:54.124: linux-v4l2.so
|
||||
23:12:54.124: linux-pulseaudio.so
|
||||
23:12:54.124: linux-pipewire.so
|
||||
23:12:54.124: linux-jack.so
|
||||
23:12:54.124: linux-capture.so
|
||||
23:12:54.124: linux-alsa.so
|
||||
23:12:54.124: image-source.so
|
||||
23:12:54.124: frontend-tools.so
|
||||
23:12:54.124: decklink-output-ui.so
|
||||
23:12:54.124: decklink-captions.so
|
||||
23:12:54.124: ---------------------------------
|
||||
23:12:54.124: ---------------------------------
|
||||
23:12:54.124: Available Encoders:
|
||||
23:12:54.124: Video Encoders:
|
||||
23:12:54.124: - ffmpeg_svt_av1 (SVT-AV1)
|
||||
23:12:54.124: - ffmpeg_aom_av1 (AOM AV1)
|
||||
23:12:54.124: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
|
||||
23:12:54.124: - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
|
||||
23:12:54.124: - obs_qsv11_v2 (QuickSync H.264)
|
||||
23:12:54.124: - obs_qsv11_hevc (QuickSync HEVC)
|
||||
23:12:54.124: - obs_x264 (x264)
|
||||
23:12:54.124: Audio Encoders:
|
||||
23:12:54.124: - ffmpeg_aac (FFmpeg AAC)
|
||||
23:12:54.124: - ffmpeg_opus (FFmpeg Opus)
|
||||
23:12:54.124: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
|
||||
23:12:54.124: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
|
||||
23:12:54.124: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
|
||||
23:12:54.124: - ffmpeg_alac (FFmpeg ALAC (24-bit))
|
||||
23:12:54.124: - ffmpeg_flac (FFmpeg FLAC (16-bit))
|
||||
23:12:54.124: - libfdk_aac (libfdk AAC)
|
||||
23:12:54.124: ==== Startup complete ===============================================
|
||||
23:12:54.195: All scene data cleared
|
||||
23:12:54.195: ------------------------------------------------
|
||||
23:12:54.208: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
23:12:54.209: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
23:12:54.209: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
23:12:54.209: [Loaded global audio device]: 'Desktop Audio'
|
||||
23:12:54.212: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
23:12:54.212: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
23:12:54.213: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
23:12:54.213: Source ID 'pipewire-screen-capture-source' not found
|
||||
23:12:54.213: Failed to create source 'Screen Capture (PipeWire)'!
|
||||
23:12:54.216: Switched to scene 'Scene'
|
||||
23:12:54.216: ------------------------------------------------
|
||||
23:12:54.216: Loaded scenes:
|
||||
23:12:54.216: - scene 'Scene':
|
||||
23:12:54.216: - source: 'Audio Output Capture (PulseAudio)' (pulse_output_capture)
|
||||
23:12:54.216: - source: 'Screen Capture (PipeWire)' (pipewire-screen-capture-source)
|
||||
23:12:54.216: ------------------------------------------------
|
||||
23:12:55.000: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Desktop Audio)
|
||||
23:12:55.000:
|
||||
23:13:25.797: virtual void QtWaylandClient::QWaylandTextInputv3::disableSurface(wl_surface*) Try to disable surface 0x1ddffbd0 with focusing surface 0x1fc07d10
|
||||
23:13:31.178: virtual void QtWaylandClient::QWaylandTextInputv3::disableSurface(wl_surface*) Try to disable surface 0x1ddffbd0 with focusing surface 0x1fbeaa70
|
||||
23:13:32.271: User added source 'Wayland output(dmabuf)' (wlrobs-dmabuf) to scene 'Scene'
|
||||
155
dotfile/.config/obs-studio/logs/2025-10-03 23-13-41.txt
Normal file
155
dotfile/.config/obs-studio/logs/2025-10-03 23-13-41.txt
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
23:13:41.592: [Safe Mode] Unclean shutdown detected!
|
||||
23:13:44.669: [Safe Mode] User elected to launch normally.
|
||||
23:13:44.670: Platform: Wayland
|
||||
23:13:44.671: CPU Name: 13th Gen Intel(R) Core(TM) i5-13400
|
||||
23:13:44.671: CPU Speed: 800.000MHz
|
||||
23:13:44.672: Physical Cores: 10, Logical Cores: 16
|
||||
23:13:44.672: Physical Memory: 31830MB Total, 19547MB Free
|
||||
23:13:44.672: Kernel Version: Linux 6.16.4-cachyos
|
||||
23:13:44.672: Distribution: NixOS "25.11"
|
||||
23:13:44.672: Desktop Environment: Hyprland (Hyprland)
|
||||
23:13:44.672: Session Type: wayland
|
||||
23:13:44.682: Current Date/Time: 2025-10-03, 11:13:44 PM
|
||||
23:13:44.682: Browser Hardware Acceleration: true
|
||||
23:13:44.682: Qt Version: 6.9.2 (runtime), 6.9.2 (compiled)
|
||||
23:13:44.682: Portable mode: false
|
||||
23:13:44.696: OBS 31.1.2 (linux)
|
||||
23:13:44.696: ---------------------------------
|
||||
23:13:44.697: ---------------------------------
|
||||
23:13:44.697: audio settings reset:
|
||||
23:13:44.697: samples per sec: 48000
|
||||
23:13:44.697: speakers: 2
|
||||
23:13:44.697: max buffering: 960 milliseconds
|
||||
23:13:44.697: buffering type: dynamically increasing
|
||||
23:13:44.698: ---------------------------------
|
||||
23:13:44.698: Initializing OpenGL...
|
||||
23:13:44.698: Using EGL/Wayland
|
||||
23:13:44.722: Initialized EGL 1.5
|
||||
23:13:44.734: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics 730 (ADL-S GT1)
|
||||
23:13:44.734: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 25.2.3, shading language 4.60
|
||||
23:13:44.758: ---------------------------------
|
||||
23:13:44.758: video settings reset:
|
||||
23:13:44.758: base resolution: 1920x1080
|
||||
23:13:44.758: output resolution: 1920x1080
|
||||
23:13:44.758: downscale filter: Bicubic
|
||||
23:13:44.758: fps: 30/1
|
||||
23:13:44.758: format: NV12
|
||||
23:13:44.758: YUV mode: Rec. 709/Partial
|
||||
23:13:44.758: NV12 texture support enabled
|
||||
23:13:44.758: P010 texture support not available
|
||||
23:13:44.764: Audio monitoring device:
|
||||
23:13:44.764: name: Default
|
||||
23:13:44.764: id: default
|
||||
23:13:44.765: ---------------------------------
|
||||
23:13:44.770: Failed to load 'en-US' text for module: 'decklink-captions.so'
|
||||
23:13:44.774: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
|
||||
23:13:44.778: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
|
||||
23:13:44.778: Failed to initialize module 'decklink.so'
|
||||
23:13:44.936: [pipewire] No capture sources available
|
||||
23:13:44.956: [obs-browser]: Version 2.25.3
|
||||
23:13:44.956: [obs-browser]: CEF Version 138.0.7204.97 (runtime), 138.0.17+gac9b751+chromium-138.0.7204.97 (compiled)
|
||||
23:13:44.973: VAAPI: API version 1.22
|
||||
23:13:44.974: FFmpeg VAAPI H264 encoding supported
|
||||
23:13:44.983: FFmpeg VAAPI AV1 encoding not supported
|
||||
23:13:44.989: FFmpeg VAAPI HEVC encoding supported
|
||||
23:13:45.006: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
|
||||
23:13:45.006:
|
||||
23:13:45.006: NVENC not supported
|
||||
23:13:45.006: Failed to initialize module 'obs-nvenc.so'
|
||||
23:13:45.064: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.6.2 | RPC Version: 1)
|
||||
23:13:45.064: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.9.2 | Qt version (run-time): 6.9.2
|
||||
23:13:45.064: [obs-websocket] [obs_module_load] Linked ASIO Version: 102400
|
||||
23:13:45.064: DEPRECATION: obs_frontend_get_global_config is deprecated. Read from global or user configuration explicitly instead.
|
||||
23:13:45.067: [obs-websocket] [obs_module_load] Module loaded.
|
||||
23:13:45.087: [vlc-video]: VLC 3.0.21 Vetinari found, VLC video source enabled
|
||||
23:13:45.105: [linux-vkcapture] plugin loaded successfully (version 1.5.3)
|
||||
23:13:45.111: [Move Transition] loaded version 3.1.5
|
||||
23:13:45.169: [obs-backgroundremoval] Plugin loaded successfully (version 1.1.13)
|
||||
23:13:45.169: [obs-backgroundremoval] Failed to open config file /home/kirbaranixos/.config/obs-studio/plugin_config/obs-backgroundremoval/config.ini
|
||||
23:13:45.169: [obs-backgroundremoval] Failed to open config file /home/kirbaranixos/.config/obs-studio/plugin_config/obs-backgroundremoval/config.ini
|
||||
23:13:45.600: [obs-backgroundremoval] Latest release is
|
||||
23:13:45.618: [Composite Blur] loaded version 1.5.2
|
||||
23:13:45.632: [Source Clone] loaded version 0.1.5
|
||||
23:13:45.632: ---------------------------------
|
||||
23:13:45.632: Loaded Modules:
|
||||
23:13:45.632: source-clone.so
|
||||
23:13:45.632: obs-composite-blur.so
|
||||
23:13:45.632: obs-backgroundremoval.so
|
||||
23:13:45.632: move-transition.so
|
||||
23:13:45.632: linux-vkcapture.so
|
||||
23:13:45.632: linux-pipewire-audio.so
|
||||
23:13:45.632: libwlrobs.so
|
||||
23:13:45.632: vlc-video.so
|
||||
23:13:45.632: text-freetype2.so
|
||||
23:13:45.632: rtmp-services.so
|
||||
23:13:45.632: obs-x264.so
|
||||
23:13:45.632: obs-websocket.so
|
||||
23:13:45.632: obs-webrtc.so
|
||||
23:13:45.632: obs-vst.so
|
||||
23:13:45.632: obs-transitions.so
|
||||
23:13:45.632: obs-qsv11.so
|
||||
23:13:45.632: obs-outputs.so
|
||||
23:13:45.632: obs-libfdk.so
|
||||
23:13:45.632: obs-filters.so
|
||||
23:13:45.632: obs-ffmpeg.so
|
||||
23:13:45.632: obs-browser.so
|
||||
23:13:45.632: linux-v4l2.so
|
||||
23:13:45.632: linux-pulseaudio.so
|
||||
23:13:45.632: linux-pipewire.so
|
||||
23:13:45.632: linux-jack.so
|
||||
23:13:45.632: linux-capture.so
|
||||
23:13:45.632: linux-alsa.so
|
||||
23:13:45.632: image-source.so
|
||||
23:13:45.632: frontend-tools.so
|
||||
23:13:45.632: decklink-output-ui.so
|
||||
23:13:45.632: decklink-captions.so
|
||||
23:13:45.632: ---------------------------------
|
||||
23:13:45.632: ---------------------------------
|
||||
23:13:45.632: Available Encoders:
|
||||
23:13:45.632: Video Encoders:
|
||||
23:13:45.632: - ffmpeg_svt_av1 (SVT-AV1)
|
||||
23:13:45.632: - ffmpeg_aom_av1 (AOM AV1)
|
||||
23:13:45.632: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
|
||||
23:13:45.632: - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
|
||||
23:13:45.632: - obs_qsv11_v2 (QuickSync H.264)
|
||||
23:13:45.632: - obs_qsv11_hevc (QuickSync HEVC)
|
||||
23:13:45.632: - obs_x264 (x264)
|
||||
23:13:45.632: Audio Encoders:
|
||||
23:13:45.632: - ffmpeg_aac (FFmpeg AAC)
|
||||
23:13:45.632: - ffmpeg_opus (FFmpeg Opus)
|
||||
23:13:45.632: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
|
||||
23:13:45.632: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
|
||||
23:13:45.632: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
|
||||
23:13:45.632: - ffmpeg_alac (FFmpeg ALAC (24-bit))
|
||||
23:13:45.633: - ffmpeg_flac (FFmpeg FLAC (16-bit))
|
||||
23:13:45.633: - libfdk_aac (libfdk AAC)
|
||||
23:13:45.633: ==== Startup complete ===============================================
|
||||
23:13:45.684: All scene data cleared
|
||||
23:13:45.684: ------------------------------------------------
|
||||
23:13:45.693: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
23:13:45.694: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
23:13:45.694: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
23:13:45.694: [Loaded global audio device]: 'Desktop Audio'
|
||||
23:13:45.695: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
|
||||
23:13:45.696: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
|
||||
23:13:45.696: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
|
||||
23:13:45.696: Source ID 'pipewire-screen-capture-source' not found
|
||||
23:13:45.696: Failed to create source 'Screen Capture (PipeWire)'!
|
||||
23:13:45.700: Switched to scene 'Scene'
|
||||
23:13:45.700: ------------------------------------------------
|
||||
23:13:45.700: Loaded scenes:
|
||||
23:13:45.700: - scene 'Scene':
|
||||
23:13:45.700: - source: 'Audio Output Capture (PulseAudio)' (pulse_output_capture)
|
||||
23:13:45.700: - source: 'Screen Capture (PipeWire)' (pipewire-screen-capture-source)
|
||||
23:13:45.700: - source: 'Wayland output(dmabuf)' (wlrobs-dmabuf)
|
||||
23:13:45.700: ------------------------------------------------
|
||||
23:13:46.255: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
|
||||
23:13:46.255:
|
||||
23:13:49.639: virtual void QtWaylandClient::QWaylandTextInputv3::disableSurface(wl_surface*) Try to disable surface 0x3aeceef0 with focusing surface 0x39161380
|
||||
23:13:50.156: virtual void QtWaylandClient::QWaylandTextInputv3::disableSurface(wl_surface*) Try to disable surface 0x3aeceef0 with focusing surface 0x39161380
|
||||
23:13:50.732: User Removed source 'Wayland output(dmabuf)' (wlrobs-dmabuf) from scene 'Scene'
|
||||
23:14:04.333: virtual void QtWaylandClient::QWaylandTextInputv3::enableSurface(wl_surface*) Try to enable surface 0x3b0c58c0 with focusing surface 0x39161380
|
||||
23:14:04.733: virtual void QtWaylandClient::QWaylandTextInputv3::enableSurface(wl_surface*) Try to enable surface 0x39161380 with focusing surface 0x3b0c58c0
|
||||
23:14:04.895: virtual void QtWaylandClient::QWaylandTextInputv3::enableSurface(wl_surface*) Try to enable surface 0x3b0c58c0 with focusing surface 0x39161380
|
||||
23:14:07.389: User added source 'Wayland output(dmabuf)' (wlrobs-dmabuf) to scene 'Scene'
|
||||
23:14:07.407: virtual void QtWaylandClient::QWaylandTextInputv3::disableSurface(wl_surface*) Try to disable surface 0x3b1508c0 with focusing surface 0x39161380
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"alerts_enabled": false,
|
||||
"auth_required": true,
|
||||
"first_load": false,
|
||||
"server_enabled": false,
|
||||
"server_password": "Wy8aOt2QH1yxS20p",
|
||||
"server_port": 4455
|
||||
}
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
{
|
||||
"ingests": [
|
||||
{
|
||||
"_id": 0,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Default",
|
||||
"url_template": "rtmp://ingest.global-contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://ingest.global-contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 0
|
||||
},
|
||||
{
|
||||
"_id": 1,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia Southeast: Singapore (10)",
|
||||
"url_template": "rtmp://aps10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://aps10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 1
|
||||
},
|
||||
{
|
||||
"_id": 2,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: Manila, Philippines (1)",
|
||||
"url_template": "rtmp://mnl01.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://mnl01.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 2
|
||||
},
|
||||
{
|
||||
"_id": 3,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: China, Hong Kong (6)",
|
||||
"url_template": "rtmp://hkg06.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://hkg06.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 3
|
||||
},
|
||||
{
|
||||
"_id": 4,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: Taiwan, Taipei (1)",
|
||||
"url_template": "rtmp://tpe01.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://tpe01.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 4
|
||||
},
|
||||
{
|
||||
"_id": 5,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: India, Mumbai (30)",
|
||||
"url_template": "rtmp://aps30.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://aps30.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 5
|
||||
},
|
||||
{
|
||||
"_id": 6,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia Southeast: Sydney (20)",
|
||||
"url_template": "rtmp://aps20.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://aps20.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 6
|
||||
},
|
||||
{
|
||||
"_id": 7,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: South Korea, Seoul (20)",
|
||||
"url_template": "rtmp://apn20.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://apn20.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 7
|
||||
},
|
||||
{
|
||||
"_id": 8,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: Japan, Osaka (1)",
|
||||
"url_template": "rtmp://osa01.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://osa01.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 8
|
||||
},
|
||||
{
|
||||
"_id": 9,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: Japan, Narita (10)",
|
||||
"url_template": "rtmp://apn10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://apn10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 9
|
||||
},
|
||||
{
|
||||
"_id": 10,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: Sweden, Stockholm (10)",
|
||||
"url_template": "rtmp://eun10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://eun10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 10
|
||||
},
|
||||
{
|
||||
"_id": 11,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: Italy, Milan (2)",
|
||||
"url_template": "rtmp://mil02.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://mil02.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 11
|
||||
},
|
||||
{
|
||||
"_id": 12,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: Frankfurt (10)",
|
||||
"url_template": "rtmp://euc10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://euc10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 12
|
||||
},
|
||||
{
|
||||
"_id": 13,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: France, Paris (30)",
|
||||
"url_template": "rtmp://euw30.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://euw30.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 13
|
||||
},
|
||||
{
|
||||
"_id": 14,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: UK, London (3)",
|
||||
"url_template": "rtmp://lhr03.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://lhr03.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 14
|
||||
},
|
||||
{
|
||||
"_id": 15,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe West: Ireland (10)",
|
||||
"url_template": "rtmp://euw10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://euw10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 15
|
||||
},
|
||||
{
|
||||
"_id": 16,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: Spain, Madrid (1)",
|
||||
"url_template": "rtmp://mad01.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://mad01.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 16
|
||||
},
|
||||
{
|
||||
"_id": 17,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "US West: Portland, OR (us-west-2)",
|
||||
"url_template": "rtmp://usw20.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://usw20.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 17
|
||||
},
|
||||
{
|
||||
"_id": 18,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "South America: Brazil, Sao Paulo (10)",
|
||||
"url_template": "rtmp://sae10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://sae10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 18
|
||||
},
|
||||
{
|
||||
"_id": 19,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "US East: Ohio (20)",
|
||||
"url_template": "rtmp://use20.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://use20.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 19
|
||||
},
|
||||
{
|
||||
"_id": 20,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "US East: Ashburn, VA (10)",
|
||||
"url_template": "rtmp://use10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://use10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 20
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"$schema":"schema/package-schema.json","url":"https://obsproject.com/obs2_update/rtmp-services/v5","version":276,"files":[{"name":"services.json","version":276}]}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,193 @@
|
|||
{
|
||||
"ingests": [
|
||||
{
|
||||
"_id": 0,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Default",
|
||||
"url_template": "rtmp://ingest.global-contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://ingest.global-contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 0
|
||||
},
|
||||
{
|
||||
"_id": 1,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia Southeast: Singapore (10)",
|
||||
"url_template": "rtmp://aps10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://aps10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 1
|
||||
},
|
||||
{
|
||||
"_id": 2,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: Manila, Philippines (1)",
|
||||
"url_template": "rtmp://mnl01.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://mnl01.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 2
|
||||
},
|
||||
{
|
||||
"_id": 3,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: China, Hong Kong (6)",
|
||||
"url_template": "rtmp://hkg06.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://hkg06.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 3
|
||||
},
|
||||
{
|
||||
"_id": 4,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: Taiwan, Taipei (1)",
|
||||
"url_template": "rtmp://tpe01.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://tpe01.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 4
|
||||
},
|
||||
{
|
||||
"_id": 5,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: India, Mumbai (30)",
|
||||
"url_template": "rtmp://aps30.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://aps30.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 5
|
||||
},
|
||||
{
|
||||
"_id": 6,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia Southeast: Sydney (20)",
|
||||
"url_template": "rtmp://aps20.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://aps20.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 6
|
||||
},
|
||||
{
|
||||
"_id": 7,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: South Korea, Seoul (20)",
|
||||
"url_template": "rtmp://apn20.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://apn20.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 7
|
||||
},
|
||||
{
|
||||
"_id": 8,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: Japan, Osaka (1)",
|
||||
"url_template": "rtmp://osa01.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://osa01.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 8
|
||||
},
|
||||
{
|
||||
"_id": 9,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Asia: Japan, Narita (10)",
|
||||
"url_template": "rtmp://apn10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://apn10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 9
|
||||
},
|
||||
{
|
||||
"_id": 10,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: Sweden, Stockholm (10)",
|
||||
"url_template": "rtmp://eun10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://eun10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 10
|
||||
},
|
||||
{
|
||||
"_id": 11,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: Italy, Milan (2)",
|
||||
"url_template": "rtmp://mil02.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://mil02.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 11
|
||||
},
|
||||
{
|
||||
"_id": 12,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: Frankfurt (10)",
|
||||
"url_template": "rtmp://euc10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://euc10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 12
|
||||
},
|
||||
{
|
||||
"_id": 13,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: France, Paris (30)",
|
||||
"url_template": "rtmp://euw30.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://euw30.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 13
|
||||
},
|
||||
{
|
||||
"_id": 14,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: UK, London (3)",
|
||||
"url_template": "rtmp://lhr03.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://lhr03.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 14
|
||||
},
|
||||
{
|
||||
"_id": 15,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe West: Ireland (10)",
|
||||
"url_template": "rtmp://euw10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://euw10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 15
|
||||
},
|
||||
{
|
||||
"_id": 16,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "Europe: Spain, Madrid (1)",
|
||||
"url_template": "rtmp://mad01.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://mad01.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 16
|
||||
},
|
||||
{
|
||||
"_id": 17,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "US West: Portland, OR (us-west-2)",
|
||||
"url_template": "rtmp://usw20.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://usw20.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 17
|
||||
},
|
||||
{
|
||||
"_id": 18,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "South America: Brazil, Sao Paulo (10)",
|
||||
"url_template": "rtmp://sae10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://sae10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 18
|
||||
},
|
||||
{
|
||||
"_id": 19,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "US East: Ohio (20)",
|
||||
"url_template": "rtmp://use20.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://use20.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 19
|
||||
},
|
||||
{
|
||||
"_id": 20,
|
||||
"availability": 1.0,
|
||||
"default": false,
|
||||
"name": "US East: Ashburn, VA (10)",
|
||||
"url_template": "rtmp://use10.contribute.live-video.net/app/{stream_key}",
|
||||
"url_template_secure": "rtmps://use10.contribute.live-video.net/app/{stream_key}",
|
||||
"priority": 20
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
0
dotfile/.config/obs-studio/safe_mode
Normal file
0
dotfile/.config/obs-studio/safe_mode
Normal file
67
dotfile/.config/obs-studio/user.ini
Normal file
67
dotfile/.config/obs-studio/user.ini
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
[General]
|
||||
Pre19Defaults=false
|
||||
Pre21Defaults=false
|
||||
Pre23Defaults=false
|
||||
Pre24.1Defaults=false
|
||||
ConfirmOnExit=true
|
||||
HotkeyFocusType=NeverDisableHotkeys
|
||||
FirstRun=true
|
||||
|
||||
[BasicWindow]
|
||||
PreviewEnabled=true
|
||||
PreviewProgramMode=false
|
||||
SceneDuplicationMode=true
|
||||
SwapScenesMode=true
|
||||
SnappingEnabled=true
|
||||
ScreenSnapping=true
|
||||
SourceSnapping=true
|
||||
CenterSnapping=false
|
||||
SnapDistance=10
|
||||
SpacingHelpersEnabled=true
|
||||
RecordWhenStreaming=false
|
||||
KeepRecordingWhenStreamStops=false
|
||||
SysTrayEnabled=true
|
||||
SysTrayWhenStarted=false
|
||||
SaveProjectors=false
|
||||
ShowTransitions=true
|
||||
ShowListboxToolbars=true
|
||||
ShowStatusBar=true
|
||||
ShowSourceIcons=true
|
||||
ShowContextToolbars=true
|
||||
StudioModeLabels=true
|
||||
VerticalVolControl=false
|
||||
MultiviewMouseSwitch=true
|
||||
MultiviewDrawNames=true
|
||||
MultiviewDrawAreas=true
|
||||
MediaControlsCountdownTimer=true
|
||||
geometry=AdnQywADAAAAAAUAAAAAAAAADGsAAAPyAAAFAAAAAAAAAAxrAAAD8gAAAAECAAAAB4AAAAUAAAAAAAAADGsAAAPy
|
||||
DockState=AAAA/wAAAAD9AAAAAQAAAAMAAAdsAAAA2PwBAAAABvsAAAAUAHMAYwBlAG4AZQBzAEQAbwBjAGsBAAAAAAAAAXEAAACYAP////sAAAAWAHMAbwB1AHIAYwBlAHMARABvAGMAawEAAAF1AAABcQAAAJgA////+wAAABIAbQBpAHgAZQByAEQAbwBjAGsBAAAC6gAAAd8AAADeAP////sAAAAeAHQAcgBhAG4AcwBpAHQAaQBvAG4AcwBEAG8AYwBrAQAABM0AAAEvAAAArQD////7AAAAGABjAG8AbgB0AHIAbwBsAHMARABvAGMAawEAAAYAAAABbAAAAM4A////+wAAABIAcwB0AGEAdABzAEQAbwBjAGsCAAACRAAAAbgAAAK8AAAAyAAAB2wAAALbAAAABAAAAAQAAAAIAAAACPwAAAAA
|
||||
AlwaysOnTop=false
|
||||
EditPropertiesMode=false
|
||||
DocksLocked=false
|
||||
SideDocks=false
|
||||
|
||||
[Appearance]
|
||||
FontScale=10
|
||||
Density=1
|
||||
|
||||
[Basic]
|
||||
Profile=Untitled
|
||||
ProfileDir=Untitled
|
||||
SceneCollection=Untitled
|
||||
SceneCollectionFile=Untitled.json
|
||||
ConfigOnNewProfile=true
|
||||
|
||||
[Accessibility]
|
||||
SelectRed=255
|
||||
SelectGreen=65280
|
||||
SelectBlue=16744192
|
||||
MixerGreen=2522918
|
||||
MixerYellow=2523007
|
||||
MixerRed=2500223
|
||||
MixerGreenActive=5046092
|
||||
MixerYellowActive=5046271
|
||||
MixerRedActive=5000447
|
||||
|
||||
[ScriptLogWindow]
|
||||
geometry=AdnQywADAAAAAAUBAAAAGQAAB1gAAAGoAAAFAQAAABkAAAdYAAABqAAAAAEAAAAAB4AAAAUBAAAAGQAAB1gAAAGo
|
||||
784
dotfile/.config/openbox/rc.xml
Normal file
784
dotfile/.config/openbox/rc.xml
Normal file
|
|
@ -0,0 +1,784 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Do not edit this file, it will be overwritten on install.
|
||||
Copy the file to $HOME/.config/openbox/ instead. -->
|
||||
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<resistance>
|
||||
<strength>10</strength>
|
||||
<screen_edge_strength>20</screen_edge_strength>
|
||||
</resistance>
|
||||
<focus>
|
||||
<focusNew>yes</focusNew>
|
||||
<!-- always try to focus new windows when they appear. other rules do
|
||||
apply -->
|
||||
<followMouse>no</followMouse>
|
||||
<!-- move focus to a window when you move the mouse into it -->
|
||||
<focusLast>yes</focusLast>
|
||||
<!-- focus the last used window when changing desktops, instead of the one
|
||||
under the mouse pointer. when followMouse is enabled -->
|
||||
<underMouse>no</underMouse>
|
||||
<!-- move focus under the mouse, even when the mouse is not moving -->
|
||||
<focusDelay>200</focusDelay>
|
||||
<!-- when followMouse is enabled, the mouse must be inside the window for
|
||||
this many milliseconds (1000 = 1 sec) before moving focus to it -->
|
||||
<raiseOnFocus>no</raiseOnFocus>
|
||||
<!-- when followMouse is enabled, and a window is given focus by moving the
|
||||
mouse into it, also raise the window -->
|
||||
</focus>
|
||||
<placement>
|
||||
<policy>Smart</policy>
|
||||
<!-- 'Smart' or 'UnderMouse' -->
|
||||
<center>yes</center>
|
||||
<!-- whether to place windows in the center of the free area found or
|
||||
the top left corner -->
|
||||
<monitor>Any</monitor>
|
||||
<!-- with Smart placement on a multi-monitor system, try to place new windows
|
||||
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
|
||||
the active window is, 'Primary' - only on the primary monitor -->
|
||||
<primaryMonitor>Mouse</primaryMonitor>
|
||||
<!-- The monitor where Openbox should place popup dialogs such as the
|
||||
focus cycling popup, or the desktop switch popup. It can be an index
|
||||
from 1, specifying a particular monitor. Or it can be one of the
|
||||
following: 'Mouse' - where the mouse is, or
|
||||
'Active' - where the active window is -->
|
||||
</placement>
|
||||
<theme>
|
||||
<name>Lean</name>
|
||||
<titleLayout>NLIMC</titleLayout>
|
||||
<!--
|
||||
available characters are NDSLIMC, each can occur at most once.
|
||||
N: window icon
|
||||
L: window label (AKA title).
|
||||
I: iconify
|
||||
M: maximize
|
||||
C: close
|
||||
S: shade (roll up/down)
|
||||
D: omnipresent (on all desktops).
|
||||
-->
|
||||
<keepBorder>yes</keepBorder>
|
||||
<animateIconify>yes</animateIconify>
|
||||
<font place="ActiveWindow">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>8</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="InactiveWindow">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>8</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="MenuHeader">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>9</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Normal</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="MenuItem">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>9</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Normal</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="ActiveOnScreenDisplay">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>9</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Normal</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="InactiveOnScreenDisplay">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>9</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Normal</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
</theme>
|
||||
<desktops>
|
||||
<!-- this stuff is only used at startup, pagers allow you to change them
|
||||
during a session
|
||||
|
||||
these are default values to use when other ones are not already set
|
||||
by other applications, or saved in your session
|
||||
|
||||
use obconf if you want to change these without having to log out
|
||||
and back in -->
|
||||
<number>4</number>
|
||||
<firstdesk>1</firstdesk>
|
||||
<names>
|
||||
<!-- set names up here if you want to, like this:
|
||||
<name>desktop 1</name>
|
||||
<name>desktop 2</name>
|
||||
-->
|
||||
</names>
|
||||
<popupTime>875</popupTime>
|
||||
<!-- The number of milliseconds to show the popup for when switching
|
||||
desktops. Set this to 0 to disable the popup. -->
|
||||
</desktops>
|
||||
<resize>
|
||||
<drawContents>yes</drawContents>
|
||||
<popupShow>Nonpixel</popupShow>
|
||||
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
|
||||
<popupPosition>Center</popupPosition>
|
||||
<!-- 'Center', 'Top', or 'Fixed' -->
|
||||
<popupFixedPosition>
|
||||
<!-- these are used if popupPosition is set to 'Fixed' -->
|
||||
<x>10</x>
|
||||
<!-- positive number for distance from left edge, negative number for
|
||||
distance from right edge, or 'Center' -->
|
||||
<y>10</y>
|
||||
<!-- positive number for distance from top edge, negative number for
|
||||
distance from bottom edge, or 'Center' -->
|
||||
</popupFixedPosition>
|
||||
</resize>
|
||||
<!-- You can reserve a portion of your screen where windows will not cover when
|
||||
they are maximized, or when they are initially placed.
|
||||
Many programs reserve space automatically, but you can use this in other
|
||||
cases. -->
|
||||
<margins>
|
||||
<top>16</top>
|
||||
<bottom>16</bottom>
|
||||
<left>16</left>
|
||||
<right>16</right>
|
||||
</margins>
|
||||
<dock>
|
||||
<position>TopLeft</position>
|
||||
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
|
||||
<floatingX>0</floatingX>
|
||||
<floatingY>0</floatingY>
|
||||
<noStrut>no</noStrut>
|
||||
<stacking>Above</stacking>
|
||||
<!-- 'Above', 'Normal', or 'Below' -->
|
||||
<direction>Vertical</direction>
|
||||
<!-- 'Vertical' or 'Horizontal' -->
|
||||
<autoHide>no</autoHide>
|
||||
<hideDelay>300</hideDelay>
|
||||
<!-- in milliseconds (1000 = 1 second) -->
|
||||
<showDelay>300</showDelay>
|
||||
<!-- in milliseconds (1000 = 1 second) -->
|
||||
<moveButton>Middle</moveButton>
|
||||
<!-- 'Left', 'Middle', 'Right' -->
|
||||
</dock>
|
||||
<keyboard>
|
||||
<chainQuitKey>C-g</chainQuitKey>
|
||||
<!-- Keybindings for desktop switching -->
|
||||
<keybind key="C-A-Left">
|
||||
<action name="GoToDesktop">
|
||||
<to>left</to>
|
||||
<wrap>no</wrap>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="C-A-Right">
|
||||
<action name="GoToDesktop">
|
||||
<to>right</to>
|
||||
<wrap>no</wrap>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="C-A-Up">
|
||||
<action name="GoToDesktop">
|
||||
<to>up</to>
|
||||
<wrap>no</wrap>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="C-A-Down">
|
||||
<action name="GoToDesktop">
|
||||
<to>down</to>
|
||||
<wrap>no</wrap>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="S-A-Left">
|
||||
<action name="SendToDesktop">
|
||||
<to>left</to>
|
||||
<wrap>no</wrap>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="S-A-Right">
|
||||
<action name="SendToDesktop">
|
||||
<to>right</to>
|
||||
<wrap>no</wrap>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="S-A-Up">
|
||||
<action name="SendToDesktop">
|
||||
<to>up</to>
|
||||
<wrap>no</wrap>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="S-A-Down">
|
||||
<action name="SendToDesktop">
|
||||
<to>down</to>
|
||||
<wrap>no</wrap>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-F1">
|
||||
<action name="GoToDesktop">
|
||||
<to>1</to>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-F2">
|
||||
<action name="GoToDesktop">
|
||||
<to>2</to>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-F3">
|
||||
<action name="GoToDesktop">
|
||||
<to>3</to>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-F4">
|
||||
<action name="GoToDesktop">
|
||||
<to>4</to>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-d">
|
||||
<action name="ToggleShowDesktop"/>
|
||||
</keybind>
|
||||
<!-- Keybindings for windows -->
|
||||
<keybind key="A-F4">
|
||||
<action name="Close"/>
|
||||
</keybind>
|
||||
<keybind key="A-Escape">
|
||||
<action name="Lower"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
</keybind>
|
||||
<keybind key="A-space">
|
||||
<action name="ShowMenu">
|
||||
<menu>client-menu</menu>
|
||||
</action>
|
||||
</keybind>
|
||||
<!-- Keybindings for window switching -->
|
||||
<keybind key="A-Tab">
|
||||
<action name="NextWindow">
|
||||
<finalactions>
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</finalactions>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="A-S-Tab">
|
||||
<action name="PreviousWindow">
|
||||
<finalactions>
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</finalactions>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="C-A-Tab">
|
||||
<action name="NextWindow">
|
||||
<panels>yes</panels>
|
||||
<desktop>yes</desktop>
|
||||
<finalactions>
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</finalactions>
|
||||
</action>
|
||||
</keybind>
|
||||
<!-- Keybindings for window switching with the arrow keys -->
|
||||
<keybind key="W-S-Right">
|
||||
<action name="DirectionalCycleWindows">
|
||||
<direction>right</direction>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-S-Left">
|
||||
<action name="DirectionalCycleWindows">
|
||||
<direction>left</direction>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-S-Up">
|
||||
<action name="DirectionalCycleWindows">
|
||||
<direction>up</direction>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-S-Down">
|
||||
<action name="DirectionalCycleWindows">
|
||||
<direction>down</direction>
|
||||
</action>
|
||||
</keybind>
|
||||
<!-- Keybindings for running applications -->
|
||||
<keybind key="W-e">
|
||||
<action name="Execute">
|
||||
<startupnotify>
|
||||
<enabled>true</enabled>
|
||||
<name>Konqueror</name>
|
||||
</startupnotify>
|
||||
<command>kfmclient openProfile filemanagement</command>
|
||||
</action>
|
||||
</keybind>
|
||||
</keyboard>
|
||||
<mouse>
|
||||
<dragThreshold>1</dragThreshold>
|
||||
<!-- number of pixels the mouse must move before a drag begins -->
|
||||
<doubleClickTime>500</doubleClickTime>
|
||||
<!-- in milliseconds (1000 = 1 second) -->
|
||||
<screenEdgeWarpTime>400</screenEdgeWarpTime>
|
||||
<!-- Time before changing desktops when the pointer touches the edge of the
|
||||
screen while moving a window, in milliseconds (1000 = 1 second).
|
||||
Set this to 0 to disable warping -->
|
||||
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
|
||||
<!-- Set this to TRUE to move the mouse pointer across the desktop when
|
||||
switching due to hitting the edge of the screen -->
|
||||
<context name="Frame">
|
||||
<mousebind button="A-Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="A-Left" action="Click">
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="A-Left" action="Drag">
|
||||
<action name="Move"/>
|
||||
</mousebind>
|
||||
<mousebind button="A-Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="A-Right" action="Drag">
|
||||
<action name="Resize"/>
|
||||
</mousebind>
|
||||
<mousebind button="A-Middle" action="Press">
|
||||
<action name="Lower"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
</mousebind>
|
||||
<mousebind button="A-Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-S-Up" action="Click">
|
||||
<action name="SendToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-S-Down" action="Click">
|
||||
<action name="SendToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Titlebar">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Move"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="DoubleClick">
|
||||
<action name="ToggleMaximize"/>
|
||||
</mousebind>
|
||||
<mousebind button="Up" action="Click">
|
||||
<action name="if">
|
||||
<shaded>no</shaded>
|
||||
<then>
|
||||
<action name="Shade"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
<action name="Lower"/>
|
||||
</then>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Down" action="Click">
|
||||
<action name="if">
|
||||
<shaded>yes</shaded>
|
||||
<then>
|
||||
<action name="Unshade"/>
|
||||
<action name="Raise"/>
|
||||
</then>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Lower"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="ShowMenu">
|
||||
<menu>client-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Top">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize">
|
||||
<edge>top</edge>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Left">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize">
|
||||
<edge>left</edge>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Right">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize">
|
||||
<edge>right</edge>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Bottom">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize">
|
||||
<edge>bottom</edge>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="ShowMenu">
|
||||
<menu>client-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="TRCorner BRCorner TLCorner BLCorner">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Client">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Icon">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
<action name="ShowMenu">
|
||||
<menu>client-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="ShowMenu">
|
||||
<menu>client-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="AllDesktops">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleOmnipresent"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Shade">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleShade"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Iconify">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="Iconify"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Maximize">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleMaximize"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Click">
|
||||
<action name="ToggleMaximize">
|
||||
<direction>vertical</direction>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Click">
|
||||
<action name="ToggleMaximize">
|
||||
<direction>horizontal</direction>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Close">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="Close"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Desktop">
|
||||
<mousebind button="Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Root">
|
||||
<!-- Menus -->
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="ShowMenu">
|
||||
<menu>client-list-combined-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="ShowMenu">
|
||||
<menu>root-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="MoveResize">
|
||||
<mousebind button="Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
</mouse>
|
||||
<menu>
|
||||
<!-- You can specify more than one menu file in here and they are all loaded,
|
||||
just don't make menu ids clash or, well, it'll be kind of pointless -->
|
||||
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
|
||||
<file>menu.xml</file>
|
||||
<hideDelay>200</hideDelay>
|
||||
<!-- if a press-release lasts longer than this setting (in milliseconds), the
|
||||
menu is hidden again -->
|
||||
<middle>no</middle>
|
||||
<!-- center submenus vertically about the parent entry -->
|
||||
<submenuShowDelay>100</submenuShowDelay>
|
||||
<!-- time to delay before showing a submenu after hovering over the parent
|
||||
entry.
|
||||
if this is a negative value, then the delay is infinite and the
|
||||
submenu will not be shown until it is clicked on -->
|
||||
<submenuHideDelay>400</submenuHideDelay>
|
||||
<!-- time to delay before hiding a submenu when selecting another
|
||||
entry in parent menu
|
||||
if this is a negative value, then the delay is infinite and the
|
||||
submenu will not be hidden until a different submenu is opened -->
|
||||
<showIcons>yes</showIcons>
|
||||
<!-- controls if icons appear in the client-list-(combined-)menu -->
|
||||
<manageDesktops>yes</manageDesktops>
|
||||
<!-- show the manage desktops section in the client-list-(combined-)menu -->
|
||||
</menu>
|
||||
<applications>
|
||||
<!--
|
||||
# this is an example with comments through out. use these to make your
|
||||
# own rules, but without the comments of course.
|
||||
# you may use one or more of the name/class/role/title/type rules to specify
|
||||
# windows to match
|
||||
|
||||
<application name="the window's _OB_APP_NAME property (see obxprop)"
|
||||
class="the window's _OB_APP_CLASS property (see obxprop)"
|
||||
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
|
||||
groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
|
||||
role="the window's _OB_APP_ROLE property (see obxprop)"
|
||||
title="the window's _OB_APP_TITLE property (see obxprop)"
|
||||
type="the window's _OB_APP_TYPE property (see obxprob)..
|
||||
(if unspecified, then it is 'dialog' for child windows)">
|
||||
# you may set only one of name/class/role/title/type, or you may use more
|
||||
# than one together to restrict your matches.
|
||||
|
||||
# the name, class, role, and title use simple wildcard matching such as those
|
||||
# used by a shell. you can use * to match any characters and ? to match
|
||||
# any single character.
|
||||
|
||||
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
|
||||
# or desktop
|
||||
|
||||
# when multiple rules match a window, they will all be applied, in the
|
||||
# order that they appear in this list
|
||||
|
||||
|
||||
# each rule element can be left out or set to 'default' to specify to not
|
||||
# change that attribute of the window
|
||||
|
||||
<decor>yes</decor>
|
||||
# enable or disable window decorations
|
||||
|
||||
<shade>no</shade>
|
||||
# make the window shaded when it appears, or not
|
||||
|
||||
<position force="no">
|
||||
# the position is only used if both an x and y coordinate are provided
|
||||
# (and not set to 'default')
|
||||
# when force is "yes", then the window will be placed here even if it
|
||||
# says you want it placed elsewhere. this is to override buggy
|
||||
# applications who refuse to behave
|
||||
<x>center</x>
|
||||
# a number like 50, or 'center' to center on screen. use a negative number
|
||||
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from
|
||||
# the right edge (or bottom). use 'default' to specify using value
|
||||
# provided by the application, or chosen by openbox, instead.
|
||||
<y>200</y>
|
||||
<monitor>1</monitor>
|
||||
# specifies the monitor in a xinerama setup.
|
||||
# 1 is the first head, or 'mouse' for wherever the mouse is
|
||||
</position>
|
||||
|
||||
<size>
|
||||
# the size to make the window.
|
||||
<width>20</width>
|
||||
# a number like 20, or 'default' to use the size given by the application.
|
||||
# you can use fractions such as 1/2 or percentages such as 75% in which
|
||||
# case the value is relative to the size of the monitor that the window
|
||||
# appears on.
|
||||
<height>30%</height>
|
||||
</size>
|
||||
|
||||
<focus>yes</focus>
|
||||
# if the window should try be given focus when it appears. if this is set
|
||||
# to yes it doesn't guarantee the window will be given focus. some
|
||||
# restrictions may apply, but Openbox will try to
|
||||
|
||||
<desktop>1</desktop>
|
||||
# 1 is the first desktop, 'all' for all desktops
|
||||
|
||||
<layer>normal</layer>
|
||||
# 'above', 'normal', or 'below'
|
||||
|
||||
<iconic>no</iconic>
|
||||
# make the window iconified when it appears, or not
|
||||
|
||||
<skip_pager>no</skip_pager>
|
||||
# asks to not be shown in pagers
|
||||
|
||||
<skip_taskbar>no</skip_taskbar>
|
||||
# asks to not be shown in taskbars. window cycling actions will also
|
||||
# skip past such windows
|
||||
|
||||
<fullscreen>yes</fullscreen>
|
||||
# make the window in fullscreen mode when it appears
|
||||
|
||||
<maximized>true</maximized>
|
||||
# 'Horizontal', 'Vertical' or boolean (yes/no)
|
||||
</application>
|
||||
|
||||
# end of the example
|
||||
-->
|
||||
</applications>
|
||||
</openbox_config>
|
||||
4
dotfile/.config/qt6ct/colors/aa.conf
Normal file
4
dotfile/.config/qt6ct/colors/aa.conf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[ColorScheme]
|
||||
active_colors=#ffffffff, #ff424245, #ff979797, #ff5e5c5b, #ff302f2e, #ff4a4947, #ffffffff, #ffffffff, #ffffffff, #ff3d3d3d, #ff222020, #ffe7e4e0, #ff12608a, #fff9f9f9, #ff0986d3, #ffa70b06, #ff5c5b5a, #ffffffff, #ff3f3f36, #ffffffff, #80ffffff, #ff12608a
|
||||
disabled_colors=#ff808080, #ff424245, #ff979797, #ff5e5c5b, #ff302f2e, #ff4a4947, #ff808080, #ffffffff, #ff808080, #ff3d3d3d, #ff222020, #ffe7e4e0, #ff12608a, #ff808080, #ff0986d3, #ffa70b06, #ff5c5b5a, #ffffffff, #ff3f3f36, #ffffffff, #80ffffff, #ff12608a
|
||||
inactive_colors=#ffffffff, #ff424245, #ff979797, #ff5e5c5b, #ff302f2e, #ff4a4947, #ffffffff, #ffffffff, #ffffffff, #ff3d3d3d, #ff222020, #ffe7e4e0, #ff12608a, #fff9f9f9, #ff0986d3, #ffa70b06, #ff5c5b5a, #ffffffff, #ff3f3f36, #ffffffff, #80ffffff, #ff12608a
|
||||
4
dotfile/.config/qt6ct/colors/custom.conf
Normal file
4
dotfile/.config/qt6ct/colors/custom.conf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[ColorScheme]
|
||||
active_colors=#ff000000, #ffefefef, #ffffffff, #ffcacaca, #ff9f9f9f, #ffb8b8b8, #ff000000, #ffffffff, #ff000000, #ffffffff, #ffefefef, #ff767676, #ff308cc6, #ffffffff, #ff0000ff, #ffff00ff, #fff7f7f7, #ff000000, #ffffffdc, #ff000000, #80000000, #ff308cc6
|
||||
disabled_colors=#ffbebebe, #ffefebe7, #ffffffff, #ffcbc7c4, #ff9f9d9a, #ffb8b5b2, #ffbebebe, #ffffffff, #ffbebebe, #ffefebe7, #ffefebe7, #ffb1aeab, #ff9f9d9a, #ffffffff, #ff0000ff, #ffff0000, #fff7f5f3, #ff000000, #ffffffdc, #ff000000, #80000000, #ff9f9d9a
|
||||
inactive_colors=#ff000000, #ffefefef, #ffffffff, #ffcacaca, #ff9f9f9f, #ffb8b8b8, #ff000000, #ffffffff, #ff000000, #ffffffff, #ffefefef, #ff767676, #ff308cc6, #ffffffff, #ff0000ff, #ffff00ff, #fff7f7f7, #ff000000, #ffffffdc, #ff000000, #80000000, #ff308cc6
|
||||
4
dotfile/.config/qt6ct/colors/darker (copy).conf
Normal file
4
dotfile/.config/qt6ct/colors/darker (copy).conf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[ColorScheme]
|
||||
active_colors=#ffffffff, #ff424245, #ff979797, #ff5e5c5b, #ff302f2e, #ff4a4947, #ffffffff, #ffffffff, #ffffffff, #ff3d3d3d, #ff222020, #ffe7e4e0, #ff12608a, #fff9f9f9, #ff0986d3, #ffa70b06, #ff5c5b5a, #ffffffff, #ff3f3f36, #ffffffff, #80ffffff
|
||||
disabled_colors=#ff808080, #ff424245, #ff979797, #ff5e5c5b, #ff302f2e, #ff4a4947, #ff808080, #ffffffff, #ff808080, #ff3d3d3d, #ff222020, #ffe7e4e0, #ff12608a, #ff808080, #ff0986d3, #ffa70b06, #ff5c5b5a, #ffffffff, #ff3f3f36, #ffffffff, #80ffffff
|
||||
inactive_colors=#ffffffff, #ff424245, #ff979797, #ff5e5c5b, #ff302f2e, #ff4a4947, #ffffffff, #ffffffff, #ffffffff, #ff3d3d3d, #ff222020, #ffe7e4e0, #ff12608a, #fff9f9f9, #ff0986d3, #ffa70b06, #ff5c5b5a, #ffffffff, #ff3f3f36, #ffffffff, #80ffffff
|
||||
144
dotfile/.config/qt6ct/colors/matugen.conf
Normal file
144
dotfile/.config/qt6ct/colors/matugen.conf
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
[ColorScheme]
|
||||
active_colors=#e8e0e8, #151218, #211e24, #958e98, #4a454e, #4a454e, #e8e0e8, #3c245a, #e8e0e8, #151218, #151218, #000000, #d8bafa, #3c245a, #cfc1da, #cfc1da, #1d1a20, #151218, #151218, #ccc4cf, #ccc4cf
|
||||
disabled_colors=#ccc4cf, #4a454e, #211e24, #958e98, #4a454e, #4a454e, #ccc4cf, #ccc4cf, #ccc4cf, #4a454e, #4a454e, #000000, #4a454e, #ccc4cf, #ccc4cf, #ccc4cf, #4a454e, #4a454e, #4a454e, #ccc4cf, #ccc4cf
|
||||
inactive_colors=#ccc4cf, #151218, #211e24, #958e98, #4a454e, #4a454e, #ccc4cf, #ccc4cf, #ccc4cf, #151218, #151218, #000000, #cfc1da, #362d40, #cfc1da, #cfc1da, #1d1a20, #151218, #151218, #ccc4cf, #ccc4cf
|
||||
|
||||
[ColorEffects:Disabled]
|
||||
Color=204,196,207
|
||||
ColorAmount=0
|
||||
ColorEffect=0
|
||||
ContrastAmount=0.65
|
||||
ContrastEffect=1
|
||||
IntensityAmount=0.1
|
||||
IntensityEffect=2
|
||||
|
||||
[ColorEffects:Inactive]
|
||||
ChangeSelectionColor=true
|
||||
Color=149,142,152
|
||||
ColorAmount=0.025
|
||||
ColorEffect=2
|
||||
ContrastAmount=0.1
|
||||
ContrastEffect=2
|
||||
Enable=false
|
||||
IntensityAmount=0
|
||||
IntensityEffect=0
|
||||
|
||||
[Colors:Button]
|
||||
BackgroundAlternate=44,41,47
|
||||
BackgroundNormal=33,30,36
|
||||
DecorationFocus=216,186,250
|
||||
DecorationHover=216,186,250
|
||||
ForegroundActive=216,186,250
|
||||
ForegroundInactive=204,196,207
|
||||
ForegroundLink=242,183,192
|
||||
ForegroundNegative=255,180,171
|
||||
ForegroundNeutral=207,193,218
|
||||
ForegroundNormal=232,224,232
|
||||
ForegroundPositive=242,183,192
|
||||
ForegroundVisited=207,193,218
|
||||
|
||||
[Colors:Complementary]
|
||||
BackgroundAlternate=44,41,47
|
||||
BackgroundNormal=21,18,24
|
||||
DecorationFocus=216,186,250
|
||||
DecorationHover=216,186,250
|
||||
ForegroundActive=216,186,250
|
||||
ForegroundInactive=204,196,207
|
||||
ForegroundLink=242,183,192
|
||||
ForegroundNegative=255,180,171
|
||||
ForegroundNeutral=207,193,218
|
||||
ForegroundNormal=232,224,232
|
||||
ForegroundPositive=242,183,192
|
||||
ForegroundVisited=207,193,218
|
||||
|
||||
[Colors:Header]
|
||||
BackgroundAlternate=21,18,24
|
||||
BackgroundNormal=33,30,36
|
||||
DecorationFocus=216,186,250
|
||||
DecorationHover=216,186,250
|
||||
ForegroundActive=216,186,250
|
||||
ForegroundInactive=204,196,207
|
||||
ForegroundLink=242,183,192
|
||||
ForegroundNegative=255,180,171
|
||||
ForegroundNeutral=207,193,218
|
||||
ForegroundNormal=232,224,232
|
||||
ForegroundPositive=242,183,192
|
||||
ForegroundVisited=207,193,218
|
||||
|
||||
[Colors:Header][Inactive]
|
||||
BackgroundAlternate=33,30,36
|
||||
BackgroundNormal=21,18,24
|
||||
DecorationFocus=216,186,250
|
||||
DecorationHover=216,186,250
|
||||
ForegroundActive=216,186,250
|
||||
ForegroundInactive=204,196,207
|
||||
ForegroundLink=242,183,192
|
||||
ForegroundNegative=255,180,171
|
||||
ForegroundNeutral=207,193,218
|
||||
ForegroundNormal=232,224,232
|
||||
ForegroundPositive=242,183,192
|
||||
ForegroundVisited=207,193,218
|
||||
|
||||
[Colors:Selection]
|
||||
BackgroundAlternate=84,59,114
|
||||
BackgroundNormal=216,186,250
|
||||
DecorationFocus=216,186,250
|
||||
DecorationHover=216,186,250
|
||||
ForegroundActive=60,36,90
|
||||
ForegroundInactive=204,196,207
|
||||
ForegroundLink=242,183,192
|
||||
ForegroundNegative=255,180,171
|
||||
ForegroundNeutral=207,193,218
|
||||
ForegroundNormal=60,36,90
|
||||
ForegroundPositive=242,183,192
|
||||
ForegroundVisited=207,193,218
|
||||
|
||||
[Colors:Tooltip]
|
||||
BackgroundAlternate=21,18,24
|
||||
BackgroundNormal=33,30,36
|
||||
DecorationFocus=216,186,250
|
||||
DecorationHover=216,186,250
|
||||
ForegroundActive=216,186,250
|
||||
ForegroundInactive=204,196,207
|
||||
ForegroundLink=242,183,192
|
||||
ForegroundNegative=255,180,171
|
||||
ForegroundNeutral=207,193,218
|
||||
ForegroundNormal=232,224,232
|
||||
ForegroundPositive=242,183,192
|
||||
ForegroundVisited=207,193,218
|
||||
|
||||
[Colors:View]
|
||||
BackgroundAlternate=29,26,32
|
||||
BackgroundNormal=21,18,24
|
||||
DecorationFocus=216,186,250
|
||||
DecorationHover=216,186,250
|
||||
ForegroundActive=216,186,250
|
||||
ForegroundInactive=204,196,207
|
||||
ForegroundLink=242,183,192
|
||||
ForegroundNegative=255,180,171
|
||||
ForegroundNeutral=207,193,218
|
||||
ForegroundNormal=232,224,232
|
||||
ForegroundPositive=242,183,192
|
||||
ForegroundVisited=207,193,218
|
||||
|
||||
[Colors:Window]
|
||||
BackgroundAlternate=33,30,36
|
||||
BackgroundNormal=21,18,24
|
||||
DecorationFocus=216,186,250
|
||||
DecorationHover=216,186,250
|
||||
ForegroundActive=216,186,250
|
||||
ForegroundInactive=204,196,207
|
||||
ForegroundLink=242,183,192
|
||||
ForegroundNegative=255,180,171
|
||||
ForegroundNeutral=207,193,218
|
||||
ForegroundNormal=232,224,232
|
||||
ForegroundPositive=242,183,192
|
||||
ForegroundVisited=207,193,218
|
||||
|
||||
[WM]
|
||||
activeBackground=33,30,36
|
||||
activeBlend=232,224,232
|
||||
activeForeground=232,224,232
|
||||
inactiveBackground=21,18,24
|
||||
inactiveBlend=204,196,207
|
||||
inactiveForeground=204,196,207
|
||||
32
dotfile/.config/qt6ct/qt6ct.conf
Normal file
32
dotfile/.config/qt6ct/qt6ct.conf
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
[Appearance]
|
||||
color_scheme_path=/nix/store/98gg14d1s8ihipla5iqxb34vsfqra7rg-qt6ct-0.11/share/qt6ct/colors/darker.conf
|
||||
custom_palette=true
|
||||
icon_theme=Fluent-dark
|
||||
standard_dialogs=gtk3
|
||||
style=Adwaita-Dark
|
||||
|
||||
[Fonts]
|
||||
fixed="JetBrainsMono Nerd Font,9,-1,5,300,0,0,0,0,0,0,0,0,0,0,1"
|
||||
general="JetBrainsMono Nerd Font,9,-1,5,300,0,0,0,0,0,0,0,0,0,0,1"
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=/nix/store/98gg14d1s8ihipla5iqxb34vsfqra7rg-qt6ct-0.11/share/qt6ct/qss/fusion-fixes.qss, /nix/store/98gg14d1s8ihipla5iqxb34vsfqra7rg-qt6ct-0.11/share/qt6ct/qss/scrollbar-simple.qss, /nix/store/98gg14d1s8ihipla5iqxb34vsfqra7rg-qt6ct-0.11/share/qt6ct/qss/sliders-simple.qss, /nix/store/98gg14d1s8ihipla5iqxb34vsfqra7rg-qt6ct-0.11/share/qt6ct/qss/tooltip-simple.qss
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[SettingsWindow]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\0\0\0\n^\0\0\x2\xb2\0\0\a\x80\0\0\0\0\0\0\n^\0\0\x2\xb2\0\0\0\x1\0\0\0\0\a\x80\0\0\a\x80\0\0\0\0\0\0\n^\0\0\x2\xb2)
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=2
|
||||
ignored_applications=/home/kirbara/.nix-profile/bin/copyq, /home/kirbara/.nix-profile/bin/.copyq-wrapped
|
||||
4
dotfile/.config/qt6ct/style-colors.conf
Normal file
4
dotfile/.config/qt6ct/style-colors.conf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[ColorScheme]
|
||||
active_colors=#ffeeeeec, #ff373737, #ff515151, #ff444444, #ff1e1e1e, #ff2a2a2a, #ffeeeeec, #ffffffff, #ffeeeeec, #ff2d2d2d, #ff353535, #19000000, #ff15539e, #ffffffff, #ff3584e4, #ff1b6acb, #ff2d2d2d, #ffffffff, #b2262626, #ffffffff, #ffeeeeec, #ff12608a
|
||||
disabled_colors=#ff808080, #ff424245, #ff979797, #ff5e5c5b, #ff302f2e, #ff4a4947, #ff808080, #ffffffff, #ff808080, #ff3d3d3d, #ff222020, #ffe7e4e0, #ff12608a, #ff808080, #ff0986d3, #ffa70b06, #ff5c5b5a, #ffffffff, #ff3f3f36, #ffffffff, #80ffffff, #ff12608a
|
||||
inactive_colors=#ffeeeeec, #ff373737, #ff515151, #ff444444, #ff1e1e1e, #ff2a2a2a, #ffeeeeec, #ffffffff, #ffeeeeec, #ff2d2d2d, #ff353535, #19000000, #ff15539e, #ffffffff, #ff3584e4, #ff1b6acb, #ff2d2d2d, #ffffffff, #b2262626, #ffffffff, #ffeeeeec, #ff12608a
|
||||
2
dotfile/.config/rofi/config.rasi
Normal file
2
dotfile/.config/rofi/config.rasi
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
@theme "/home/kirbara/.nix-profile/share/rofi/themes/Monokai.rasi"
|
||||
27
dotfile/.config/waypaper/config.ini
Normal file
27
dotfile/.config/waypaper/config.ini
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
[Settings]
|
||||
language = en
|
||||
folder = ~/wallpaper
|
||||
monitors = All
|
||||
wallpaper = ~/wallpaper/rover-wallpaper.jpg
|
||||
show_path_in_tooltip = True
|
||||
backend = swww
|
||||
fill = fill
|
||||
sort = name
|
||||
color = #ffffff
|
||||
subfolders = False
|
||||
all_subfolders = False
|
||||
show_hidden = False
|
||||
show_gifs_only = False
|
||||
zen_mode = False
|
||||
post_command =
|
||||
number_of_columns = 3
|
||||
swww_transition_type = grow
|
||||
swww_transition_step = 90
|
||||
swww_transition_angle = 0
|
||||
swww_transition_duration = 2
|
||||
swww_transition_fps = 60
|
||||
mpvpaper_sound = False
|
||||
mpvpaper_options =
|
||||
use_xdg_state = False
|
||||
stylesheet = /home/kirbaranixos/.config/waypaper/style.css
|
||||
|
||||
26
dotfile/.config/xfce4/labwc/environment
Normal file
26
dotfile/.config/xfce4/labwc/environment
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Example environment file for Xfce
|
||||
# See also example config files shipped with labwc
|
||||
|
||||
##
|
||||
## Use the XKB_DEFAULT_LAYOUT variable to set the keyboard layout. For example
|
||||
## to start with Swedish keyboard layout set it to 'se'. If you are unsure what
|
||||
## your country code is, refer to the layout section of:
|
||||
## /usr/share/X11/xkb/rules/evdev.lst
|
||||
##
|
||||
## Multiple keyboard layouts can be set by comma-separating the country codes.
|
||||
## If a variant layout is needed, the syntax is layout(variant)
|
||||
## If multiple layouts are used, specify the toggle-keybind using
|
||||
## XKB_DEFAULT_OPTIONS as show below.
|
||||
##
|
||||
## For further details, see xkeyboard-config(7)
|
||||
##
|
||||
|
||||
XKB_DEFAULT_LAYOUT=/nix/store/6iy6cgmxr0yvdamffp9h85ja71lw9ra7(xkb-console-keymap)
|
||||
XKB_DEFAULT_MODEL=pc104
|
||||
|
||||
##
|
||||
## Set cursor theme and size. Find system icons themes with:
|
||||
## `find /usr/share/icons/ -type d -name "cursors"`
|
||||
##
|
||||
|
||||
XCURSOR_THEME=Adwaita
|
||||
22
dotfile/.config/xfce4/labwc/menu.xml
Normal file
22
dotfile/.config/xfce4/labwc/menu.xml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openbox_menu>
|
||||
<menu id="root-menu" label="root-menu">
|
||||
<menu id="client-list-combined-menu" />
|
||||
<separator />
|
||||
<item label="Launcher"><action name="Execute" command="rofi -show drun" /></item>
|
||||
<separator />
|
||||
<menu id="Browser" label="Browser">
|
||||
<item label="Brave (Chromium)"><action name="Execute" command="brave" /></item>
|
||||
<item label="Librewolf (Firefox)"><action name="Execute" command="librewolf" /></item>
|
||||
</menu>
|
||||
<item label="Terminal"><action name="Execute" command="konsole" /></item>
|
||||
<item label="Text Editor"><action name="Execute" command="codium" /></item>
|
||||
<item label="File Manager"><action name="Execute" command="dolphin" /></item>
|
||||
<separator />
|
||||
<separator />
|
||||
<menu id="Exit" label="Exit">
|
||||
<item label="Reconfigure"><action name="Reconfigure" /></item>
|
||||
<item label="Logout"><action name="Execute" command="xfce4-session-logout" /></item>
|
||||
</menu>
|
||||
</menu>
|
||||
</openbox_menu>
|
||||
294
dotfile/.config/xfce4/labwc/rc.xml
Normal file
294
dotfile/.config/xfce4/labwc/rc.xml
Normal file
|
|
@ -0,0 +1,294 @@
|
|||
<?xml version="1.0"?>
|
||||
<labwc_config>
|
||||
|
||||
<theme>
|
||||
<name>Lean</name>
|
||||
<titlebar>
|
||||
<layout>menu,desk:iconify,max,close</layout>
|
||||
</titlebar>
|
||||
<dropShadows>yes</dropShadows>
|
||||
<keepBorder>yes</keepBorder>
|
||||
<animateIconify>yes</animateIconify>
|
||||
<cornerRadius>4</cornerRadius>
|
||||
<font place="ActiveWindow">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>8</size>
|
||||
<weight>Bold</weight>
|
||||
<slant>Normal</slant>
|
||||
</font>
|
||||
<font place="InactiveWindow">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>8</size>
|
||||
<weight>Normal</weight>
|
||||
<slant>Normal</slant>
|
||||
</font>
|
||||
<font place="MenuHeader">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>9</size>
|
||||
<weight>Normal</weight>
|
||||
<slant>Normal</slant>
|
||||
</font>
|
||||
<font place="MenuItem">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>9</size>
|
||||
<weight>Normal</weight>
|
||||
<slant>Normal</slant>
|
||||
</font>
|
||||
<font place="ActiveOnScreenDisplay">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>9</size>
|
||||
<weight>Normal</weight>
|
||||
<slant>Normal</slant>
|
||||
</font>
|
||||
<font place="InactiveOnScreenDisplay">
|
||||
<name>JetBrainsMono Nerd Font</name>
|
||||
<size>9</size>
|
||||
<weight>Normal</weight>
|
||||
<slant>Normal</slant>
|
||||
</font>
|
||||
</theme>
|
||||
|
||||
<margin>
|
||||
<top>16</top>
|
||||
<bottom>16</bottom>
|
||||
<left>16</left>
|
||||
<right>16</right>
|
||||
</margin>
|
||||
|
||||
<placement>
|
||||
<policy>automatic</policy>
|
||||
</placement>
|
||||
|
||||
<desktops number="4" />
|
||||
|
||||
<keyboard>
|
||||
|
||||
<default/>
|
||||
<!-- Use a different terminal emulator -->
|
||||
<keybind key="W-Return">
|
||||
<action name="Execute" command="konsole"/>
|
||||
</keybind>
|
||||
<!--
|
||||
Remove a previously defined keybind
|
||||
A shorter alternative is <keybind key="W-F4" />
|
||||
-->
|
||||
<keybind key="W-F4">
|
||||
<action name="None"/>
|
||||
</keybind>
|
||||
|
||||
<numlock>on</numlock>
|
||||
|
||||
<!-- launcher -->
|
||||
<keybind key="W-Space">
|
||||
<action name="Execute" command="rofi -show drun"/>
|
||||
</keybind>
|
||||
<!-- xfce key bindings -->
|
||||
<keybind key="XF86_AudioLowerVolume">
|
||||
<action name="Execute" command="amixer -D pulse sset Master 5%-" />
|
||||
</keybind>
|
||||
<keybind key="XF86_AudioRaiseVolume">
|
||||
<action name="Execute" command="amixer -D pulse sset Master 5%+" />
|
||||
</keybind>
|
||||
<keybind key="XF86_AudioMute">
|
||||
<action name="Execute" command="amixer -D pulse sset Master toggle" />
|
||||
</keybind>
|
||||
<keybind key="W-q">
|
||||
<action name="Close" />6
|
||||
</keybind>
|
||||
<keybind key="A-Tab">
|
||||
<action name="NextWindow" />
|
||||
</keybind>
|
||||
<keybind key="W-Tab">
|
||||
<action name="ToggleMaximize" />
|
||||
</keybind>
|
||||
<keybind key="W-1">
|
||||
<action name="GoToDesktop" to="1" />
|
||||
</keybind>
|
||||
<keybind key="W-2">
|
||||
<action name="GoToDesktop" to="2" />
|
||||
</keybind>
|
||||
<keybind key="W-3">
|
||||
<action name="GoToDesktop" to="3" />
|
||||
</keybind>
|
||||
<keybind key="W-4">
|
||||
<action name="GoToDesktop" to="4" />
|
||||
</keybind>
|
||||
<!-- screenshot -->
|
||||
<keybind key="Print">
|
||||
<action name="Execute">
|
||||
<command>~/.config/xfce4/labwc/screenshot-full.sh</command>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-Print">
|
||||
<action name="Execute">
|
||||
<command>~/.config/xfce4/labwc/screenshot-part.sh</command>
|
||||
</action>
|
||||
</keybind>
|
||||
</keyboard>
|
||||
|
||||
<mouse>
|
||||
<!-- time is in ms -->
|
||||
<doubleClickTime>500</doubleClickTime>
|
||||
<scrollFactor>1.0</scrollFactor>
|
||||
|
||||
<context name="Frame">
|
||||
<mousebind button="A-Left" action="Press">
|
||||
<action name="Focus" />
|
||||
<action name="Raise" />
|
||||
</mousebind>
|
||||
<mousebind button="A-Left" action="Drag">
|
||||
<action name="Move" />
|
||||
</mousebind>
|
||||
<mousebind button="A-Right" action="Press">
|
||||
<action name="Focus" />
|
||||
<action name="Raise" />
|
||||
</mousebind>
|
||||
<mousebind button="A-Right" action="Drag">
|
||||
<action name="Resize" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Top">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize" />
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Left">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize" />
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Right">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize" />
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Bottom">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize" />
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="TRCorner">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize" />
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="BRCorner">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize" />
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="TLCorner">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize" />
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="BLCorner">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="TitleBar">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus" />
|
||||
<action name="Raise" />
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Click">
|
||||
<action name="Focus" />
|
||||
<action name="Raise" />
|
||||
</mousebind>
|
||||
<mousebind direction="Up" action="Scroll">
|
||||
<action name="Unshade" />
|
||||
<action name="Focus" />
|
||||
</mousebind>
|
||||
<mousebind direction="Down" action="Scroll">
|
||||
<action name="Unfocus" />
|
||||
<action name="Shade" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Title">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Move" />
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="DoubleClick">
|
||||
<action name="ToggleMaximize" />
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Click">
|
||||
<action name="ShowMenu" menu="client-menu" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Maximize">
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleMaximize" />
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Click">
|
||||
<action name="ToggleMaximize" direction="horizontal" />
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Click">
|
||||
<action name="ToggleMaximize" direction="vertical" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="WindowMenu">
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ShowMenu" menu="client-menu" />
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Click">
|
||||
<action name="ShowMenu" menu="client-menu" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Iconify">
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="Iconify" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Close">
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="Close" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Client">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus" />
|
||||
<action name="Raise" />
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Focus" />
|
||||
<action name="Raise" />
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus" />
|
||||
<action name="Raise" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Root">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="ShowMenu" menu="root-menu" />
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="ShowMenu" menu="root-menu" />
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="ShowMenu" menu="root-menu" />
|
||||
</mousebind>
|
||||
<mousebind direction="W-Up" action="Scroll">
|
||||
<action name="GoToDesktop" to="left" wrap="yes" />
|
||||
</mousebind>
|
||||
<mousebind direction="W-Down" action="Scroll">
|
||||
<action name="GoToDesktop" to="right" wrap="yes" />
|
||||
</mousebind>
|
||||
</context>
|
||||
</mouse>
|
||||
|
||||
<snapping>
|
||||
<range>10</range>
|
||||
</snapping>
|
||||
|
||||
</labwc_config>
|
||||
16
dotfile/.config/xfce4/labwc/screenshot-full.sh
Executable file
16
dotfile/.config/xfce4/labwc/screenshot-full.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
|
||||
mkdir -p ~/resource/screenshot
|
||||
TIMESTAMP=$(date '+%Y-%m-%d_%H-%M-%S')
|
||||
FILENAME="$HOME/resource/screenshot/screenshot_${TIMESTAMP}.png"
|
||||
|
||||
grim "$FILENAME"
|
||||
|
||||
if [ -f "$FILENAME" ]; then
|
||||
wl-copy < "$FILENAME"
|
||||
notify-send "Screenshot" \
|
||||
"Saved & copied:\n$(basename "$FILENAME")\nGoshujin-sama!" \
|
||||
-i "$FILENAME"
|
||||
else
|
||||
notify-send "Screenshot" "Not saved!" -u critical
|
||||
fi
|
||||
22
dotfile/.config/xfce4/labwc/screenshot-part.sh
Executable file
22
dotfile/.config/xfce4/labwc/screenshot-part.sh
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
|
||||
mkdir -p ~/resource/screenshot
|
||||
TIMESTAMP=$(date '+%Y-%m-%d_%H-%M-%S')
|
||||
FILENAME="$HOME/resource/screenshot/screenshot_${TIMESTAMP}.png"
|
||||
|
||||
grim -g "$(slurp -o -r -c '#ff0000ff')" -t ppm - | \
|
||||
satty --filename - \
|
||||
--fullscreen \
|
||||
--initial-tool crop \
|
||||
--output-filename "$FILENAME" \
|
||||
--disable-notifications \
|
||||
--early-exit
|
||||
|
||||
if [ -f "$FILENAME" ]; then
|
||||
wl-copy < "$FILENAME"
|
||||
notify-send "Screenshot" \
|
||||
"Saved & copied:\n$(basename "$FILENAME")\nGoshujin-sama!" \
|
||||
-i "$FILENAME"
|
||||
else
|
||||
notify-send "Screenshot" "Not saved!" -u critical
|
||||
fi
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="displays" version="1.0">
|
||||
<property name="ActiveProfile" type="string" value="Default"/>
|
||||
<property name="Notify" type="int" value="3"/>
|
||||
<property name="AutoEnableProfiles" type="int" value="0"/>
|
||||
<property name="7dfa848c-06b9-44b7-a471-e2cab379fb6d" type="string" value="normal">
|
||||
<property name="DP-2" type="string" value="Acer Technologies VG240Y M3 3403011883W01 (DP-2)">
|
||||
<property name="EDID" type="string" value="8005022eb795ca171bc32b1f75df24d866db71aa"/>
|
||||
<property name="Active" type="bool" value="true"/>
|
||||
<property name="Resolution" type="string" value="1920x1080"/>
|
||||
<property name="RefreshRate" type="double" value="120"/>
|
||||
<property name="Rotation" type="int" value="0"/>
|
||||
<property name="Reflection" type="string" value="0"/>
|
||||
<property name="Scale" type="double" value="1"/>
|
||||
<property name="Position" type="empty">
|
||||
<property name="X" type="int" value="0"/>
|
||||
<property name="Y" type="int" value="0"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="HDMI-A-3" type="string" value="HAT Kamvas 13 0x01010101 (HDMI-A-3)">
|
||||
<property name="EDID" type="string" value="8b72023a7172d1ebe01af23ea0538b692959ff0f"/>
|
||||
<property name="Active" type="bool" value="true"/>
|
||||
<property name="Resolution" type="string" value="1920x1080"/>
|
||||
<property name="RefreshRate" type="double" value="60"/>
|
||||
<property name="Rotation" type="int" value="0"/>
|
||||
<property name="Reflection" type="string" value="0"/>
|
||||
<property name="Scale" type="double" value="1"/>
|
||||
<property name="Position" type="empty">
|
||||
<property name="X" type="int" value="0"/>
|
||||
<property name="Y" type="int" value="1080"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="Default" type="empty">
|
||||
<property name="HDMI-3" type="string" value="HAT 13"">
|
||||
<property name="Active" type="bool" value="true"/>
|
||||
<property name="EDID" type="string" value="5bc06f52130f7186d6b5df32bd65e26813f4cd8a"/>
|
||||
<property name="Resolution" type="string" value="1920x1080"/>
|
||||
<property name="RefreshRate" type="double" value="60"/>
|
||||
<property name="ModeFlags" type="uint64" value="5"/>
|
||||
<property name="Rotation" type="int" value="0"/>
|
||||
<property name="Reflection" type="string" value="0"/>
|
||||
<property name="Primary" type="bool" value="false"/>
|
||||
<property name="Scale" type="double" value="1"/>
|
||||
<property name="Position" type="empty">
|
||||
<property name="X" type="int" value="0"/>
|
||||
<property name="Y" type="int" value="1080"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="DP-1-2" type="string" value="Acer 24"">
|
||||
<property name="Active" type="bool" value="true"/>
|
||||
<property name="EDID" type="string" value="08844670f589eb9df2eed53862fabcab803abee6"/>
|
||||
<property name="Resolution" type="string" value="1920x1080"/>
|
||||
<property name="RefreshRate" type="double" value="120"/>
|
||||
<property name="ModeFlags" type="uint64" value="5"/>
|
||||
<property name="Rotation" type="int" value="0"/>
|
||||
<property name="Reflection" type="string" value="0"/>
|
||||
<property name="Primary" type="bool" value="false"/>
|
||||
<property name="Scale" type="double" value="1"/>
|
||||
<property name="Position" type="empty">
|
||||
<property name="X" type="int" value="0"/>
|
||||
<property name="Y" type="int" value="0"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="keyboards" version="1.0">
|
||||
<property name="Default" type="empty">
|
||||
<property name="Numlock" type="bool" value="false"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-desktop" version="1.0">
|
||||
<property name="last-settings-migration-version" type="uint" value="1"/>
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="653"/>
|
||||
<property name="window-height" type="int" value="571"/>
|
||||
</property>
|
||||
<property name="backdrop" type="empty">
|
||||
<property name="screen0" type="empty">
|
||||
<property name="monitorDisplayPort-2" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="backdrop-cycle-enable" type="bool" value="false"/>
|
||||
<property name="rgba1" type="array">
|
||||
<value type="double" value="0.75"/>
|
||||
<value type="double" value="0.25"/>
|
||||
<value type="double" value="0.25"/>
|
||||
<value type="double" value="1"/>
|
||||
</property>
|
||||
<property name="last-image" type="string" value="/home/kirbaranixos/Pictures/wallpaper.jpg"/>
|
||||
<property name="color-style" type="int" value="3"/>
|
||||
<property name="image-style" type="int" value="4"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorVG240YM3" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="last-image" type="string" value="/home/kirbaranixos/Pictures/wallpaper.jpg"/>
|
||||
<property name="rgba1" type="array">
|
||||
<value type="double" value="0"/>
|
||||
<value type="double" value="0"/>
|
||||
<value type="double" value="0"/>
|
||||
<value type="double" value="1"/>
|
||||
</property>
|
||||
<property name="image-style" type="int" value="4"/>
|
||||
<property name="backdrop-cycle-enable" type="bool" value="true"/>
|
||||
<property name="color-style" type="int" value="1"/>
|
||||
<property name="backdrop-cycle-period" type="int" value="1"/>
|
||||
<property name="backdrop-cycle-timer" type="uint" value="5"/>
|
||||
<property name="backdrop-cycle-random-order" type="bool" value="false"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorDisplayPort-1" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="last-image" type="string" value="/home/kirbaranixos/Pictures/wallpaper.jpg"/>
|
||||
<property name="rgba1" type="array">
|
||||
<value type="double" value="0"/>
|
||||
<value type="double" value="0"/>
|
||||
<value type="double" value="0"/>
|
||||
<value type="double" value="1"/>
|
||||
</property>
|
||||
<property name="image-style" type="int" value="4"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="single-workspace-mode" type="bool" value="true"/>
|
||||
<property name="single-workspace-number" type="int" value="0"/>
|
||||
</property>
|
||||
<property name="desktop-icons" type="empty">
|
||||
<property name="style" type="int" value="0"/>
|
||||
</property>
|
||||
<property name="desktop-menu" type="empty">
|
||||
<property name="show" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="windowlist-menu" type="empty">
|
||||
<property name="show" type="bool" value="true"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,196 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-keyboard-shortcuts" version="1.0">
|
||||
<property name="commands" type="empty">
|
||||
<property name="default" type="empty">
|
||||
<property name="<Alt>F1" type="empty"/>
|
||||
<property name="<Alt>F2" type="empty">
|
||||
<property name="startup-notify" type="empty"/>
|
||||
</property>
|
||||
<property name="<Alt>F3" type="empty">
|
||||
<property name="startup-notify" type="empty"/>
|
||||
</property>
|
||||
<property name="<Primary><Alt>Delete" type="empty"/>
|
||||
<property name="<Primary><Alt>l" type="empty"/>
|
||||
<property name="<Primary><Alt>t" type="empty"/>
|
||||
<property name="XF86Display" type="empty"/>
|
||||
<property name="<Super>p" type="empty"/>
|
||||
<property name="<Primary>Escape" type="empty"/>
|
||||
<property name="XF86WWW" type="empty"/>
|
||||
<property name="HomePage" type="empty"/>
|
||||
<property name="XF86Mail" type="empty"/>
|
||||
<property name="Print" type="empty"/>
|
||||
<property name="<Alt>Print" type="empty"/>
|
||||
<property name="<Shift>Print" type="empty"/>
|
||||
<property name="<Super>e" type="empty"/>
|
||||
<property name="<Primary><Alt>f" type="empty"/>
|
||||
<property name="<Primary><Alt>Escape" type="empty"/>
|
||||
<property name="<Primary><Shift>Escape" type="empty"/>
|
||||
<property name="<Super>r" type="empty">
|
||||
<property name="startup-notify" type="empty"/>
|
||||
</property>
|
||||
<property name="<Alt><Super>s" type="empty"/>
|
||||
</property>
|
||||
<property name="custom" type="empty">
|
||||
<property name="<Alt>F2" type="string" value="xfce4-appfinder --collapsed">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="<Alt>Print" type="string" value="xfce4-screenshooter -w"/>
|
||||
<property name="<Super>r" type="string" value="xfce4-appfinder -c">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
|
||||
<property name="XF86Mail" type="string" value="exo-open --launch MailReader"/>
|
||||
<property name="<Alt>F3" type="string" value="xfce4-appfinder">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="Print" type="string" value="xfce4-screenshooter"/>
|
||||
<property name="<Primary>Escape" type="string" value="xfdesktop --menu"/>
|
||||
<property name="<Shift>Print" type="string" value="xfce4-screenshooter -r"/>
|
||||
<property name="<Primary><Alt>Delete" type="string" value="xfce4-session-logout"/>
|
||||
<property name="<Alt><Super>s" type="string" value="orca"/>
|
||||
<property name="<Primary><Alt>t" type="string" value="exo-open --launch TerminalEmulator"/>
|
||||
<property name="<Primary><Alt>f" type="string" value="thunar"/>
|
||||
<property name="<Primary><Alt>l" type="string" value="xflock4"/>
|
||||
<property name="<Alt>F1" type="string" value="xfce4-popup-applicationsmenu"/>
|
||||
<property name="<Super>p" type="string" value="xfce4-display-settings --minimal"/>
|
||||
<property name="<Primary><Shift>Escape" type="string" value="xfce4-taskmanager"/>
|
||||
<property name="<Super>e" type="string" value="thunar"/>
|
||||
<property name="<Primary><Alt>Escape" type="string" value="xkill"/>
|
||||
<property name="HomePage" type="string" value="exo-open --launch WebBrowser"/>
|
||||
<property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/>
|
||||
<property name="override" type="bool" value="true"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="xfwm4" type="empty">
|
||||
<property name="default" type="empty">
|
||||
<property name="<Alt>Insert" type="empty"/>
|
||||
<property name="Escape" type="empty"/>
|
||||
<property name="Left" type="empty"/>
|
||||
<property name="Right" type="empty"/>
|
||||
<property name="Up" type="empty"/>
|
||||
<property name="Down" type="empty"/>
|
||||
<property name="<Alt>Tab" type="empty"/>
|
||||
<property name="<Alt><Shift>Tab" type="empty"/>
|
||||
<property name="<Alt>Delete" type="empty"/>
|
||||
<property name="<Primary><Alt>Down" type="empty"/>
|
||||
<property name="<Primary><Alt>Left" type="empty"/>
|
||||
<property name="<Shift><Alt>Page_Down" type="empty"/>
|
||||
<property name="<Alt>F4" type="empty"/>
|
||||
<property name="<Alt>F6" type="empty"/>
|
||||
<property name="<Alt>F7" type="empty"/>
|
||||
<property name="<Alt>F8" type="empty"/>
|
||||
<property name="<Alt>F9" type="empty"/>
|
||||
<property name="<Alt>F10" type="empty"/>
|
||||
<property name="<Alt>F11" type="empty"/>
|
||||
<property name="<Alt>F12" type="empty"/>
|
||||
<property name="<Primary><Shift><Alt>Left" type="empty"/>
|
||||
<property name="<Primary><Alt>End" type="empty"/>
|
||||
<property name="<Primary><Alt>Home" type="empty"/>
|
||||
<property name="<Primary><Shift><Alt>Right" type="empty"/>
|
||||
<property name="<Primary><Shift><Alt>Up" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_1" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_2" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_3" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_4" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_5" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_6" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_7" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_8" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_9" type="empty"/>
|
||||
<property name="<Alt>space" type="empty"/>
|
||||
<property name="<Shift><Alt>Page_Up" type="empty"/>
|
||||
<property name="<Primary><Alt>Right" type="empty"/>
|
||||
<property name="<Primary><Alt>d" type="empty"/>
|
||||
<property name="<Primary><Alt>Up" type="empty"/>
|
||||
<property name="<Super>Tab" type="empty"/>
|
||||
<property name="<Primary>F1" type="empty"/>
|
||||
<property name="<Primary>F2" type="empty"/>
|
||||
<property name="<Primary>F3" type="empty"/>
|
||||
<property name="<Primary>F4" type="empty"/>
|
||||
<property name="<Primary>F5" type="empty"/>
|
||||
<property name="<Primary>F6" type="empty"/>
|
||||
<property name="<Primary>F7" type="empty"/>
|
||||
<property name="<Primary>F8" type="empty"/>
|
||||
<property name="<Primary>F9" type="empty"/>
|
||||
<property name="<Primary>F10" type="empty"/>
|
||||
<property name="<Primary>F11" type="empty"/>
|
||||
<property name="<Primary>F12" type="empty"/>
|
||||
<property name="<Super>KP_Left" type="empty"/>
|
||||
<property name="<Super>KP_Right" type="empty"/>
|
||||
<property name="<Super>KP_Down" type="empty"/>
|
||||
<property name="<Super>KP_Up" type="empty"/>
|
||||
<property name="<Super>KP_Page_Up" type="empty"/>
|
||||
<property name="<Super>KP_Home" type="empty"/>
|
||||
<property name="<Super>KP_End" type="empty"/>
|
||||
<property name="<Super>KP_Next" type="empty"/>
|
||||
</property>
|
||||
<property name="custom" type="empty">
|
||||
<property name="<Primary>F12" type="string" value="workspace_12_key"/>
|
||||
<property name="<Super>KP_Down" type="string" value="tile_down_key"/>
|
||||
<property name="<Alt>F4" type="string" value="close_window_key"/>
|
||||
<property name="<Primary><Alt>KP_3" type="string" value="move_window_workspace_3_key"/>
|
||||
<property name="<Primary>F2" type="string" value="workspace_2_key"/>
|
||||
<property name="<Primary>F6" type="string" value="workspace_6_key"/>
|
||||
<property name="<Primary><Alt>Down" type="string" value="down_workspace_key"/>
|
||||
<property name="<Primary><Alt>KP_9" type="string" value="move_window_workspace_9_key"/>
|
||||
<property name="<Super>KP_Up" type="string" value="tile_up_key"/>
|
||||
<property name="<Primary><Alt>End" type="string" value="move_window_next_workspace_key"/>
|
||||
<property name="<Primary>F8" type="string" value="workspace_8_key"/>
|
||||
<property name="<Primary><Shift><Alt>Left" type="string" value="move_window_left_key"/>
|
||||
<property name="<Super>KP_Right" type="string" value="tile_right_key"/>
|
||||
<property name="<Primary><Alt>KP_4" type="string" value="move_window_workspace_4_key"/>
|
||||
<property name="Right" type="string" value="right_key"/>
|
||||
<property name="Down" type="string" value="down_key"/>
|
||||
<property name="<Primary>F3" type="string" value="workspace_3_key"/>
|
||||
<property name="<Shift><Alt>Page_Down" type="string" value="lower_window_key"/>
|
||||
<property name="<Primary>F9" type="string" value="workspace_9_key"/>
|
||||
<property name="<Alt>Tab" type="string" value="cycle_windows_key"/>
|
||||
<property name="<Primary><Shift><Alt>Right" type="string" value="move_window_right_key"/>
|
||||
<property name="<Primary><Alt>Right" type="string" value="right_workspace_key"/>
|
||||
<property name="<Alt>F6" type="string" value="stick_window_key"/>
|
||||
<property name="<Primary><Alt>KP_5" type="string" value="move_window_workspace_5_key"/>
|
||||
<property name="<Primary>F11" type="string" value="workspace_11_key"/>
|
||||
<property name="<Alt>F10" type="string" value="maximize_window_key"/>
|
||||
<property name="<Alt>Delete" type="string" value="del_workspace_key"/>
|
||||
<property name="<Super>Tab" type="string" value="switch_window_key"/>
|
||||
<property name="<Primary><Alt>d" type="string" value="show_desktop_key"/>
|
||||
<property name="<Primary>F4" type="string" value="workspace_4_key"/>
|
||||
<property name="<Super>KP_Page_Up" type="string" value="tile_up_right_key"/>
|
||||
<property name="<Alt>F7" type="string" value="move_window_key"/>
|
||||
<property name="Up" type="string" value="up_key"/>
|
||||
<property name="<Primary><Alt>KP_6" type="string" value="move_window_workspace_6_key"/>
|
||||
<property name="<Alt>F11" type="string" value="fullscreen_key"/>
|
||||
<property name="<Alt>space" type="string" value="popup_menu_key"/>
|
||||
<property name="<Super>KP_Home" type="string" value="tile_up_left_key"/>
|
||||
<property name="Escape" type="string" value="cancel_key"/>
|
||||
<property name="<Primary><Alt>KP_1" type="string" value="move_window_workspace_1_key"/>
|
||||
<property name="<Super>KP_Next" type="string" value="tile_down_right_key"/>
|
||||
<property name="<Super>KP_Left" type="string" value="tile_left_key"/>
|
||||
<property name="<Shift><Alt>Page_Up" type="string" value="raise_window_key"/>
|
||||
<property name="<Primary><Alt>Home" type="string" value="move_window_prev_workspace_key"/>
|
||||
<property name="<Alt><Shift>Tab" type="string" value="cycle_reverse_windows_key"/>
|
||||
<property name="<Primary><Alt>Left" type="string" value="left_workspace_key"/>
|
||||
<property name="<Alt>F12" type="string" value="above_key"/>
|
||||
<property name="<Primary><Shift><Alt>Up" type="string" value="move_window_up_key"/>
|
||||
<property name="<Primary>F5" type="string" value="workspace_5_key"/>
|
||||
<property name="<Alt>F8" type="string" value="resize_window_key"/>
|
||||
<property name="<Primary><Alt>KP_7" type="string" value="move_window_workspace_7_key"/>
|
||||
<property name="<Primary><Alt>KP_2" type="string" value="move_window_workspace_2_key"/>
|
||||
<property name="<Super>KP_End" type="string" value="tile_down_left_key"/>
|
||||
<property name="<Primary><Alt>Up" type="string" value="up_workspace_key"/>
|
||||
<property name="<Alt>F9" type="string" value="hide_window_key"/>
|
||||
<property name="<Primary>F7" type="string" value="workspace_7_key"/>
|
||||
<property name="<Primary>F10" type="string" value="workspace_10_key"/>
|
||||
<property name="Left" type="string" value="left_key"/>
|
||||
<property name="<Primary><Alt>KP_8" type="string" value="move_window_workspace_8_key"/>
|
||||
<property name="<Alt>Insert" type="string" value="add_workspace_key"/>
|
||||
<property name="<Primary>F1" type="string" value="workspace_1_key"/>
|
||||
<property name="override" type="bool" value="true"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="providers" type="array">
|
||||
<value type="string" value="commands"/>
|
||||
<value type="string" value="xfwm4"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-mime-settings" version="1.0">
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="600"/>
|
||||
<property name="window-height" type="int" value="450"/>
|
||||
<property name="mime-width" type="int" value="300"/>
|
||||
<property name="status-width" type="int" value="75"/>
|
||||
<property name="default-width" type="int" value="181"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-notifyd" version="1.0">
|
||||
<property name="log-max-size-enabled" type="bool" value="true"/>
|
||||
<property name="applications" type="empty">
|
||||
<property name="known_applications" type="array">
|
||||
<value type="string" value="blueman"/>
|
||||
<value type="string" value="com.github.hluk.copyq"/>
|
||||
<value type="string" value="com.usebottles.bottles"/>
|
||||
<value type="string" value="flameshot"/>
|
||||
<value type="string" value="it.mijorus.smile"/>
|
||||
<value type="string" value="obsidian"/>
|
||||
<value type="string" value="org.freedesktop.network-manager-applet"/>
|
||||
<value type="string" value="org.xfce.Thunar"/>
|
||||
<value type="string" value="Xfce volume control"/>
|
||||
<value type="string" value="Xfce volume daemon"/>
|
||||
<value type="string" value="xfce4-settings-helper"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="date-time-custom-format" type="string" value="%a %H:%M:%S"/>
|
||||
</channel>
|
||||
111
dotfile/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
Normal file
111
dotfile/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-panel" version="1.0">
|
||||
<property name="configver" type="int" value="2"/>
|
||||
<property name="panels" type="array">
|
||||
<value type="int" value="1"/>
|
||||
<value type="int" value="2"/>
|
||||
<property name="dark-mode" type="bool" value="false"/>
|
||||
<property name="panel-1" type="empty">
|
||||
<property name="background-rgba" type="array">
|
||||
<value type="double" value="0.15128888888888892"/>
|
||||
<value type="double" value="0.3066666666666667"/>
|
||||
<value type="double" value="0.23107747747747753"/>
|
||||
<value type="double" value="1"/>
|
||||
</property>
|
||||
<property name="background-style" type="uint" value="0"/>
|
||||
<property name="plugin-ids" type="array">
|
||||
<value type="int" value="13"/>
|
||||
<value type="int" value="3"/>
|
||||
<value type="int" value="1"/>
|
||||
<value type="int" value="4"/>
|
||||
<value type="int" value="11"/>
|
||||
<value type="int" value="6"/>
|
||||
</property>
|
||||
<property name="position" type="string" value="p=12;x=3712;y=1071"/>
|
||||
<property name="position-locked" type="bool" value="false"/>
|
||||
<property name="size" type="uint" value="16"/>
|
||||
<property name="length" type="double" value="1.3541666666666667"/>
|
||||
<property name="length-adjust" type="bool" value="true"/>
|
||||
<property name="output-name" type="string" value="VG240Y M3"/>
|
||||
<property name="enable-struts" type="bool" value="false"/>
|
||||
<property name="span-monitors" type="bool" value="true"/>
|
||||
<property name="enter-opacity" type="uint" value="100"/>
|
||||
<property name="leave-opacity" type="uint" value="100"/>
|
||||
</property>
|
||||
<property name="panel-2" type="empty">
|
||||
<property name="position" type="string" value="p=12;x=2256;y=1072"/>
|
||||
<property name="size" type="uint" value="16"/>
|
||||
<property name="enable-struts" type="bool" value="false"/>
|
||||
<property name="plugin-ids" type="array">
|
||||
<value type="int" value="2"/>
|
||||
</property>
|
||||
<property name="leave-opacity" type="uint" value="0"/>
|
||||
<property name="background-style" type="uint" value="1"/>
|
||||
<property name="background-rgba" type="array">
|
||||
<value type="double" value="0.12156862745098039"/>
|
||||
<value type="double" value="0.12156862745098039"/>
|
||||
<value type="double" value="0.12156862745098039"/>
|
||||
<value type="double" value="0.80000000000000004"/>
|
||||
</property>
|
||||
<property name="icon-size" type="uint" value="0"/>
|
||||
<property name="enter-opacity" type="uint" value="100"/>
|
||||
<property name="length" type="double" value="33.385416666666657"/>
|
||||
<property name="length-adjust" type="bool" value="false"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugins" type="empty">
|
||||
<property name="plugin-1" type="string" value="pulseaudio">
|
||||
<property name="enable-keyboard-shortcuts" type="bool" value="true"/>
|
||||
<property name="known-players" type="string" value="Brave;mpc-qt;obsidian;org.kde.haruna;rage;zen"/>
|
||||
</property>
|
||||
<property name="plugin-3" type="string" value="systray">
|
||||
<property name="known-items" type="array">
|
||||
<value type="string" value="proton-vpn-app"/>
|
||||
<value type="string" value="flameshot"/>
|
||||
<value type="string" value="steam"/>
|
||||
<value type="string" value="albert"/>
|
||||
<value type="string" value="CopyQ_copyq"/>
|
||||
<value type="string" value="blueman"/>
|
||||
<value type="string" value="nm-applet"/>
|
||||
</property>
|
||||
<property name="known-legacy-items" type="array">
|
||||
<value type="string" value="javaembeddedframe"/>
|
||||
<value type="string" value="wi-fi network connection “all stay kost lt 2” active: all stay kost lt 2 (54%)"/>
|
||||
<value type="string" value="wi-fi network connection “all stay kost lt 2” active: all stay kost lt 2 (59%)"/>
|
||||
<value type="string" value="albert"/>
|
||||
<value type="string" value="blueman"/>
|
||||
<value type="string" value="wi-fi network connection “all stay kost lt 2” active: all stay kost lt 2 (63%)"/>
|
||||
<value type="string" value="networkmanager applet"/>
|
||||
</property>
|
||||
<property name="hidden-items" type="array">
|
||||
</property>
|
||||
<property name="square-icons" type="bool" value="false"/>
|
||||
<property name="hide-new-items" type="bool" value="false"/>
|
||||
<property name="single-row" type="bool" value="false"/>
|
||||
<property name="menu-is-primary" type="bool" value="true"/>
|
||||
<property name="icon-size" type="int" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-11" type="string" value="clock">
|
||||
<property name="digital-layout" type="uint" value="3"/>
|
||||
<property name="digital-date-format" type="string" value="%A, %B %d, %Y"/>
|
||||
<property name="digital-time-format" type="string" value="%T %A %d"/>
|
||||
</property>
|
||||
<property name="plugin-13" type="string" value="separator">
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-4" type="string" value="separator">
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-6" type="string" value="separator">
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-2" type="string" value="tasklist">
|
||||
<property name="show-labels" type="bool" value="true"/>
|
||||
<property name="sort-order" type="uint" value="4"/>
|
||||
<property name="show-only-minimized" type="bool" value="false"/>
|
||||
<property name="show-tooltips" type="bool" value="true"/>
|
||||
<property name="show-handle" type="bool" value="true"/>
|
||||
</property>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-screensaver" version="1.0">
|
||||
<property name="saver" type="empty">
|
||||
<property name="mode" type="int" value="2"/>
|
||||
<property name="themes" type="empty">
|
||||
<property name="list" type="array">
|
||||
<value type="string" value="screensavers-xfce-floaters"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="lock" type="empty">
|
||||
<property name="enabled" type="bool" value="false"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-session" version="1.0">
|
||||
<property name="general" type="empty">
|
||||
<property name="FailsafeSessionName" type="empty"/>
|
||||
<property name="LockCommand" type="empty"/>
|
||||
<property name="SessionName" type="string" value="Default"/>
|
||||
</property>
|
||||
<property name="sessions" type="empty">
|
||||
<property name="Failsafe" type="empty">
|
||||
<property name="IsFailsafe" type="empty"/>
|
||||
<property name="Count" type="empty"/>
|
||||
<property name="Client0_Command" type="array">
|
||||
<value type="string" value="compiz"/>
|
||||
</property>
|
||||
<property name="Client0_Priority" type="empty"/>
|
||||
<property name="Client0_PerScreen" type="empty"/>
|
||||
<property name="Client1_Command" type="array">
|
||||
<value type="string" value="xfsettingsd"/>
|
||||
</property>
|
||||
<property name="Client1_Priority" type="empty"/>
|
||||
<property name="Client1_PerScreen" type="empty"/>
|
||||
<property name="Client2_Command" type="empty"/>
|
||||
<property name="Client2_Priority" type="empty"/>
|
||||
<property name="Client2_PerScreen" type="empty"/>
|
||||
<property name="Client3_Command" type="empty"/>
|
||||
<property name="Client3_Priority" type="empty"/>
|
||||
<property name="Client3_PerScreen" type="empty"/>
|
||||
<property name="Client4_Command" type="empty"/>
|
||||
<property name="Client4_Priority" type="empty"/>
|
||||
<property name="Client4_PerScreen" type="empty"/>
|
||||
</property>
|
||||
<property name="FailsafeWayland" type="empty">
|
||||
<property name="IsFailsafe" type="empty"/>
|
||||
<property name="Count" type="empty"/>
|
||||
<property name="Client0_Command" type="empty"/>
|
||||
<property name="Client0_Priority" type="empty"/>
|
||||
<property name="Client0_PerScreen" type="empty"/>
|
||||
<property name="Client1_Command" type="empty"/>
|
||||
<property name="Client1_Priority" type="empty"/>
|
||||
<property name="Client1_PerScreen" type="empty"/>
|
||||
<property name="Client2_Command" type="empty"/>
|
||||
<property name="Client2_Priority" type="empty"/>
|
||||
<property name="Client2_PerScreen" type="empty"/>
|
||||
<property name="Client3_Command" type="empty"/>
|
||||
<property name="Client3_Priority" type="empty"/>
|
||||
<property name="Client3_PerScreen" type="empty"/>
|
||||
</property>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-settings-editor" version="1.0">
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="1320"/>
|
||||
<property name="window-height" type="int" value="848"/>
|
||||
<property name="paned-position" type="int" value="180"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-settings-manager" version="1.0">
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="718"/>
|
||||
<property name="window-height" type="int" value="596"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-taskmanager" version="1.0">
|
||||
<property name="interface" type="empty">
|
||||
<property name="show-all-processes" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="columns" type="empty">
|
||||
<property name="column-priority" type="bool" value="true"/>
|
||||
<property name="column-vsz" type="bool" value="true"/>
|
||||
<property name="sort-type" type="uint" value="1"/>
|
||||
<property name="sort-id" type="uint" value="7"/>
|
||||
</property>
|
||||
<property name="window-maximized" type="bool" value="false"/>
|
||||
<property name="window-width" type="int" value="781"/>
|
||||
<property name="window-height" type="int" value="600"/>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-volumed-pulse" version="1.0">
|
||||
<property name="icon-style" type="uint" value="0"/>
|
||||
<property name="volume-step-size" type="uint" value="5"/>
|
||||
</channel>
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="string" value="Fluent-Dark-compact"/>
|
||||
<property name="IconThemeName" type="string" value="Fluent-dark"/>
|
||||
<property name="DoubleClickTime" type="empty"/>
|
||||
<property name="DoubleClickDistance" type="empty"/>
|
||||
<property name="DndDragThreshold" type="empty"/>
|
||||
<property name="CursorBlink" type="empty"/>
|
||||
<property name="CursorBlinkTime" type="empty"/>
|
||||
<property name="SoundThemeName" type="empty"/>
|
||||
<property name="EnableEventSounds" type="empty"/>
|
||||
<property name="EnableInputFeedbackSounds" type="empty"/>
|
||||
</property>
|
||||
<property name="Xft" type="empty">
|
||||
<property name="DPI" type="empty"/>
|
||||
<property name="Antialias" type="empty"/>
|
||||
<property name="Hinting" type="empty"/>
|
||||
<property name="HintStyle" type="empty"/>
|
||||
<property name="RGBA" type="empty"/>
|
||||
</property>
|
||||
<property name="Gtk" type="empty">
|
||||
<property name="CanChangeAccels" type="empty"/>
|
||||
<property name="ColorPalette" type="empty"/>
|
||||
<property name="FontName" type="string" value="JetBrainsMono Nerd Font Light 9"/>
|
||||
<property name="MonospaceFontName" type="empty"/>
|
||||
<property name="IconSizes" type="empty"/>
|
||||
<property name="KeyThemeName" type="empty"/>
|
||||
<property name="MenuImages" type="empty"/>
|
||||
<property name="ButtonImages" type="empty"/>
|
||||
<property name="MenuBarAccel" type="empty"/>
|
||||
<property name="CursorThemeName" type="string" value="Adwaita"/>
|
||||
<property name="CursorThemeSize" type="int" value="16"/>
|
||||
<property name="DecorationLayout" type="string" value="icon,menu:minimize,maximize,close"/>
|
||||
<property name="DialogsUseHeader" type="empty"/>
|
||||
<property name="TitlebarMiddleClick" type="empty"/>
|
||||
</property>
|
||||
<property name="Gdk" type="empty">
|
||||
<property name="WindowScalingFactor" type="empty"/>
|
||||
</property>
|
||||
<property name="Xfce" type="empty">
|
||||
<property name="SyncThemes" type="bool" value="false"/>
|
||||
</property>
|
||||
</channel>
|
||||
9
dotfile/.local/share/konsole/simple-konsole.profile
Normal file
9
dotfile/.local/share/konsole/simple-konsole.profile
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[Appearance]
|
||||
ColorScheme=DarkPastels
|
||||
|
||||
[General]
|
||||
Name=simple-konsole
|
||||
Parent=FALLBACK/
|
||||
|
||||
[Scrolling]
|
||||
ScrollBarPosition=2
|
||||
Binary file not shown.
4
dotfile/.themes/openbox-lean/openbox-3/bullet.xbm
Normal file
4
dotfile/.themes/openbox-lean/openbox-3/bullet.xbm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define bullet_width 8
|
||||
#define bullet_height 8
|
||||
static unsigned char bullet_bits[] = {
|
||||
0x00, 0x08, 0x10, 0x20, 0x20, 0x10, 0x08, 0x00 };
|
||||
4
dotfile/.themes/openbox-lean/openbox-3/close.xbm
Normal file
4
dotfile/.themes/openbox-lean/openbox-3/close.xbm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define close_width 8
|
||||
#define close_height 8
|
||||
static unsigned char close_bits[] = {
|
||||
0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81 };
|
||||
4
dotfile/.themes/openbox-lean/openbox-3/desk.xbm
Normal file
4
dotfile/.themes/openbox-lean/openbox-3/desk.xbm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define desk_width 8
|
||||
#define desk_height 8
|
||||
static unsigned char desk_bits[] = {
|
||||
0x18, 0x24, 0x42, 0x81, 0x81, 0x42, 0x24, 0x18 };
|
||||
4
dotfile/.themes/openbox-lean/openbox-3/desk_toggled.xbm
Normal file
4
dotfile/.themes/openbox-lean/openbox-3/desk_toggled.xbm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define desk_toggled_width 8
|
||||
#define desk_toggled_height 8
|
||||
static unsigned char desk_toggled_bits[] = {
|
||||
0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18 };
|
||||
4
dotfile/.themes/openbox-lean/openbox-3/iconify.xbm
Normal file
4
dotfile/.themes/openbox-lean/openbox-3/iconify.xbm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define iconify_width 8
|
||||
#define iconify_height 8
|
||||
static unsigned char iconify_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff };
|
||||
4
dotfile/.themes/openbox-lean/openbox-3/max.xbm
Normal file
4
dotfile/.themes/openbox-lean/openbox-3/max.xbm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define max_width 8
|
||||
#define max_height 8
|
||||
static unsigned char max_bits[] = {
|
||||
0xff, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xff };
|
||||
4
dotfile/.themes/openbox-lean/openbox-3/max_toggled.xbm
Normal file
4
dotfile/.themes/openbox-lean/openbox-3/max_toggled.xbm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define max_toggled_width 8
|
||||
#define max_toggled_height 8
|
||||
static unsigned char max_toggled_bits[] = {
|
||||
0xfc, 0x80, 0xbf, 0xa1, 0xa1, 0xa1, 0x21, 0x3f };
|
||||
233
dotfile/.themes/openbox-lean/openbox-3/set.py
Executable file
233
dotfile/.themes/openbox-lean/openbox-3/set.py
Executable file
|
|
@ -0,0 +1,233 @@
|
|||
#!/usr/bin/env python
|
||||
import gi; gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, Gdk
|
||||
from functools import reduce
|
||||
import sys, os, re
|
||||
|
||||
|
||||
|
||||
|
||||
Colors = {
|
||||
'AB' : { 'Name' : 'Active Back', 'Default' : '#579c8e' },
|
||||
'AF' : { 'Name' : 'Active Fore', 'Default' : '#ffffff' },
|
||||
'AL' : { 'Name' : 'Active Line', 'Default' : '#292929' },
|
||||
'NB' : { 'Name' : 'Normal Back', 'Default' : '#383838' },
|
||||
'NF' : { 'Name' : 'Normal Fore', 'Default' : '#dadada' },
|
||||
'NL' : { 'Name' : 'Normal Line', 'Default' : '#292929' },
|
||||
}
|
||||
|
||||
Options = {
|
||||
'B?' : { 'Name' : 'Borders', 'Default' : True },
|
||||
'H?' : { 'Name' : 'Active Handle', 'Default' : False },
|
||||
'G?' : { 'Name' : 'Gradients', 'Default' : False },
|
||||
'R?' : { 'Name' : 'Raised', 'Default' : False },
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
def Init (l):
|
||||
for r in l.values():
|
||||
r['Initial'] = r['Value'] = r['Default']
|
||||
|
||||
Init(Colors)
|
||||
Init(Options)
|
||||
|
||||
|
||||
|
||||
|
||||
Dir = os.path.dirname(os.path.realpath(sys.argv[0]))
|
||||
InPath = Dir + '/themerc.in'
|
||||
OutPath = Dir + '/themerc'
|
||||
|
||||
|
||||
|
||||
|
||||
def InitV (k, vs, f, s):
|
||||
if k in vs: vs[k]['Initial'] = vs[k]['Value'] = f(s)
|
||||
|
||||
with open(Dir + '/themerc') as f:
|
||||
for l in f.readlines():
|
||||
|
||||
if l[0] != '#': continue
|
||||
ss = l.strip().split(' ')
|
||||
k, v = ss[0].lstrip('#'), ss[1]
|
||||
|
||||
InitV(k, Colors, lambda s: s, v)
|
||||
InitV(k, Options, lambda s: (v == 'True'), v)
|
||||
|
||||
|
||||
|
||||
|
||||
def Read (path):
|
||||
with open(path) as f:
|
||||
return f.read()
|
||||
|
||||
|
||||
|
||||
|
||||
def Rgb8 (c):
|
||||
return [int(c[i:i+2], 16) for i in (1, 3, 5)]
|
||||
|
||||
def Hex8FromRgb8 (c):
|
||||
return '#%02x%02x%02x' % tuple(c)
|
||||
|
||||
def Hex8FromRgb (c):
|
||||
return Hex8FromRgb8 (
|
||||
map(lambda f: int(f * 0xFF), c)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
def Subst (src, op, cl, fun):
|
||||
|
||||
s = src.split(op)
|
||||
o = s[0]
|
||||
|
||||
for si in range(1, len(s)):
|
||||
b = s[si].split(cl)
|
||||
o = o + fun(b[0]) + b[1]
|
||||
|
||||
return o
|
||||
|
||||
|
||||
def SubstCond (s):
|
||||
|
||||
kv = s.split(' ', 1)
|
||||
yn = kv[1].split('!')
|
||||
|
||||
return yn[0] if Options[kv[0]]['Value'] else yn[1]
|
||||
|
||||
|
||||
def SubstColor (s):
|
||||
|
||||
def pone (c):
|
||||
if (c.startswith('#')): return Rgb8(c)
|
||||
else: return Rgb8(Colors[c]['Value'])
|
||||
|
||||
def addc (a, b):
|
||||
return map(lambda c0, c1: c0 + c1, a, b)
|
||||
|
||||
def divc (c, d):
|
||||
return map(lambda c: int(c / d), c)
|
||||
|
||||
cs = [pone(c) for c in s.split(' ')];
|
||||
return Hex8FromRgb8(divc(reduce(addc, cs), len(cs)))
|
||||
|
||||
|
||||
def ExVals (vs):
|
||||
return '\n'.join (
|
||||
map (
|
||||
lambda k: '#' + k + ' ' + str(vs[k]['Value']), vs
|
||||
)
|
||||
) + '\n'
|
||||
|
||||
|
||||
def Apply ():
|
||||
|
||||
s = Read(InPath)
|
||||
|
||||
s = Subst(s, '[', ']', SubstCond)
|
||||
s = Subst(s, '{', '}', SubstColor)
|
||||
|
||||
s = ExVals(Colors) + ExVals(Options) + '\n' + s
|
||||
|
||||
with open(OutPath, 'w') as of: of.write(s)
|
||||
os.system('openbox --reconfigure')
|
||||
|
||||
|
||||
def Reveal ():
|
||||
for c in Colors.values():
|
||||
c['Button'].set_color(Gdk.color_parse(c['Value']))
|
||||
for o in Options.values():
|
||||
o['Switch'].set_state(o['Value'])
|
||||
|
||||
|
||||
def Reset (key):
|
||||
for c in list(Colors.values()) + list(Options.values()):
|
||||
c['Value'] = c[key]
|
||||
Reveal()
|
||||
|
||||
|
||||
def FromGtk ():
|
||||
|
||||
m = Gtk.Menu()
|
||||
i = Gtk.MenuItem()
|
||||
w = Gtk.Window()
|
||||
m.add(i)
|
||||
|
||||
ms = m.get_style_context()
|
||||
rs = i.get_style_context()
|
||||
ws = w.get_style_context()
|
||||
|
||||
def ccc (key, gc):
|
||||
Colors[key]['Value'] = Hex8FromRgb([gc.red, gc.green, gc.blue])
|
||||
|
||||
ccc('AB', rs.get_background_color(Gtk.StateFlags.PRELIGHT))
|
||||
ccc('AF', rs.get_color(Gtk.StateFlags.PRELIGHT))
|
||||
ccc('AL', ms.get_border_color(Gtk.StateFlags.PRELIGHT))
|
||||
ccc('NB', ws.get_background_color(Gtk.StateFlags.NORMAL))
|
||||
ccc('NF', ws.get_color(Gtk.StateFlags.NORMAL))
|
||||
ccc('NL', ms.get_border_color(Gtk.StateFlags.NORMAL))
|
||||
|
||||
Reveal()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
W = Gtk.Window(title = "Lean OB")
|
||||
W.set_icon_name("applications-graphics")
|
||||
W.connect("destroy", lambda e: Gtk.main_quit())
|
||||
W.set_resizable(False)
|
||||
W.set_border_width(8)
|
||||
|
||||
T = Gtk.Grid()
|
||||
T.set_row_spacing(4)
|
||||
T.set_column_spacing(4)
|
||||
T.Rows = 0
|
||||
|
||||
def AddRow (t, label, o):
|
||||
t.attach(Gtk.Label(label + ':'), 0, t.Rows, 1, 1)
|
||||
t.attach(o, 1, T.Rows, 1, 1)
|
||||
t.Rows = t.Rows + 1
|
||||
|
||||
def SetC (ck, c):
|
||||
Colors[ck]['Value'] = Hex8FromRgb(c.to_floats())
|
||||
|
||||
def SetO (ok, o):
|
||||
Options[ok]['Value'] = o
|
||||
|
||||
for ck in sorted(Colors):
|
||||
c = Colors[ck]
|
||||
cbtn = c['Button'] = Gtk.ColorButton(color = Gdk.color_parse(c['Value']))
|
||||
cbtn.connect('color-set', lambda b, k: SetC(k, b.get_color()), ck)
|
||||
AddRow(T, c['Name'], cbtn)
|
||||
|
||||
for ok in sorted(Options):
|
||||
o = Options[ok]
|
||||
osw = o['Switch'] = Gtk.Switch(state = o['Value'])
|
||||
osw.connect('state-set', lambda s, v, k: SetO(k, v), ok)
|
||||
AddRow(T, o['Name'], osw)
|
||||
|
||||
DefaultBtn = Gtk.Button("Default")
|
||||
RevertBtn = Gtk.Button("Revert")
|
||||
FromGtkBtn = Gtk.Button("From GTK")
|
||||
ApplyBtn = Gtk.Button("Apply")
|
||||
|
||||
DefaultBtn.connect('clicked', lambda e: Reset('Default'))
|
||||
RevertBtn.connect('clicked', lambda e: Reset('Initial'))
|
||||
FromGtkBtn.connect('clicked', lambda e: FromGtk())
|
||||
ApplyBtn.connect('clicked', lambda e: Apply())
|
||||
|
||||
V = Gtk.VBox(spacing = 8)
|
||||
V.pack_start(DefaultBtn, True, True, 0)
|
||||
V.pack_start(FromGtkBtn, True, True, 0)
|
||||
V.pack_start(T, True, True, 0)
|
||||
V.pack_start(RevertBtn, True, True, 0)
|
||||
V.pack_start(ApplyBtn, True, True, 0)
|
||||
W.add(V)
|
||||
|
||||
W.show_all()
|
||||
Gtk.main()
|
||||
4
dotfile/.themes/openbox-lean/openbox-3/shade.xbm
Normal file
4
dotfile/.themes/openbox-lean/openbox-3/shade.xbm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define shade_width 8
|
||||
#define shade_height 8
|
||||
static unsigned char shade_bits[] = {
|
||||
0x18, 0x24, 0x42, 0x81, 0x00, 0x00, 0x00, 0x00 };
|
||||
4
dotfile/.themes/openbox-lean/openbox-3/shade_toggled.xbm
Normal file
4
dotfile/.themes/openbox-lean/openbox-3/shade_toggled.xbm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define shade_toggled_width 8
|
||||
#define shade_toggled_height 8
|
||||
static unsigned char shade_toggled_bits[] = {
|
||||
0x81, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00 };
|
||||
16
dotfile/.themes/openbox-lean/openbox-3/shell.nix
Normal file
16
dotfile/.themes/openbox-lean/openbox-3/shell.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
let
|
||||
pkgs = import <nixpkgs> {};
|
||||
in
|
||||
|
||||
pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
gtk3
|
||||
python3
|
||||
python3Packages.pygobject3
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
echo "GTK3 Ready"
|
||||
'';
|
||||
}
|
||||
81
dotfile/.themes/openbox-lean/openbox-3/themerc
Normal file
81
dotfile/.themes/openbox-lean/openbox-3/themerc
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
#AB #222222
|
||||
#AF #ffffff
|
||||
#AL #292929
|
||||
#NB #2d2d2d
|
||||
#NF #dadada
|
||||
#NL #292929
|
||||
#B? True
|
||||
#H? False
|
||||
#G? False
|
||||
#R? False
|
||||
|
||||
border.width: 1
|
||||
padding.width: 4
|
||||
padding.height: 2
|
||||
window.client.padding.width: 0
|
||||
window.client.padding.height: 0
|
||||
window.handle.width: 4
|
||||
|
||||
*.active.border.color: #292929
|
||||
*.inactive.border.color: #292929
|
||||
|
||||
window.*.grip.bg: parentrelative
|
||||
window.*.title.bg: flat solid
|
||||
window.*.label.bg: parentrelative
|
||||
window.*.button.*.bg: parentrelative
|
||||
window.*.handle.bg: flat solid
|
||||
window.*.text.justify: center
|
||||
|
||||
window.active.title.bg.color: #222222
|
||||
window.active.title.bg.colorTo: #191919
|
||||
window.active.label.text.color: #ffffff
|
||||
window.active.button.*.unpressed.image.color: #ffffff
|
||||
window.active.button.*.disabled.image.color: #6b6b6b
|
||||
window.active.button.*.hover.image.color: #909090
|
||||
window.active.button.*.pressed.image.color: #111111
|
||||
window.active.handle.bg.color: #2d2d2d
|
||||
window.active.handle.bg.colorTo: #1e1e1e
|
||||
|
||||
window.inactive.title.bg.color: #2d2d2d
|
||||
window.inactive.title.bg.colorTo: #212121
|
||||
window.inactive.label.text.color: #838383
|
||||
window.inactive.button.*.unpressed.image.color: #838383
|
||||
window.inactive.button.*.disabled.image.color: #666666
|
||||
window.inactive.button.*.hover.image.color: #dadada
|
||||
window.inactive.button.*.pressed.image.color: #161616
|
||||
window.inactive.handle.bg.color: #2d2d2d
|
||||
window.inactive.handle.bg.colorTo: #1e1e1e
|
||||
|
||||
menu.title.bg: flat solid
|
||||
menu.title.bg.color: #222222
|
||||
menu.title.bg.colorTo: #191919
|
||||
menu.title.text.color: #ffffff
|
||||
menu.items.bg: flat solid
|
||||
menu.items.bg.color: #2d2d2d
|
||||
menu.items.bg.colorTo: #212121
|
||||
menu.items.text.color: #dadada
|
||||
menu.items.disabled.text.color: #666666
|
||||
menu.items.active.bg: flat solid
|
||||
menu.items.active.bg.color: #222222
|
||||
menu.items.active.bg.colorTo: #191919
|
||||
menu.items.active.text.color: #ffffff
|
||||
menu.items.active.disabled.text.color: #6b6b6b
|
||||
menu.separator.color: #292929
|
||||
menu.separator.padding.width: 0
|
||||
menu.separator.width: 1
|
||||
|
||||
osd.bg: flat solid
|
||||
osd.bg.color: #2d2d2d
|
||||
osd.bg.colorTo: #212121
|
||||
osd.unhilight.bg: flat solid
|
||||
osd.unhilight.bg.color: #2d2d2d
|
||||
osd.unhilight.bg.colorTo: #212121
|
||||
osd.hilight.bg: flat solid
|
||||
osd.hilight.bg.color: #222222
|
||||
osd.hilight.bg.colorTo: #191919
|
||||
|
||||
font.ActiveWindow: JetBrainsMono
|
||||
font.InactiveWindow: JetBrainsMono
|
||||
font.MenuHeader: JetBrainsMono
|
||||
font.MenuItem: JetBrainsMono
|
||||
font.OSD: JetBrainsMono
|
||||
64
dotfile/.themes/openbox-lean/openbox-3/themerc.in
Normal file
64
dotfile/.themes/openbox-lean/openbox-3/themerc.in
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
border.width: [B? 1 ! 0]
|
||||
padding.width: 4
|
||||
padding.height: 2
|
||||
window.client.padding.width: 0
|
||||
window.client.padding.height: 0
|
||||
window.handle.width: 4
|
||||
|
||||
*.active.border.color: {AL}
|
||||
*.inactive.border.color: {NL}
|
||||
|
||||
window.*.grip.bg: parentrelative
|
||||
window.*.title.bg: [R? raised ! flat] [G? vertical gradient ! solid]
|
||||
window.*.label.bg: parentrelative
|
||||
window.*.button.*.bg: parentrelative
|
||||
window.*.handle.bg: [R? raised ! flat] [G? vertical gradient ! solid]
|
||||
window.*.text.justify: center
|
||||
|
||||
window.active.title.bg.color: {AB}
|
||||
window.active.title.bg.colorTo: {AB AB AB #000000}
|
||||
window.active.label.text.color: {AF}
|
||||
window.active.button.*.unpressed.image.color: {AF}
|
||||
window.active.button.*.disabled.image.color: {AF AB AB}
|
||||
window.active.button.*.hover.image.color: {AF AB}
|
||||
window.active.button.*.pressed.image.color: {AB #000000}
|
||||
window.active.handle.bg.color: [H? {AB} ! {NB}]
|
||||
window.active.handle.bg.colorTo: [H? {AB AB #000000} ! {NB NB #000000}]
|
||||
|
||||
window.inactive.title.bg.color: {NB}
|
||||
window.inactive.title.bg.colorTo: {NB NB NB #000000}
|
||||
window.inactive.label.text.color: {NB NF}
|
||||
window.inactive.button.*.unpressed.image.color: {NB NF}
|
||||
window.inactive.button.*.disabled.image.color: {NB NB NF}
|
||||
window.inactive.button.*.hover.image.color: {NF}
|
||||
window.inactive.button.*.pressed.image.color: {NB #000000}
|
||||
window.inactive.handle.bg.color: {NB}
|
||||
window.inactive.handle.bg.colorTo: {NB NB #000000}
|
||||
|
||||
menu.title.bg: [R? raised ! flat] [G? vertical gradient ! solid]
|
||||
menu.title.bg.color: {AB}
|
||||
menu.title.bg.colorTo: {AB AB AB #000000}
|
||||
menu.title.text.color: {AF}
|
||||
menu.items.bg: [R? raised ! flat] [G? diagonal gradient ! solid]
|
||||
menu.items.bg.color: {NB}
|
||||
menu.items.bg.colorTo: {NB NB NB #000000}
|
||||
menu.items.text.color: {NF}
|
||||
menu.items.disabled.text.color: {NF NB NB}
|
||||
menu.items.active.bg: [R? raised ! flat] [G? vertical gradient ! solid]
|
||||
menu.items.active.bg.color: {AB}
|
||||
menu.items.active.bg.colorTo: {AB AB AB #000000}
|
||||
menu.items.active.text.color: {AF}
|
||||
menu.items.active.disabled.text.color: {AF AB AB}
|
||||
menu.separator.color: {AL}
|
||||
menu.separator.padding.width: 0
|
||||
menu.separator.width: 1
|
||||
|
||||
osd.bg: [R? raised ! flat] [G? diagonal gradient ! solid]
|
||||
osd.bg.color: {NB}
|
||||
osd.bg.colorTo: {NB NB NB #000000}
|
||||
osd.unhilight.bg: [R? raised ! flat] [G? diagonal gradient ! solid]
|
||||
osd.unhilight.bg.color: {NB}
|
||||
osd.unhilight.bg.colorTo: {NB NB NB #000000}
|
||||
osd.hilight.bg: [R? raised ! flat] [G? diagonal gradient ! solid]
|
||||
osd.hilight.bg.color: {AB}
|
||||
osd.hilight.bg.colorTo: {AB AB AB #000000}
|
||||
1513
flake.lock
generated
Executable file
1513
flake.lock
generated
Executable file
File diff suppressed because it is too large
Load diff
131
flake.nix
Normal file
131
flake.nix
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
# ██╗░░██╗██╗░██████╗░██████╗██████╗░░█████╗░██╗░░██╗░█████╗░
|
||||
# ██║░██╔╝██║██╔════╝██╔════╝██╔══██╗██╔══██╗██║░██╔╝██╔══██╗
|
||||
# █████═╝░██║╚█████╗░╚█████╗░██████╦╝███████║█████═╝░███████║
|
||||
# ██╔═██╗░██║░╚═══██╗░╚═══██╗██╔══██╗██╔══██║██╔═██╗░██╔══██║
|
||||
# ██║░╚██╗██║██████╔╝██████╔╝██████╦╝██║░░██║██║░╚██╗██║░░██║
|
||||
# ╚═╝░░╚═╝╚═╝╚═════╝░╚═════╝░╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚═╝
|
||||
# 𝑲𝒆𝒆𝒑 𝑰𝒕 𝑺𝒊𝒎𝒑𝒍𝒆, 𝑺𝒕𝒖𝒑𝒊𝒅, 𝑩𝑨𝑲𝑨!!
|
||||
#
|
||||
# "keep it low cognitive load, high clarity, and cute"
|
||||
# - Lao Tzu, The Art of Config (maybe)
|
||||
#
|
||||
# !!! DO-NOT-EDIT THIS FILE !!!
|
||||
# Generated by flake-file in each modules
|
||||
# This text exist in /module/system/flake-description.nix
|
||||
# `nix run ./#write-flake` to apply edit
|
||||
#
|
||||
# so, here cirno fumo instead
|
||||
#
|
||||
# ⢀⣒⠒⠆⠤⣀⡀
|
||||
# ⢠⡛⠛⠻⣷⣶⣦⣬⣕⡒⠤⢀⣀
|
||||
# ⡿⢿⣿⣿⣿⣿⣿⡿⠿⠿⣿⣳⠖⢋⣩⣭⣿⣶⡤⠶⠶⢶⣒⣲⢶⣉⣐⣒⣒⣒⢤⡀
|
||||
# ⣿ ⠉⣩⣭⣽⣶⣾⣿⢿⡏⢁⣴⠿⠛⠉⠁ ⠉⠙⠲⢭⣯⣟⡿⣷⣘⠢⡀
|
||||
# ⠹⣷⣿⣿⣿⣿⣿⢟⣵⠋⢠⡾⠁ ⠈⠻⣿⣿⣾⣦⣾⣢
|
||||
# ⠹⣿⣿⣿⡿⣳⣿⠃ ⣼⠃ ⠈⢻⣿⣿⣿⠟
|
||||
# ⠹⣿⣿⣵⣿⠃ ⣿ ⠹⣷⡄
|
||||
# ⠈⠛⣯⡇⠛⣽⣦⣿ ⢀⠔⠙⣄ ⣠⠳⡀ ⢿⡵⡀
|
||||
# ⣸⣿⣿⣿⠿⢿⠟ ⢀⡏ ⠘⡄ ⢠⠃ ⠹⡄ ⠸⣿⣷⡀
|
||||
# ⢰⣿⣿⣿⣿⡀ ⢸⠒⠤⢤⣀⣘⣆ ⡏⢀⣀⡠⢷ ⣿⡿⠃
|
||||
# ⠸⣿⣿⠟⢹⣥ ⣸⣀⣀⣤⣀⣀⠈⠳⢤⡀⡇⣀⣠⣄⣸⡆ ⡏
|
||||
# ⠁⠁ ⢸⢟⡄ ⣿⣾⣿⣿⣿⣿⠁ ⠈⠙⠙⣯⣿⣿⣿⡇ ⢠⠃
|
||||
# ⠇⢨⢞⢆ ⡿⣿⣿⣿⣿⡏ ⣿⣿⣿⡿⡇ ⣠⢟⡄
|
||||
# ⡼ ⢈⡏⢎⠳⣄ ⡇⠙⠛⠟⠛ ⠘⠻⠛⢱⢃⡜⡝⠈⠚⡄
|
||||
# ⠘⣅⠁⢸⣋⠈⢣⡈⢷⠇ ⣄ ⢀⡄ ⣠⣼⢯⣴⠇⣀⡀⢸
|
||||
# ⠈⠳⡌⠛⣶⣆⣷⣿⣦⣄⣀ ⠈⠉⠉⢉⣀⣤⡞⢛⣄⡀⢀⡨⢗⡦⠎
|
||||
# ⠈⠑⠪⣿⠁ ⠐⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠉⠁⢸ ⠄⠙⡆
|
||||
# ⣀⠤⠚⡉⢳⡄⠡⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠁⣠⣧⣤⣄⣀⡀⡰⠁
|
||||
# ⢀⠔⠉ ⢀⣧⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣅⡀
|
||||
# ⢸⠆ ⣀⣼⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠋⠁⣠⠖⠒⠒⠛⢿⣆
|
||||
# ⠑⠤⠴⠞⢋⣵⣿⢿⣿⣿⣿⣿⣿⣿⠗⣀ ⢰⠇ ⢀⡼⣶⣤
|
||||
# ⡠⠟⢛⣿ ⠙⠲⠽⠛⠛⠵⠞⠉⠙⠳⢦⣀⣀⡞ ⡠⠋⠐⠣⠮⡁
|
||||
# ⢠⣎⡀⢀⣾⠇⢀⣠⡶⢶⠞⠋⠉⠉⠒⢄⡀⠉⠈⠉ ⣠⣾ ⢸⡀
|
||||
# ⠘⣦⡀⠘⢁⡴⢟⣯⣞⢉ ⢹⠶⠤⠤⡤⢖⣿⡋⢇ ⢸
|
||||
# ⠙⠵⠗⠺⠟⠖⢈⡣⡄ ⢀⣼⡤⣬⣽⠾⠋⠉⠑⠺⠧⣀⣤⣤⡠⠟⠃
|
||||
# ⠈⠛⠷⠶⠦⠶⠞⠉
|
||||
#
|
||||
#-----------------------------------------------------------------
|
||||
{
|
||||
description = "Kirbara2000 Infra";
|
||||
|
||||
outputs =
|
||||
inputs:
|
||||
inputs.flake-parts.lib.mkFlake { inherit inputs; } (
|
||||
inputs.import-tree [
|
||||
./module
|
||||
./puter
|
||||
]
|
||||
);
|
||||
|
||||
nixConfig = {
|
||||
abort-on-warn = true;
|
||||
extra-experimental-features = [
|
||||
"flakes"
|
||||
"nix-command"
|
||||
"pipe-operators"
|
||||
];
|
||||
extra-substituters = [ "https://numtide.cachix.org" ];
|
||||
extra-trusted-public-keys = [ "numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE=" ];
|
||||
};
|
||||
|
||||
inputs = {
|
||||
affinity-nix.url = "github:mrshmllow/affinity-nix";
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
antigravity-nix = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:jacopone/antigravity-nix";
|
||||
};
|
||||
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||
claude-code.url = "github:sadjow/claude-code-nix";
|
||||
den.url = "path:./flake/den";
|
||||
deploy-rs = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:serokell/deploy-rs";
|
||||
};
|
||||
disko = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/disko";
|
||||
};
|
||||
flake-aspects.url = "github:vic/flake-aspects";
|
||||
flake-file.url = "github:vic/flake-file";
|
||||
flake-parts = {
|
||||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||
url = "github:hercules-ci/flake-parts";
|
||||
};
|
||||
git-hooks = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:cachix/git-hooks.nix";
|
||||
};
|
||||
home-manager = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/home-manager";
|
||||
};
|
||||
import-tree.url = "github:vic/import-tree";
|
||||
lazy-apps = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "sourcehut:~rycee/lazy-apps";
|
||||
};
|
||||
nix-alien.url = "github:thiagokokada/nix-alien";
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||
nix-systems.url = "github:nix-systems/default";
|
||||
nix-webapps.url = "github:TLATER/nix-webapps";
|
||||
nixkpgs-stable.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
|
||||
nixos-generators = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/nixos-generators";
|
||||
};
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixpkgs-latest.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
opencode-flake.url = "github:aodhanhayter/opencode-flake";
|
||||
pkgs-by-name-for-flake-parts.url = "github:drupol/pkgs-by-name-for-flake-parts";
|
||||
sops-nix = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:Mic92/sops-nix";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
13
flake/den/checkmate.nix
Normal file
13
flake/den/checkmate.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
imports =
|
||||
let
|
||||
files = builtins.readDir ./checkmate/tests;
|
||||
names = builtins.attrNames files;
|
||||
nixes = builtins.filter (lib.hasSuffix ".nix") names;
|
||||
tests = map (file: "${./checkmate/tests}/${file}") nixes;
|
||||
in
|
||||
tests;
|
||||
|
||||
perSystem.treefmt.settings.global.excludes = [ ".github/*/*.md" ];
|
||||
}
|
||||
1
flake/den/checkmate/.gitignore
vendored
Normal file
1
flake/den/checkmate/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
flake.lock
|
||||
7
flake/den/checkmate/flake.nix
Normal file
7
flake/den/checkmate/flake.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
inputs.target.url = "path:..";
|
||||
inputs.checkmate.url = "github:vic/checkmate";
|
||||
inputs.checkmate.inputs.target.follows = "target";
|
||||
inputs.flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
outputs = inputs: inputs.checkmate.lib.newFlake;
|
||||
}
|
||||
198
flake/den/checkmate/tests/aspect-functor.nix
Normal file
198
flake/den/checkmate/tests/aspect-functor.nix
Normal file
|
|
@ -0,0 +1,198 @@
|
|||
{
|
||||
lib,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
den.lib = inputs.target.lib { inherit lib inputs config; };
|
||||
|
||||
inherit (den.lib) parametric canTake;
|
||||
|
||||
aspect-example = {
|
||||
__functor = parametric.atLeast;
|
||||
nixos.foo = 99;
|
||||
includes = [
|
||||
{ nixos.static = 100; }
|
||||
(
|
||||
{ host, ... }:
|
||||
{
|
||||
nixos.host = host;
|
||||
}
|
||||
)
|
||||
(
|
||||
{ host, user, ... }:
|
||||
{
|
||||
nixos.host-user = [
|
||||
host
|
||||
user
|
||||
];
|
||||
}
|
||||
)
|
||||
(
|
||||
{
|
||||
OS,
|
||||
user,
|
||||
host,
|
||||
...
|
||||
}:
|
||||
{
|
||||
nixos.os-user-host = [
|
||||
OS
|
||||
user
|
||||
host
|
||||
];
|
||||
}
|
||||
)
|
||||
(
|
||||
{ user, ... }:
|
||||
{
|
||||
nixos.user = user;
|
||||
}
|
||||
)
|
||||
(
|
||||
{ user, ... }@ctx:
|
||||
if canTake.exactly ctx ({ user }: user) then
|
||||
{
|
||||
nixos.user-only = user;
|
||||
}
|
||||
else
|
||||
{ nixos.user-only = false; }
|
||||
)
|
||||
(
|
||||
{ home, ... }:
|
||||
{
|
||||
nixos.home = home;
|
||||
}
|
||||
)
|
||||
(_any: {
|
||||
nixos.any = 10;
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
flake.tests."test functor applied with empty attrs" = {
|
||||
expr = (aspect-example { });
|
||||
expected = {
|
||||
includes = [
|
||||
{ nixos.any = 10; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
flake.tests."test functor applied with host only" = {
|
||||
expr = (
|
||||
aspect-example {
|
||||
host = 2;
|
||||
}
|
||||
);
|
||||
expected = {
|
||||
includes = [
|
||||
{ nixos.host = 2; } # host
|
||||
{ nixos.any = 10; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
flake.tests."test functor applied with home only" = {
|
||||
expr = (
|
||||
aspect-example {
|
||||
home = 2;
|
||||
}
|
||||
);
|
||||
expected = {
|
||||
includes = [
|
||||
{ nixos.home = 2; } # home
|
||||
{ nixos.any = 10; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
flake.tests."test functor applied with home and unknown" = {
|
||||
expr = (
|
||||
aspect-example {
|
||||
home = 2;
|
||||
unknown = 1;
|
||||
}
|
||||
);
|
||||
expected = {
|
||||
includes = [
|
||||
{ nixos.home = 2; }
|
||||
{ nixos.any = 10; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
flake.tests."test functor applied with user only" = {
|
||||
expr = (
|
||||
aspect-example {
|
||||
user = 2;
|
||||
}
|
||||
);
|
||||
expected = {
|
||||
includes = [
|
||||
{ nixos.user = 2; } # user
|
||||
{ nixos.user-only = 2; } # user-only
|
||||
{ nixos.any = 10; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
flake.tests."test functor applied with user and host" = {
|
||||
expr = (
|
||||
aspect-example {
|
||||
user = 2;
|
||||
host = 1;
|
||||
}
|
||||
);
|
||||
expected = {
|
||||
includes = [
|
||||
{ nixos.host = 1; }
|
||||
{
|
||||
nixos.host-user = [
|
||||
1
|
||||
2
|
||||
];
|
||||
}
|
||||
{ nixos.user = 2; }
|
||||
{ nixos.user-only = false; }
|
||||
{ nixos.any = 10; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
flake.tests."test functor applied with host/user/OS" = {
|
||||
expr = (
|
||||
aspect-example {
|
||||
OS = 0;
|
||||
user = 2;
|
||||
host = 1;
|
||||
}
|
||||
);
|
||||
expected = {
|
||||
includes = [
|
||||
{ nixos.host = 1; }
|
||||
{
|
||||
nixos.host-user = [
|
||||
1
|
||||
2
|
||||
];
|
||||
}
|
||||
{
|
||||
nixos.os-user-host = [
|
||||
0
|
||||
2
|
||||
1
|
||||
];
|
||||
}
|
||||
{ nixos.user = 2; }
|
||||
{ nixos.user-only = false; }
|
||||
{ nixos.any = 10; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
inherit flake;
|
||||
}
|
||||
40
flake/den/checkmate/tests/den-brackets.nix
Normal file
40
flake/den/checkmate/tests/den-brackets.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ ... }@top:
|
||||
let
|
||||
lib = top.inputs.nixpkgs.lib;
|
||||
|
||||
# deadnix: skip
|
||||
__findFile =
|
||||
if true then
|
||||
import "${top.inputs.target}/nix/den-brackets.nix" { inherit lib config inputs; }
|
||||
else
|
||||
__findFile;
|
||||
|
||||
inputs = {
|
||||
|
||||
};
|
||||
|
||||
config.den = {
|
||||
default.foo = 1;
|
||||
|
||||
provides.foo.a = 2;
|
||||
provides.foo.provides.bar.b = 3;
|
||||
provides.foo.provides.c = 4;
|
||||
|
||||
d = 5;
|
||||
|
||||
aspects.foo.a = 6;
|
||||
aspects.foo.provides.bar.b = 7;
|
||||
aspects.foo.provides.c = 8;
|
||||
|
||||
};
|
||||
in
|
||||
{
|
||||
flake.tests."<den.default>" =
|
||||
let
|
||||
expr = <den.default>;
|
||||
expected.foo = 2;
|
||||
in
|
||||
{
|
||||
inherit expr expected;
|
||||
};
|
||||
}
|
||||
85
flake/den/checkmate/tests/function_can_take.nix
Normal file
85
flake/den/checkmate/tests/function_can_take.nix
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
lib,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
den.lib = inputs.target.lib { inherit inputs lib config; };
|
||||
takes = den.lib.canTake;
|
||||
|
||||
flake.tests."test exactly fails" = {
|
||||
expr = takes.exactly {
|
||||
a = 1;
|
||||
b = 2;
|
||||
} ({ a }: a);
|
||||
expected = false;
|
||||
};
|
||||
|
||||
flake.tests."test exactly succeeds" = {
|
||||
expr = takes.exactly { a = 1; } ({ a }: a);
|
||||
expected = true;
|
||||
};
|
||||
|
||||
flake.tests."test function with no named arguments can take anything" = {
|
||||
expr = takes { } (x: x);
|
||||
expected = true;
|
||||
};
|
||||
|
||||
flake.tests."test function called with non attrs" = {
|
||||
expr = takes 22 ({ host }: [ host ]);
|
||||
expected = false;
|
||||
};
|
||||
|
||||
flake.tests."test function missing required attr" = {
|
||||
expr = takes { } ({ host }: [ host ]);
|
||||
expected = false;
|
||||
};
|
||||
|
||||
flake.tests."test function satisfied required attr" = {
|
||||
expr = takes {
|
||||
host = 1;
|
||||
} ({ host, ... }: [ host ]);
|
||||
expected = true;
|
||||
};
|
||||
|
||||
flake.tests."test function missing second required attr" = {
|
||||
expr =
|
||||
takes
|
||||
{
|
||||
host = 1;
|
||||
}
|
||||
(
|
||||
{ host, user }:
|
||||
[
|
||||
host
|
||||
user
|
||||
]
|
||||
);
|
||||
expected = false;
|
||||
};
|
||||
|
||||
flake.tests."test function optional second attr" = {
|
||||
expr =
|
||||
takes
|
||||
{
|
||||
host = 1;
|
||||
foo = 9;
|
||||
}
|
||||
(
|
||||
{
|
||||
host,
|
||||
user ? 0,
|
||||
}:
|
||||
[
|
||||
host
|
||||
user
|
||||
]
|
||||
);
|
||||
expected = true;
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
inherit flake;
|
||||
}
|
||||
16
flake/den/flake.nix
Normal file
16
flake/den/flake.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
outputs = _: {
|
||||
flakeModule = ./nix/flakeModule.nix;
|
||||
templates = {
|
||||
default.path = ./templates/default;
|
||||
default.description = "Minimal configuration";
|
||||
examples.path = ./templates/examples;
|
||||
examples.description = "API examples and CI";
|
||||
bogus.path = ./templates/bogus;
|
||||
bogus.description = "For bug reproduction";
|
||||
};
|
||||
packages = import ./nix/template-packages.nix;
|
||||
namespace = import ./nix/namespace.nix;
|
||||
lib = import ./nix/lib.nix;
|
||||
};
|
||||
}
|
||||
205
flake/den/modules/_types.nix
Normal file
205
flake/den/modules/_types.nix
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (config) den;
|
||||
|
||||
hostsOption = lib.mkOption {
|
||||
description = "den hosts definition";
|
||||
default = { };
|
||||
type = lib.types.attrsOf systemType;
|
||||
};
|
||||
|
||||
systemType = lib.types.submodule (
|
||||
{ name, ... }:
|
||||
{
|
||||
freeformType = lib.types.attrsOf (hostType name);
|
||||
}
|
||||
);
|
||||
|
||||
hostType =
|
||||
system:
|
||||
lib.types.submodule (
|
||||
{ name, config, ... }:
|
||||
{
|
||||
freeformType = lib.types.attrsOf lib.types.anything;
|
||||
options = {
|
||||
name = strOpt "host configuration name" name;
|
||||
hostName = strOpt "Network hostname" config.name;
|
||||
system = strOpt "platform system" system;
|
||||
class = strOpt "os-configuration nix class for host" (
|
||||
if lib.hasSuffix "darwin" config.system then "darwin" else "nixos"
|
||||
);
|
||||
aspect = strOpt "main aspect name of <class>" config.name;
|
||||
description = strOpt "host description" "${config.class}.${config.hostName}@${config.system}";
|
||||
users = lib.mkOption {
|
||||
description = "user accounts";
|
||||
default = { };
|
||||
type = lib.types.attrsOf userType;
|
||||
};
|
||||
instantiate = lib.mkOption {
|
||||
description = ''
|
||||
Function used to instantiate the OS configuration.
|
||||
|
||||
Depending on class, defaults to:
|
||||
`darwin`: inputs.darwin.lib.darwinSystem
|
||||
`nixos`: inputs.nixpkgs.lib.nixosSystem
|
||||
`systemManager`: inputs.system-manager.lib.makeSystemConfig
|
||||
|
||||
Set explicitly if you need:
|
||||
|
||||
- a custom input name, eg, nixos-unstable.
|
||||
- adding specialArgs when absolutely required.
|
||||
'';
|
||||
example = lib.literalExpression "inputs.nixpkgs.lib.nixosSystem";
|
||||
type = lib.types.unspecified;
|
||||
default =
|
||||
{
|
||||
nixos = inputs.nixpkgs.lib.nixosSystem;
|
||||
darwin = inputs.darwin.lib.darwinSystem;
|
||||
systemManager = inputs.system-manager.lib.makeSystemConfig;
|
||||
}
|
||||
.${config.class};
|
||||
};
|
||||
intoAttr = lib.mkOption {
|
||||
description = ''
|
||||
Flake attr where to add the named result of this configuration.
|
||||
flake.<intoAttr>.<name>
|
||||
|
||||
Depending on class, defaults to:
|
||||
`darwin`: darwinConfigurations
|
||||
`nixos`: nixosConfigurations
|
||||
`systemManager`: systemConfigs
|
||||
'';
|
||||
example = lib.literalExpression ''"nixosConfigurations"'';
|
||||
type = lib.types.str;
|
||||
default =
|
||||
{
|
||||
nixos = "nixosConfigurations";
|
||||
darwin = "darwinConfigurations";
|
||||
systemManager = "systemConfigs";
|
||||
}
|
||||
.${config.class};
|
||||
};
|
||||
mainModule = lib.mkOption {
|
||||
internal = true;
|
||||
visible = false;
|
||||
readOnly = true;
|
||||
type = lib.types.deferredModule;
|
||||
default = mainModule config "OS" "host";
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
userType = lib.types.submodule (
|
||||
{ name, config, ... }:
|
||||
{
|
||||
freeformType = lib.types.attrsOf lib.types.anything;
|
||||
options = {
|
||||
name = strOpt "user configuration name" name;
|
||||
userName = strOpt "user account name" config.name;
|
||||
class = strOpt "home management nix class" "homeManager";
|
||||
aspect = strOpt "main aspect name" config.name;
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
strOpt =
|
||||
description: default:
|
||||
lib.mkOption {
|
||||
type = lib.types.str;
|
||||
inherit description default;
|
||||
};
|
||||
|
||||
homesOption = lib.mkOption {
|
||||
description = "den standalone home-manager configurations";
|
||||
default = { };
|
||||
type = lib.types.attrsOf homeSystemType;
|
||||
};
|
||||
|
||||
homeSystemType = lib.types.submodule (
|
||||
{ name, ... }:
|
||||
{
|
||||
freeformType = lib.types.attrsOf (homeType name);
|
||||
}
|
||||
);
|
||||
|
||||
homeType =
|
||||
system:
|
||||
lib.types.submodule (
|
||||
{ name, config, ... }:
|
||||
{
|
||||
freeformType = lib.types.attrsOf lib.types.anything;
|
||||
options = {
|
||||
name = strOpt "home configuration name" name;
|
||||
userName = strOpt "user account name" config.name;
|
||||
system = strOpt "platform system" system;
|
||||
class = strOpt "home management nix class" "homeManager";
|
||||
aspect = strOpt "main aspect name" config.name;
|
||||
description = strOpt "home description" "home.${config.userName}@${config.system}";
|
||||
instantiate = lib.mkOption {
|
||||
description = ''
|
||||
Function used to instantiate the home configuration.
|
||||
|
||||
Depending on class, defaults to:
|
||||
`homeManager`: inputs.home-manager.lib.homeManagerConfiguration
|
||||
|
||||
Set explicitly if you need:
|
||||
|
||||
- a custom input name, eg, home-manager-unstable.
|
||||
- adding extraSpecialArgs when absolutely required.
|
||||
'';
|
||||
example = lib.literalExpression "inputs.home-manager.lib.homeManagerConfiguration";
|
||||
type = lib.types.unspecified;
|
||||
default =
|
||||
{
|
||||
homeManager = inputs.home-manager.lib.homeManagerConfiguration;
|
||||
}
|
||||
.${config.class};
|
||||
};
|
||||
intoAttr = lib.mkOption {
|
||||
description = ''
|
||||
Flake attr where to add the named result of this configuration.
|
||||
flake.<intoAttr>.<name>
|
||||
|
||||
Depending on class, defaults to:
|
||||
`homeManager`: homeConfigurations
|
||||
'';
|
||||
example = lib.literalExpression ''"homeConfigurations"'';
|
||||
type = lib.types.str;
|
||||
default =
|
||||
{
|
||||
homeManager = "homeConfigurations";
|
||||
}
|
||||
.${config.class};
|
||||
};
|
||||
mainModule = lib.mkOption {
|
||||
internal = true;
|
||||
visible = false;
|
||||
readOnly = true;
|
||||
type = lib.types.deferredModule;
|
||||
default = mainModule config "HM" "home";
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
mainModule =
|
||||
from: intent: name:
|
||||
let
|
||||
asp = den.aspects.${from.aspect};
|
||||
ctx = {
|
||||
${intent} = asp;
|
||||
${name} = from;
|
||||
};
|
||||
mod = (asp ctx).resolve { inherit (from) class; };
|
||||
in
|
||||
mod;
|
||||
in
|
||||
{
|
||||
inherit hostsOption homesOption;
|
||||
}
|
||||
8
flake/den/modules/aspects/defaults.nix
Normal file
8
flake/den/modules/aspects/defaults.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# creates den.default aspect
|
||||
{ lib, den, ... }:
|
||||
{
|
||||
config.den.default.__functor = den.lib.parametric.atLeast;
|
||||
options.den.default = lib.mkOption {
|
||||
type = den.lib.aspects.types.aspectSubmodule;
|
||||
};
|
||||
}
|
||||
34
flake/den/modules/aspects/definition.nix
Normal file
34
flake/den/modules/aspects/definition.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# create aspect dependencies from hosts/users
|
||||
{
|
||||
lib,
|
||||
den,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (den.lib) parametric;
|
||||
|
||||
makeAspect = from: {
|
||||
${from.aspect} = {
|
||||
${from.class} = { };
|
||||
includes = [ den.default ];
|
||||
__functor = parametric.atLeast;
|
||||
};
|
||||
};
|
||||
|
||||
hosts = map builtins.attrValues (builtins.attrValues den.hosts);
|
||||
homes = map builtins.attrValues (builtins.attrValues den.homes);
|
||||
aspectClass = from: { inherit (from) aspect class; };
|
||||
|
||||
deps = lib.pipe hosts [
|
||||
(lib.flatten)
|
||||
(map (h: builtins.attrValues h.users))
|
||||
(users: users ++ hosts ++ homes)
|
||||
(lib.flatten)
|
||||
(map aspectClass)
|
||||
(lib.unique)
|
||||
(map makeAspect)
|
||||
];
|
||||
in
|
||||
{
|
||||
den.aspects = lib.mkMerge deps;
|
||||
}
|
||||
97
flake/den/modules/aspects/dependencies.nix
Normal file
97
flake/den/modules/aspects/dependencies.nix
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
den,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (den.lib)
|
||||
owned
|
||||
statics
|
||||
parametric
|
||||
;
|
||||
|
||||
inherit (den.lib.take) exactly;
|
||||
|
||||
dependencies = [
|
||||
(exactly osDependencies)
|
||||
(exactly hmUserDependencies)
|
||||
(exactly hmStandaloneDependencies)
|
||||
];
|
||||
|
||||
osDependencies =
|
||||
{ OS, host }:
|
||||
{
|
||||
includes = [
|
||||
(owned den.default)
|
||||
(statics den.default)
|
||||
(owned OS)
|
||||
(statics OS)
|
||||
{
|
||||
includes =
|
||||
let
|
||||
users = builtins.attrValues host.users;
|
||||
contrib = osUserDependencies { inherit OS host; };
|
||||
in
|
||||
map contrib users;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
osUserDependencies =
|
||||
{ OS, host }:
|
||||
user:
|
||||
let
|
||||
USR = den.aspects.${user.aspect};
|
||||
in
|
||||
{
|
||||
includes = [
|
||||
(owned USR)
|
||||
(statics USR)
|
||||
(USR { inherit OS host user; })
|
||||
];
|
||||
};
|
||||
|
||||
# from OS home-managed integration.
|
||||
hmUserDependencies =
|
||||
{
|
||||
OS-HM,
|
||||
host,
|
||||
user,
|
||||
}:
|
||||
let
|
||||
inherit (OS-HM) OS HM;
|
||||
in
|
||||
{
|
||||
includes = [
|
||||
(owned den.default)
|
||||
(statics den.default)
|
||||
(owned HM)
|
||||
(statics HM)
|
||||
(owned OS)
|
||||
(statics OS)
|
||||
(parametric {
|
||||
inherit
|
||||
OS
|
||||
HM
|
||||
user
|
||||
host
|
||||
;
|
||||
} OS)
|
||||
];
|
||||
};
|
||||
|
||||
hmStandaloneDependencies =
|
||||
{ HM, home }:
|
||||
{
|
||||
includes = [
|
||||
(owned den.default)
|
||||
(statics den.default)
|
||||
(owned HM)
|
||||
(statics HM)
|
||||
];
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
den.default.includes = dependencies;
|
||||
}
|
||||
17
flake/den/modules/aspects/provides.nix
Normal file
17
flake/den/modules/aspects/provides.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.den = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
imports = [
|
||||
(lib.mkAliasOptionModule [ "_" ] [ "provides" ])
|
||||
];
|
||||
options.provides = lib.mkOption {
|
||||
default = { };
|
||||
description = "Batteries Included - re-usable high-level aspects";
|
||||
type = lib.types.submodule {
|
||||
freeformType = lib.types.attrsOf config.den.lib.aspects.types.providerType;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
55
flake/den/modules/aspects/provides/define-user.nix
Normal file
55
flake/den/modules/aspects/provides/define-user.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{ lib, den, ... }:
|
||||
let
|
||||
description = ''
|
||||
Defines a user at OS and Home levels.
|
||||
|
||||
Works in NixOS/Darwin and standalone Home-Manager
|
||||
|
||||
## Usage
|
||||
|
||||
# for NixOS/Darwin
|
||||
den.aspects.my-user.includes = [ den._.define-user ]
|
||||
|
||||
# for standalone home-manager
|
||||
den.aspects.my-home.includes = [ den._.define-user ]
|
||||
|
||||
or globally (automatically applied depending on context):
|
||||
|
||||
den.default.includes = [ den._.define-user ]
|
||||
'';
|
||||
|
||||
homeDir =
|
||||
host: user:
|
||||
if lib.hasSuffix "darwin" host.system then "/Users/${user.userName}" else "/home/${user.userName}";
|
||||
|
||||
userContext =
|
||||
{ host, user, ... }:
|
||||
{
|
||||
nixos.users.users.${user.userName}.isNormalUser = true;
|
||||
darwin.users.users.${user.userName} = {
|
||||
name = user.userName;
|
||||
home = homeDir host user;
|
||||
};
|
||||
homeManager = {
|
||||
home.username = user.userName;
|
||||
home.homeDirectory = homeDir host user;
|
||||
};
|
||||
};
|
||||
|
||||
hmContext =
|
||||
{ home, ... }:
|
||||
userContext {
|
||||
host.system = home.system;
|
||||
user.userName = home.userName;
|
||||
};
|
||||
in
|
||||
{
|
||||
den.provides.define-user = {
|
||||
inherit description;
|
||||
includes = [
|
||||
userContext
|
||||
hmContext
|
||||
];
|
||||
__functor = den.lib.parametric.atLeast;
|
||||
};
|
||||
}
|
||||
76
flake/den/modules/aspects/provides/home-manager.nix
Normal file
76
flake/den/modules/aspects/provides/home-manager.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
den,
|
||||
...
|
||||
}:
|
||||
let
|
||||
description = ''
|
||||
integrates home-manager into nixos/darwin OS classes.
|
||||
|
||||
usage:
|
||||
|
||||
for using home-manager in just a particular host:
|
||||
|
||||
den.aspects.my-laptop.includes = [ den._.home-manager ];
|
||||
|
||||
for enabling home-manager by default on all hosts:
|
||||
|
||||
den.default.includes = [ den._.home-manager ];
|
||||
|
||||
Does nothing for hosts that have no users with `homeManager` class.
|
||||
Expects `inputs.home-manager` to exist. If `<host>.hm-module` exists
|
||||
it is the home-manager.{nixos/darwin}Modules.home-manager.
|
||||
|
||||
For each user resolves den.aspects.''${user.aspect} and imports its homeManager class module.
|
||||
'';
|
||||
|
||||
homeManager =
|
||||
{ OS, host }:
|
||||
{ class, aspect-chain }:
|
||||
let
|
||||
hmClass = "homeManager";
|
||||
hmUsers = builtins.filter (u: u.class == hmClass) (lib.attrValues host.users);
|
||||
|
||||
hmUserModule =
|
||||
user:
|
||||
let
|
||||
ctx = {
|
||||
inherit aspect-chain;
|
||||
class = hmClass;
|
||||
};
|
||||
HM = den.aspects.${user.aspect};
|
||||
aspect = HM {
|
||||
inherit host user;
|
||||
OS-HM = { inherit OS HM; };
|
||||
};
|
||||
module = aspect.resolve ctx;
|
||||
in
|
||||
module;
|
||||
|
||||
users = map (user: {
|
||||
name = user.userName;
|
||||
value.imports = [ (hmUserModule user) ];
|
||||
}) hmUsers;
|
||||
|
||||
hmModule = host.hm-module or inputs.home-manager."${class}Modules".home-manager;
|
||||
aspect.${class} = {
|
||||
imports = [ hmModule ];
|
||||
home-manager.users = lib.listToAttrs users;
|
||||
};
|
||||
|
||||
supportedOS = builtins.elem class [
|
||||
"nixos"
|
||||
"darwin"
|
||||
];
|
||||
enabled = supportedOS && builtins.length hmUsers > 0;
|
||||
in
|
||||
if enabled then aspect else { };
|
||||
|
||||
in
|
||||
{
|
||||
den.provides.home-manager = {
|
||||
inherit description;
|
||||
__functor = _: den.lib.take.exactly homeManager;
|
||||
};
|
||||
}
|
||||
77
flake/den/modules/aspects/provides/import-tree.nix
Normal file
77
flake/den/modules/aspects/provides/import-tree.nix
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
{
|
||||
inputs,
|
||||
den,
|
||||
...
|
||||
}:
|
||||
{
|
||||
den.provides.import-tree.description = ''
|
||||
Recursively imports non-dendritic .nix files depending on their Nix configuration `class`.
|
||||
|
||||
This can be used to help migrating from huge existing setups.
|
||||
|
||||
|
||||
```
|
||||
# this is at <repo>/modules/non-dendritic.nix
|
||||
den.aspects.my-laptop.includes = [
|
||||
(den._.import-tree._.host ../non-dendritic)
|
||||
]
|
||||
```
|
||||
|
||||
With following structure, it will automatically load modules depending on their class.
|
||||
|
||||
```
|
||||
<repo>/
|
||||
modules/
|
||||
non-dendritic.nix # configures this aspect
|
||||
non-dendritic/ # name is just an example here
|
||||
hosts/
|
||||
my-laptop/
|
||||
_nixos/ # a directory for `nixos` class
|
||||
auto-generated-hardware.nix # any nixos module
|
||||
_darwin/
|
||||
foo.nix
|
||||
_homeManager/
|
||||
me.nix
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- inputs.import-tree
|
||||
|
||||
## Usage
|
||||
|
||||
this aspect can be included explicitly on any aspect:
|
||||
|
||||
# example: will import ./disko/_nixos files automatically.
|
||||
den.aspects.my-disko.includes = [ (den._.import-tree ./disko/) ];
|
||||
|
||||
or it can be default imported per host/user/home:
|
||||
|
||||
# load from ./hosts/<host>/_nixos
|
||||
den.default.includes = [ (den._.import-tree._.host ./hosts) ];
|
||||
|
||||
# load from ./users/<user>/{_homeManager, _nixos}
|
||||
den.default.includes = [ (den._.import-tree._.user ./users) ];
|
||||
|
||||
# load from ./homes/<home>/_homeManager
|
||||
den.default.includes = [ (den._.import-tree._.home ./homes) ];
|
||||
|
||||
you are also free to create your own auto-imports layout following the implementation of these.
|
||||
'';
|
||||
|
||||
den._.import-tree.__functor =
|
||||
_: root:
|
||||
# deadnix: skip
|
||||
{ class, aspect-chain }:
|
||||
let
|
||||
path = "${toString root}/_${class}";
|
||||
aspect.${class}.imports = [ (inputs.import-tree path) ];
|
||||
in
|
||||
if builtins.pathExists path then aspect else { };
|
||||
|
||||
den._.import-tree.provides = {
|
||||
host = root: { host, ... }: den._.import-tree "${toString root}/${host.name}";
|
||||
home = root: { home, ... }: den._.import-tree "${toString root}/${home.name}";
|
||||
user = root: { user, ... }: den._.import-tree "${toString root}/${user.name}";
|
||||
};
|
||||
}
|
||||
37
flake/den/modules/aspects/provides/primary-user.nix
Normal file
37
flake/den/modules/aspects/provides/primary-user.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib, ... }:
|
||||
let
|
||||
description = ''
|
||||
Sets user as *primary*.
|
||||
|
||||
On NixOS adds wheel and networkmanager groups.
|
||||
On Darwin sets user as system.primaryUser
|
||||
On WSL sets wsl.defaultUser if host has an `wsl` attribute.
|
||||
|
||||
## Usage
|
||||
|
||||
den.aspects.my-user.includes = [ den._.primary-user ];
|
||||
|
||||
'';
|
||||
|
||||
userToHostContext =
|
||||
{ user, host, ... }:
|
||||
let
|
||||
on-wsl.nixos.wsl.defaultUser = user.userName;
|
||||
in
|
||||
{
|
||||
inherit description;
|
||||
includes = lib.optionals (host ? wsl) [ on-wsl ];
|
||||
darwin.system.primaryUser = user.userName;
|
||||
nixos.users.users.${user.userName} = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"networkmanager"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
den.provides.primary-user = userToHostContext;
|
||||
}
|
||||
22
flake/den/modules/aspects/provides/unfree.nix
Normal file
22
flake/den/modules/aspects/provides/unfree.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
den.provides.unfree.description = ''
|
||||
A class generic aspect that enables unfree packages by name.
|
||||
|
||||
Works for any class (nixos/darwin/homeManager,etc) on any host/user/home context.
|
||||
|
||||
## Usage
|
||||
|
||||
den.aspects.my-laptop.includes = [ (den._.unfree [ "code" ]) ];
|
||||
|
||||
It will dynamically provide a module for each class when accessed.
|
||||
'';
|
||||
|
||||
den.provides.unfree.__functor =
|
||||
_self: allowed-names:
|
||||
# deadnix: allow
|
||||
{ class, aspect-chain }:
|
||||
{
|
||||
${class}.nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) allowed-names;
|
||||
};
|
||||
}
|
||||
41
flake/den/modules/aspects/provides/user-shell.nix
Normal file
41
flake/den/modules/aspects/provides/user-shell.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ den, ... }:
|
||||
let
|
||||
|
||||
description = ''
|
||||
Sets a user default shell, enables the shell at OS and Home level.
|
||||
|
||||
Usage:
|
||||
|
||||
den.aspects.vic.includes = [
|
||||
# will always love red snappers.
|
||||
(den._.user-shell "fish")
|
||||
];
|
||||
'';
|
||||
|
||||
userShell =
|
||||
shell: user:
|
||||
let
|
||||
nixos =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.${shell}.enable = true;
|
||||
users.users.${user.userName}.shell = pkgs.${shell};
|
||||
};
|
||||
darwin = nixos;
|
||||
homeManager.programs.${shell}.enable = true;
|
||||
in
|
||||
{
|
||||
inherit nixos darwin homeManager;
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
den.provides.user-shell = shell: {
|
||||
inherit description;
|
||||
__functor = den.lib.parametric.atLeast;
|
||||
includes = [
|
||||
({ user, ... }: userShell shell user)
|
||||
({ home, ... }: userShell shell home)
|
||||
];
|
||||
};
|
||||
}
|
||||
58
flake/den/modules/config.nix
Normal file
58
flake/den/modules/config.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
||||
build =
|
||||
builder: cfg:
|
||||
let
|
||||
items = map builtins.attrValues (builtins.attrValues cfg);
|
||||
buildItem = item: {
|
||||
inherit (item) name intoAttr;
|
||||
value = builder item;
|
||||
};
|
||||
in
|
||||
map buildItem (lib.flatten items);
|
||||
|
||||
osConfiguration =
|
||||
host:
|
||||
host.instantiate {
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
modules = [
|
||||
host.mainModule
|
||||
{ nixpkgs.hostPlatform = lib.mkDefault host.system; }
|
||||
];
|
||||
};
|
||||
|
||||
homeConfiguration =
|
||||
home:
|
||||
withSystem home.system (
|
||||
{ pkgs, ... }:
|
||||
home.instantiate {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
modules = [ home.mainModule ];
|
||||
}
|
||||
);
|
||||
|
||||
cfgs = (build osConfiguration config.den.hosts) ++ (build homeConfiguration config.den.homes);
|
||||
|
||||
outputs =
|
||||
acc: item:
|
||||
acc
|
||||
// {
|
||||
${item.intoAttr} = (acc.${item.intoAttr} or { }) // {
|
||||
${item.name} = item.value;
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
flake = lib.foldl outputs { } cfgs;
|
||||
}
|
||||
14
flake/den/modules/lib.nix
Normal file
14
flake/den/modules/lib.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
lib,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
config.den.lib = inputs.den.lib { inherit inputs lib config; };
|
||||
options.den.lib = lib.mkOption {
|
||||
internal = true;
|
||||
visible = false;
|
||||
type = lib.types.attrsOf lib.types.raw;
|
||||
};
|
||||
}
|
||||
13
flake/den/modules/options.nix
Normal file
13
flake/den/modules/options.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
types = import ./_types.nix { inherit inputs lib config; };
|
||||
in
|
||||
{
|
||||
options.den.hosts = types.hostsOption;
|
||||
options.den.homes = types.homesOption;
|
||||
}
|
||||
10
flake/den/modules/scope.nix
Normal file
10
flake/den/modules/scope.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
config._module.args.den = config.den;
|
||||
imports = [ ((inputs.flake-aspects.lib lib).new-scope "den") ];
|
||||
}
|
||||
55
flake/den/nix/den-brackets.nix
Normal file
55
flake/den/nix/den-brackets.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# __findFile implementation to resolve deep aspects.
|
||||
# inspired by https://fzakaria.com/2025/08/10/angle-brackets-in-a-nix-flake-world
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
_nixPath: name:
|
||||
let
|
||||
|
||||
findAspect =
|
||||
path:
|
||||
let
|
||||
head = lib.head path;
|
||||
tail = lib.tail path;
|
||||
|
||||
notFound = "Aspect not found: ${lib.concatStringsSep "." path}";
|
||||
|
||||
headIsDen = head == "den";
|
||||
readFromDen = lib.getAttrFromPath ([ "den" ] ++ tail) config;
|
||||
|
||||
headIsAspect = builtins.hasAttr head config.den.aspects;
|
||||
aspectsPath = [
|
||||
"den"
|
||||
"aspects"
|
||||
] ++ path;
|
||||
readFromAspects = lib.getAttrFromPath aspectsPath config;
|
||||
|
||||
headIsDenful = lib.hasAttrByPath [ "ful" head ] config.den;
|
||||
denfulTail = if lib.head tail == "provides" then lib.tail tail else tail;
|
||||
denfulPath = [
|
||||
"den"
|
||||
"ful"
|
||||
head
|
||||
] ++ denfulTail;
|
||||
readFromDenful = lib.getAttrFromPath denfulPath config;
|
||||
|
||||
found =
|
||||
if headIsDen then
|
||||
readFromDen
|
||||
else if headIsAspect then
|
||||
readFromAspects
|
||||
else if headIsDenful then
|
||||
readFromDenful
|
||||
else
|
||||
throw notFound;
|
||||
in
|
||||
found;
|
||||
|
||||
in
|
||||
lib.pipe name [
|
||||
(lib.strings.replaceStrings [ "/" ] [ ".provides." ])
|
||||
(lib.strings.splitString ".")
|
||||
(findAspect)
|
||||
]
|
||||
4
flake/den/nix/flakeModule.nix
Normal file
4
flake/den/nix/flakeModule.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{ inputs, ... }:
|
||||
{
|
||||
imports = [ (inputs.import-tree ../modules) ];
|
||||
}
|
||||
24
flake/den/nix/fn-can-take.nix
Normal file
24
flake/den/nix/fn-can-take.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
lib:
|
||||
let
|
||||
check =
|
||||
params: func:
|
||||
let
|
||||
givenArgs = builtins.isAttrs params;
|
||||
fargs = lib.functionArgs func;
|
||||
provided = builtins.attrNames params;
|
||||
args = lib.mapAttrsToList (name: optional: { inherit name optional; }) fargs;
|
||||
required = map (x: x.name) (lib.filter (x: !x.optional) args);
|
||||
intersection = lib.intersectLists required provided;
|
||||
satisfied = givenArgs && lib.length required == lib.length intersection;
|
||||
noExtras = lib.length required == lib.length provided;
|
||||
exactly = satisfied && noExtras;
|
||||
in
|
||||
{
|
||||
inherit satisfied exactly;
|
||||
};
|
||||
in
|
||||
{
|
||||
__functor = self: self.atLeast;
|
||||
atLeast = params: func: (check params func).satisfied;
|
||||
exactly = params: func: (check params func).exactly;
|
||||
}
|
||||
101
flake/den/nix/lib.nix
Normal file
101
flake/den/nix/lib.nix
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
||||
# "Just Give 'Em One of These" - Moe Szyslak
|
||||
# A __functor that applies context to parametric includes (functions)
|
||||
funk =
|
||||
apply: aspect:
|
||||
aspect
|
||||
// {
|
||||
__functor = self: ctx: {
|
||||
includes = builtins.filter (x: x != { }) (map (apply ctx) (builtins.filter isFn self.includes));
|
||||
};
|
||||
};
|
||||
|
||||
isFn = f: (builtins.isFunction f) || (f ? __functor);
|
||||
canTake = import ./fn-can-take.nix lib;
|
||||
|
||||
# creates an aspect that inherits class from fromAspect.
|
||||
owned =
|
||||
aspect:
|
||||
aspect
|
||||
// {
|
||||
includes = [ ];
|
||||
__functor =
|
||||
self:
|
||||
# deadnix: skip
|
||||
{ class, aspect-chain }:
|
||||
self;
|
||||
};
|
||||
|
||||
# only static includes from an aspect.
|
||||
statics =
|
||||
aspect:
|
||||
aspect
|
||||
// {
|
||||
__functor =
|
||||
self:
|
||||
# deadnix: skip
|
||||
{ class, aspect-chain }@ctx:
|
||||
funk applyStatics self ctx;
|
||||
};
|
||||
|
||||
applyStatics =
|
||||
ctx: f:
|
||||
if isStatic f then
|
||||
f ctx
|
||||
else if !isFn f then
|
||||
f
|
||||
else
|
||||
{ };
|
||||
|
||||
isStatic = canTake {
|
||||
class = "";
|
||||
aspect-chain = [ ];
|
||||
};
|
||||
|
||||
take.unused = _unused: used: used;
|
||||
take.exactly = take canTake.exactly;
|
||||
take.atLeast = take canTake.atLeast;
|
||||
take.__functor =
|
||||
_: takes: fn: ctx:
|
||||
if takes ctx fn then fn ctx else { };
|
||||
|
||||
parametric.atLeast = funk (lib.flip take.atLeast);
|
||||
parametric.exactly = funk (lib.flip take.exactly);
|
||||
parametric.fixedTo = lib.flip parametric.atLeast;
|
||||
parametric.expands = attrs: funk (ctx: (lib.flip take.atLeast) (ctx // attrs));
|
||||
parametric.__functor =
|
||||
self: ctx:
|
||||
if ctx == true then
|
||||
self.atLeast
|
||||
else if ctx == false then
|
||||
self.exactly
|
||||
else if isFn ctx then
|
||||
funk ctx
|
||||
else
|
||||
self.fixedTo ctx;
|
||||
|
||||
aspects = inputs.flake-aspects.lib lib;
|
||||
|
||||
__findFile = import ./den-brackets.nix { inherit lib config; };
|
||||
|
||||
den-lib = {
|
||||
inherit
|
||||
parametric
|
||||
aspects
|
||||
__findFile
|
||||
statics
|
||||
owned
|
||||
isFn
|
||||
canTake
|
||||
take
|
||||
;
|
||||
};
|
||||
in
|
||||
den-lib
|
||||
29
flake/den/nix/namespace.nix
Normal file
29
flake/den/nix/namespace.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
name: input:
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
isLocal = !builtins.isAttrs input;
|
||||
isOutput = isLocal && input == true;
|
||||
|
||||
aliasModule = lib.mkAliasOptionModule [ name ] [ "den" "ful" name ];
|
||||
|
||||
type = lib.types.attrsOf config.den.lib.aspects.types.providerType;
|
||||
|
||||
source = if isLocal then { } else input.denful.${name};
|
||||
output =
|
||||
if isOutput then
|
||||
{
|
||||
config.flake.denful.${name} = config.den.ful.${name};
|
||||
options.flake.denful.${name} = lib.mkOption { inherit type; };
|
||||
}
|
||||
else
|
||||
{ };
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
aliasModule
|
||||
output
|
||||
];
|
||||
config._module.args.${name} = config.den.ful.${name};
|
||||
config.den.ful.${name} = source;
|
||||
options.den.ful.${name} = lib.mkOption { inherit type; };
|
||||
}
|
||||
13
flake/den/nix/template-packages.nix
Normal file
13
flake/den/nix/template-packages.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
let
|
||||
rev = "9100a0f";
|
||||
narHash = "sha256:09m84vsz1py50giyfpx0fpc7a4i0r1xsb54dh0dpdg308lp4p188";
|
||||
compat = fetchTarball {
|
||||
url = "https://github.com/edolstra/flake-compat/archive/${rev}.tar.gz";
|
||||
sha256 = narHash;
|
||||
};
|
||||
flake = import compat { src = ../templates/default; };
|
||||
pkgs = flake.outputs.packages;
|
||||
in
|
||||
{
|
||||
x86_64-linux.default = pkgs.x86_64-linux.vm;
|
||||
}
|
||||
21
flake/den/templates/bogus/.github/workflows/test.yml
vendored
Normal file
21
flake/den/templates/bogus/.github/workflows/test.yml
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
on:
|
||||
pull_request:
|
||||
push:
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
flake-check:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest]
|
||||
name: Nix flake check
|
||||
runs-on: ${{matrix.os}}
|
||||
steps:
|
||||
- uses: wimpysworld/nothing-but-nix@main
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
- uses: DeterminateSystems/nix-installer-action@main
|
||||
- uses: DeterminateSystems/magic-nix-cache-action@main
|
||||
- uses: actions/checkout@v5
|
||||
- run: nix flake metadata
|
||||
- run: nix flake check
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue