diff --git a/TODO b/TODO index bda5e52..f160906 100644 --- a/TODO +++ b/TODO @@ -22,6 +22,7 @@ +- [ ] vimPlugins.coc-rls +- [x] Get rust-analyzer binaries from https://github.com/rust-lang/rust-analyzer +- [ ] rust-analyzer doesn't fucking work (and you should probably use mkShell for this) + +- [ ] All of a sudden Nix won't let you run rustc or cargo due to some dynamically linked executable bullshit [x] See if you can use nixpkgs vscode extensions with codium [ ] Get language servers to work with Neovim [ ] Theme your SDDM (you should make one yourself ;w;;;) @@ -33,6 +34,7 @@ [ ] Dig polybar's grave (you're not using it anymore so why keep it around?) [ ] Get a pager/systray [ ] Fix yambar being offset on your screen for some reason (might have to file an issue on its repo) +[ ] Get MPC to work with yambar (having to use playerctl mpris bridge shit at the moment which doesn't work very well x_x) [ ] Host-dependent home configurations (e.g. don't assume MPD music is in `/mnt/world/music` for every machine) +- [ ] Maybe symlink your music to a music folder in your home directory or something (i.e. `~/Music -> /mnt/world/music` or perhaps a subdirectory of that?) [ ] rmpc isnt working WAAAAAAAAAAAAAAAAAAAAAAAAAaa ive been working on this for a month i just wanna be done so i can lie down and cuddle girls and be happy forever................ diff --git a/configs/rmpc/config.ron b/configs/rmpc/config.ron new file mode 100644 index 0000000..74610a3 --- /dev/null +++ b/configs/rmpc/config.ron @@ -0,0 +1,145 @@ +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +#![enable(unwrap_variant_newtypes)] +( + address: "127.0.0.1:6600", + password: None, + theme: Some("neralie"), + cache_dir: None, + on_song_change: None, + volume_step: 5, + scrolloff: 0, + wrap_navigation: false, + enable_mouse: true, + status_update_interval_ms: 1000, + select_current_song_on_change: false, + album_art: ( + method: Auto, + max_size_px: (width: 600, height: 600), + disabled_protocols: ["http://", "https://"], + ), + keybinds: ( + global: { + ":": CommandMode, + ",": VolumeDown, + ".": VolumeUp, + "p": TogglePause, + "s": Stop, + "q": Quit, + "": NextTab, + "": PreviousTab, + ">": NextTrack, + "<": PreviousTrack, + "": SeekForward, + "": SeekBack, + "z": ToggleRepeat, + "x": ToggleRandom, + "c": ToggleConsume, + "v": ToggleSingle, + "`": ShowHelp, + "?": ShowCurrentSongInfo, + "O": ShowOutputs, + "P": ShowDecoders, + "1": SwitchToTab("Queue"), + "2": SwitchToTab("Directories"), + "3": SwitchToTab("Album Artists"), + "4": SwitchToTab("Albums"), + "5": SwitchToTab("Playlists"), + "6": SwitchToTab("Search"), + }, + navigation: { + "k": Up, + "j": Down, + "h": Left, + "l": Right, + "": Up, + "": Down, + "": Left, + "": Right, + "": PaneUp, + "": PaneDown, + "": PaneLeft, + "": PaneRight, + "": UpHalf, + "": DownHalf, + "N": PreviousResult, + "n": NextResult, + "": Add, + "A": AddAll, + "": Delete, + "r": Rename, + "": Top, + "": Bottom, + "": Select, + "": InvertSelection, + "": Confirm, + "i": FocusInput, + "/": EnterSearch, + "": Close, + "": Close, + "K": MoveUp, + "J": MoveDown, + }, + queue: { + "D": DeleteAll, + "": Play, + "": Save, + "a": AddToPlaylist, + "d": Delete, + "i": ShowInfo, + "C": JumpToCurrent, + }, + ), + search: ( + case_sensitive: 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, + ), + tabs: [ + ( + name: "Queue", + border_type: None, + pane: Split( + direction: Horizontal, + panes: [(size: "40%", pane: Pane(AlbumArt)), (size: "60%", pane: Pane(Queue))], + ), + ), + ( + name: "Directories", + border_type: None, + pane: Pane(Directories), + ), + ( + name: "Artists", + border_type: None, + pane: Pane(AlbumArtists), + ), + ( + name: "Albums", + border_type: None, + pane: Pane(Albums), + ), + ( + name: "Playlists", + border_type: None, + pane: Pane(Playlists), + ), + ( + name: "Search", + border_type: None, + pane: Pane(Search), + ), + ], +) diff --git a/configs/rmpc/themes/neralie.ron b/configs/rmpc/themes/neralie.ron new file mode 100644 index 0000000..720e4a0 --- /dev/null +++ b/configs/rmpc/themes/neralie.ron @@ -0,0 +1,127 @@ +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +#![enable(unwrap_variant_newtypes)] +( + album_art_position: Left, + album_art_width_percent: 40, + default_album_art_path: None, + show_song_table_header: true, + draw_borders: true, + browser_column_widths: [20, 38, 42], + background_color: None, + text_color: None, + header_background_color: None, + modal_background_color: None, + tab_bar: ( + enabled: true, + active_style: (fg: "black", bg: "blue", modifiers: "Bold"), + inactive_style: (), + ), + highlighted_item_style: (fg: "blue", modifiers: "Bold"), + current_item_style: (fg: "black", bg: "blue", modifiers: "Bold"), + borders_style: (fg: "blue"), + highlight_border_style: (fg: "blue"), + symbols: (song: " ", dir: ":", marker: ">", ellipsis: "..."), + progress_bar: ( + symbols: ["█", "▌", " "], + track_style: (fg: "#1e2030"), + elapsed_style: (fg: "blue"), + thumb_style: (fg: "blue", bg: "#1e2030"), + ), + scrollbar: ( + symbols: ["│", "█", "▲", "▼"], + track_style: (), + ends_style: (), + thumb_style: (fg: "blue"), + ), + song_table_format: [ + ( + prop: (kind: Property(Artist), + default: (kind: Text("Unknown")) + ), + width: "20%", + ), + ( + prop: (kind: Property(Title), + default: (kind: Text("Unknown")) + ), + width: "35%", + ), + ( + prop: (kind: Property(Album), style: (fg: "white"), + default: (kind: Text("Unknown Album"), style: (fg: "white")) + ), + width: "30%", + ), + ( + prop: (kind: Property(Duration), + default: (kind: Text("-")) + ), + width: "15%", + alignment: Right, + ), + ], + header: ( + rows: [ + ( + left: [ + (kind: Text("["), style: (fg: "yellow", modifiers: "Bold")), + (kind: Property(Status(State)), style: (fg: "yellow", modifiers: "Bold")), + (kind: Text("]"), style: (fg: "yellow", modifiers: "Bold")) + ], + center: [ + (kind: Property(Song(Title)), style: (modifiers: "Bold"), + default: (kind: Text("No Song"), style: (modifiers: "Bold")) + ) + ], + right: [ + (kind: Property(Widget(Volume)), style: (fg: "blue")) + ] + ), + ( + left: [ + (kind: Property(Status(Elapsed))), + (kind: Text(" / ")), + (kind: Property(Status(Duration))), + (kind: Text(" (")), + (kind: Property(Status(Bitrate))), + (kind: Text(" kbps)")) + ], + center: [ + (kind: Property(Song(Artist)), style: (fg: "yellow", modifiers: "Bold"), + default: (kind: Text("Unknown"), style: (fg: "yellow", modifiers: "Bold")) + ), + (kind: Text(" - ")), + (kind: Property(Song(Album)), + default: (kind: Text("Unknown Album")) + ) + ], + right: [ + ( + kind: Property(Widget(States( + active_style: (fg: "white", modifiers: "Bold"), + separator_style: (fg: "white"))) + ), + style: (fg: "dark_gray") + ), + ] + ), + ], + ), + browser_song_format: [ + ( + kind: Group([ + (kind: Property(Track)), + (kind: Text(" ")), + ]) + ), + ( + kind: Group([ + (kind: Property(Artist)), + (kind: Text(" - ")), + (kind: Property(Title)), + ]), + default: (kind: Property(Filename)) + ), + ], +) diff --git a/nixos/home/base.nix b/nixos/home/base.nix index a9f2cfd..100238e 100644 --- a/nixos/home/base.nix +++ b/nixos/home/base.nix @@ -15,6 +15,7 @@ }; xdg.configFile = { "openbox".source = ../../configs/openbox; + "rmpc".source = ../../configs/rmpc; }; programs = {