summaryrefslogtreecommitdiffstats
path: root/rmpc-config.nix
blob: 21ee604ee2b9a403cf5cfce1fc59bf9bb1fe252d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
{ config, pkgs, ... }:
{
  home.file = {
    ".config/rmpc/config.ron".text = ''
      		#![enable(implicit_some)]
      		#![enable(unwrap_newtypes)]
      		#![enable(unwrap_variant_newtypes)]
      		(
      		    address: "127.0.0.1:6600",
      		    password: None,
      		    theme: None,
      		    cache_dir: None,
      		    on_song_change: None,
      		    volume_step: 5,
      		    max_fps: 30,
      		    scrolloff: 0,
      		    wrap_navigation: false,
      		    enable_mouse: true,
      		    enable_config_hot_reload: true,
      		    status_update_interval_ms: 1000,
      		    rewind_to_start_sec: None,
      		    reflect_changes_to_playlist: false,
      		    select_current_song_on_change: false,
      		    browser_song_sort: [Disc, Track, Artist, Title],
      		    directories_sort: SortFormat(group_by_type: true, reverse: false),
      		    album_art: (
      			method: Auto,
      			max_size_px: (width: 1200, height: 1200),
      			disabled_protocols: ["http://", "https://"],
      			vertical_align: Center,
      			horizontal_align: Center,
      		    ),
      		    keybinds: (
      			global: {
      			    ":":       CommandMode,
      			    ",":       VolumeDown,
      			    "s":       Stop,
      			    ".":       VolumeUp,
      			    "<Tab>":   NextTab,
      			    "<S-Tab>": PreviousTab,
      			    "1":       SwitchToTab("Queue"),
      			    "2":       SwitchToTab("Directories"),
      			    "3":       SwitchToTab("Artists"),
      			    "4":       SwitchToTab("Album Artists"),
      			    "5":       SwitchToTab("Albums"),
      			    "6":       SwitchToTab("Playlists"),
      			    "7":       SwitchToTab("Search"),
      			    "q":       Quit,
      			    ">":       NextTrack,
      			    "p":       TogglePause,
      			    "<":       PreviousTrack,
      			    "f":       SeekForward,
      			    "z":       ToggleRepeat,
      			    "x":       ToggleRandom,
      			    "c":       ToggleConsume,
      			    "v":       ToggleSingle,
      			    "b":       SeekBack,
      			    "~":       ShowHelp,
      			    "u":       Update,
      			    "U":       Rescan,
      			    "I":       ShowCurrentSongInfo,
      			    "O":       ShowOutputs,
      			    "P":       ShowDecoders,
      			    "R":       AddRandom,
      			},
      			navigation: {
      			    "k":         Up,
      			    "j":         Down,
      			    "h":         Left,
      			    "l":         Right,
      			    "<Up>":      Up,
      			    "<Down>":    Down,
      			    "<Left>":    Left,
      			    "<Right>":   Right,
      			    "<C-k>":     PaneUp,
      			    "<C-j>":     PaneDown,
      			    "<C-h>":     PaneLeft,
      			    "<C-l>":     PaneRight,
      			    "<C-u>":     UpHalf,
      			    "N":         PreviousResult,
      			    "a":         Add,
      			    "A":         AddAll,
      			    "r":         Rename,
      			    "n":         NextResult,
      			    "g":         Top,
      			    "<Space>":   Select,
      			    "<C-Space>": InvertSelection,
      			    "G":         Bottom,
      			    "<CR>":      Confirm,
      			    "i":         FocusInput,
      			    "J":         MoveDown,
      			    "<C-d>":     DownHalf,
      			    "/":         EnterSearch,
      			    "<C-c>":     Close,
      			    "<Esc>":     Close,
      			    "K":         MoveUp,
      			    "D":         Delete,
      			    "B":         ShowInfo,
      			},
      			queue: {
      			    "D":       DeleteAll,
      			    "<CR>":    Play,
      			    "<C-s>":   Save,
      			    "a":       AddToPlaylist,
      			    "d":       Delete,
      			    "C":       JumpToCurrent,
      			    "X":       Shuffle,
      			},
      		    ),
      		    search: (
      			case_sensitive: false,
      			ignore_diacritics: false,
      			mode: Contains,
      			tags: [
      			    (value: "any",         label: "Any Tag"),
      			    (value: "artist",      label: "Artist"),
      			    (value: "album",       label: "Album"),
      			    (value: "albumartist", label: "Album Artist"),
      			    (value: "title",       label: "Title"),
      			    (value: "filename",    label: "Filename"),
      			    (value: "genre",       label: "Genre"),
      			],
      		    ),
      		    artists: (
      			album_display_mode: SplitByDate,
      			album_sort_by: Date,
      			album_date_tags: [Date],
      		    ),
      		    tabs: [
      		    (
      			name: "Queue",
      			pane: Split(
      			    direction: Horizontal,
      			    panes: [(size: "60%", pane: Pane(Queue)), (size: "40%", pane: Pane(AlbumArt))],
      			),
      		    ),
      		    (
      			name: "Directories",
      			pane: Pane(Directories),
      		    ),
      		    (
      			name: "Artists",
      			pane: Pane(Artists),
      		    ),
      		    (
      			name: "Album Artists",
      			pane: Pane(AlbumArtists),
      		    ),
      		    (
      			name: "Albums",
      			pane: Pane(Albums),
      		    ),
      		    (
      			name: "Playlists",
      			pane: Pane(Playlists),
      		    ),
      		    (
      			name: "Search",
      			pane: Pane(Search),
      		    ),
      			],
      		)
      	'';
  };
}