NixDaemon

NixOS pentest workstation as one flake — IceBreaker's successor
git clone https://git.daemon-sec.xyz/NixDaemon.git
Log | Files | Refs | README

config.ron (11499B)


      1 #![enable(implicit_some)]
      2 #![enable(unwrap_newtypes)]
      3 #![enable(unwrap_variant_newtypes)]
      4 (
      5     address: "/run/user/1000/mpd/socket",
      6     password: None,
      7     theme: "rose-pine",
      8     cache_dir: None,
      9     on_song_change: ["~/.config/rmpc/scripts/fetch-lyrics"],
     10     lyrics_dir: "~/.local/share/rmpc/lyrics",
     11     volume_step: 5,
     12     max_fps: 60,
     13     scrolloff: 3,
     14     wrap_navigation: false,
     15     enable_mouse: true,
     16     scroll_amount: 1,
     17     enable_config_hot_reload: true,
     18     enable_lyrics_hot_reload: true,
     19     status_update_interval_ms: 500,
     20     rewind_to_start_sec: None,
     21     keep_state_on_song_change: true,
     22     reflect_changes_to_playlist: false,
     23     select_current_song_on_change: false,
     24     ignore_leading_the: false,
     25     browser_song_sort: [Disc, Track, Artist, Title],
     26     directories_sort: SortFormat(group_by_type: true, reverse: false),
     27     auto_open_downloads: true,
     28     album_art: (
     29         method: Auto,
     30         max_size_px: (width: 1200, height: 1200),
     31         disabled_protocols: ["http://", "https://"],
     32         vertical_align: Center,
     33         horizontal_align: Center,
     34     ),
     35     cava: (
     36         framerate: 60,
     37         autosens: true,
     38         input: (
     39             method: Fifo,
     40             source: "/run/user/1000/mpd/fifo",
     41             sample_rate: 44100,
     42             channels: 2,
     43             sample_bits: 16,
     44         ),
     45         smoothing: (
     46             noise_reduction: 77,
     47             monstercat: true,
     48             waves: false,
     49         ),
     50     ),
     51     keybinds: (
     52         global: {
     53             "q":          Quit,
     54             "?":          ShowHelp,
     55             ":":          CommandMode,
     56             "oI":         ShowCurrentSongInfo,
     57             "oo":         ShowOutputs,
     58             "op":         ShowDecoders,
     59             "od":         ShowDownloads,
     60             "oP":         Partition(),
     61             "z":          ToggleRepeat,
     62             "x":          ToggleRandom,
     63             "c":          ToggleConsume,
     64             "v":          ToggleSingle,
     65             "p":          TogglePause,
     66             "s":          Stop,
     67             ">":          NextTrack,
     68             "<":          PreviousTrack,
     69             "f":          SeekForward,
     70             "b":          SeekBack,
     71             ".":          VolumeUp,
     72             ",":          VolumeDown,
     73             "<Tab>":      NextTab,
     74             "gt":         NextTab,
     75             "<S-Tab>":    PreviousTab,
     76             "gT":         PreviousTab,
     77             "1":          SwitchToTab("Queue"),
     78             "2":          SwitchToTab("Now Playing"),
     79             "3":          SwitchToTab("Directories"),
     80             "4":          SwitchToTab("Artists"),
     81             "5":          SwitchToTab("Album Artists"),
     82             "6":          SwitchToTab("Albums"),
     83             "7":          SwitchToTab("Genre"),
     84             "8":          SwitchToTab("Playlists"),
     85             "9":          SwitchToTab("Search"),
     86             "0":          SwitchToTab("Lyrics"),
     87             "L":          SwitchToTab("Lyrics"),
     88             "<C-u>":      Update,
     89             "<C-U>":      Rescan,
     90             "R":          AddRandom,
     91         },
     92         navigation: {
     93             "<C-c>":      Close,
     94             "<Esc>":      Close,
     95             "<CR>":       Confirm,
     96             "k":          Up,
     97             "<Up>":       Up,
     98             "j":          Down,
     99             "<Down>":     Down,
    100             "h":          Left,
    101             "<Left>":     Left,
    102             "l":          Right,
    103             "<Right>":    Right,
    104             "<C-w>k":     PaneUp,
    105             "<C-Up>":     PaneUp,
    106             "<C-w>j":     PaneDown,
    107             "<C-Down>":   PaneDown,
    108             "<C-w>h":     PaneLeft,
    109             "<C-Left>":   PaneLeft,
    110             "<C-w>l":     PaneRight,
    111             "<C-Right>":  PaneRight,
    112             "K":          MoveUp,
    113             "J":          MoveDown,
    114             "<C-u>":      UpHalf,
    115             "<C-d>":      DownHalf,
    116             "<C-b>":      PageUp,
    117             "<PageUp>":   PageUp,
    118             "<C-f>":      PageDown,
    119             "<PageDown>": PageDown,
    120             "gg":         Top,
    121             "G":          Bottom,
    122             "<Space>":    Select,
    123             "<C-Space>":  InvertSelection,
    124             "/":          EnterSearch,
    125             "n":          NextResult,
    126             "N":          PreviousResult,
    127             "a":          Add,
    128             "A":          AddAll,
    129             "D":          Delete,
    130             "<C-r>":      Rename,
    131             "i":          FocusInput,
    132             "oi":         ShowInfo,
    133             "<C-z>":      ContextMenu(),
    134             "<C-s>s":     Save(kind: Modal(all: false, duplicates_strategy: Ask)),
    135             "<C-s>a":     Save(kind: Modal(all: true, duplicates_strategy: Ask)),
    136             "r":          Rate(),
    137         },
    138         queue: {
    139             "d":          Delete,
    140             "D":          DeleteAll,
    141             "<CR>":       Play,
    142             "C":          JumpToCurrent,
    143             "X":          Shuffle,
    144         },
    145     ),
    146     search: (
    147         case_sensitive: false,
    148         ignore_diacritics: false,
    149         search_button: false,
    150         mode: Contains,
    151         tags: [
    152             (value: "any",         label: "Any Tag"),
    153             (value: "artist",      label: "Artist"),
    154             (value: "album",       label: "Album"),
    155             (value: "albumartist", label: "Album Artist"),
    156             (value: "title",       label: "Title"),
    157             (value: "filename",    label: "Filename"),
    158             (value: "genre",       label: "Genre"),
    159         ],
    160     ),
    161     artists: (
    162         album_display_mode: SplitByDate,
    163         album_sort_by: Date,
    164         album_date_tags: [Date],
    165     ),
    166     tabs: [
    167         (
    168             name: "Queue",
    169             pane: Split(
    170                 direction: Horizontal,
    171                 panes: [
    172                     (
    173                         size: "40%",
    174                         borders: "ALL",
    175                         border_symbols: Rounded,
    176                         pane: Pane(AlbumArt),
    177                     ),
    178                     (
    179                         size: "60%",
    180                         pane: Split(
    181                             direction: Vertical,
    182                             panes: [
    183                                 (
    184                                     size: "3",
    185                                     borders: "ALL",
    186                                     border_symbols: Inherited(parent: Rounded, bottom_left: "├", bottom_right: "┤"),
    187                                     pane: Split(
    188                                         direction: Horizontal,
    189                                         panes: [
    190                                             (size: "1", pane: Pane(Empty())),
    191                                             (size: "100%", pane: Pane(QueueHeader())),
    192                                         ],
    193                                     ),
    194                                 ),
    195                                 (
    196                                     size: "100%",
    197                                     borders: "LEFT | RIGHT | BOTTOM",
    198                                     border_symbols: Rounded,
    199                                     pane: Split(
    200                                         direction: Horizontal,
    201                                         panes: [
    202                                             (size: "1", pane: Pane(Empty())),
    203                                             (size: "100%", pane: Pane(Queue)),
    204                                         ],
    205                                     ),
    206                                 ),
    207                                 (
    208                                     size: "35%",
    209                                     borders: "ALL",
    210                                     border_symbols: Rounded,
    211                                     border_title: [(kind: Text(" Visualiser "))],
    212                                     border_title_alignment: Right,
    213                                     pane: Pane(Cava),
    214                                 ),
    215                             ],
    216                         ),
    217                     ),
    218                 ],
    219             ),
    220         ),
    221         (
    222             name: "Now Playing",
    223             pane: Split(
    224                 direction: Horizontal,
    225                 panes: [
    226                     (
    227                         size: "42%",
    228                         borders: "ALL",
    229                         border_symbols: Rounded,
    230                         pane: Pane(AlbumArt),
    231                     ),
    232                     (
    233                         size: "58%",
    234                         pane: Split(
    235                             direction: Vertical,
    236                             panes: [
    237                                 (
    238                                     size: "65%",
    239                                     borders: "ALL",
    240                                     border_symbols: Rounded,
    241                                     border_title: [(kind: Text(" Synced Lyrics "))],
    242                                     border_title_alignment: Center,
    243                                     pane: Pane(Lyrics),
    244                                 ),
    245                                 (
    246                                     size: "35%",
    247                                     borders: "ALL",
    248                                     border_symbols: Rounded,
    249                                     border_title: [(kind: Text(" Visualiser "))],
    250                                     border_title_alignment: Right,
    251                                     pane: Pane(Cava),
    252                                 ),
    253                             ],
    254                         ),
    255                     ),
    256                 ],
    257             ),
    258         ),
    259         (
    260             name: "Directories",
    261             pane: Split(
    262                 direction: Vertical,
    263                 panes: [(pane: Pane(Directories), size: "100%", borders: "ALL", border_symbols: Rounded)],
    264             ),
    265         ),
    266         (
    267             name: "Artists",
    268             pane: Split(
    269                 direction: Vertical,
    270                 panes: [(pane: Pane(Artists), size: "100%", borders: "ALL", border_symbols: Rounded)],
    271             ),
    272         ),
    273         (
    274             name: "Album Artists",
    275             pane: Split(
    276                 direction: Vertical,
    277                 panes: [(pane: Pane(AlbumArtists), size: "100%", borders: "ALL", border_symbols: Rounded)],
    278             ),
    279         ),
    280         (
    281             name: "Albums",
    282             pane: Split(
    283                 direction: Vertical,
    284                 panes: [(pane: Pane(Albums), size: "100%", borders: "ALL", border_symbols: Rounded)],
    285             ),
    286         ),
    287         (
    288             name: "Genre",
    289             pane: Split(
    290                 direction: Vertical,
    291                 panes: [(pane: Pane(Browser(root_tag: "genre")), size: "100%", borders: "ALL", border_symbols: Rounded)],
    292             ),
    293         ),
    294         (
    295             name: "Playlists",
    296             pane: Split(
    297                 direction: Vertical,
    298                 panes: [(pane: Pane(Playlists), size: "100%", borders: "ALL", border_symbols: Rounded)],
    299             ),
    300         ),
    301         (
    302             name: "Search",
    303             pane: Split(
    304                 direction: Vertical,
    305                 panes: [(pane: Pane(Search), size: "100%", borders: "ALL", border_symbols: Rounded)],
    306             ),
    307         ),
    308         (
    309             name: "Lyrics",
    310             pane: Split(
    311                 direction: Vertical,
    312                 panes: [(pane: Pane(Lyrics), size: "100%", borders: "ALL", border_symbols: Rounded)],
    313             ),
    314         ),
    315     ],
    316 )