mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-12-07 05:27:13 -06:00
Compare commits
9 commits
b272b98427
...
8a06bb05fe
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a06bb05fe | ||
|
|
c359f738ab | ||
|
|
4fd3e14640 | ||
|
|
1fa809d7f5 | ||
|
|
936e8207d0 | ||
|
|
16c70361a6 | ||
|
|
3908f12e5d | ||
|
|
2840b2af43 | ||
|
|
41c5ec9b29 |
23 changed files with 538 additions and 77 deletions
|
|
@ -64,6 +64,25 @@
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
name = "rust";
|
name = "rust";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "ron";
|
||||||
|
scope = "source.ron";
|
||||||
|
file-types = [ "ron" ];
|
||||||
|
comment-token = "//";
|
||||||
|
language-servers = [ "rust-analyzer" ];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = {
|
||||||
|
command = "rustfmt";
|
||||||
|
args = [
|
||||||
|
"--edition"
|
||||||
|
"2021"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
indent = {
|
||||||
|
tab-width = 4;
|
||||||
|
unit = " ";
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
file-types = [ "txt" ];
|
file-types = [ "txt" ];
|
||||||
language-servers = [ "vale" ];
|
language-servers = [ "vale" ];
|
||||||
|
|
|
||||||
|
|
@ -12,5 +12,12 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = userConfig.name;
|
userName = userConfig.name;
|
||||||
userEmail = userConfig.email.address0;
|
userEmail = userConfig.email.address0;
|
||||||
|
|
||||||
|
# settings = {
|
||||||
|
# ${user} = {
|
||||||
|
# userName = userConfig.name;
|
||||||
|
# userEmail = userConfig.email.address0;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
28
modules/home/cli/fun/mpd/default.nix
Normal file
28
modules/home/cli/fun/mpd/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
mpd = {
|
||||||
|
enable = true;
|
||||||
|
musicDirectory = "/mnt/media/ceres/storage/Music";
|
||||||
|
extraConfig = ''
|
||||||
|
audio_output {
|
||||||
|
type "pulse"
|
||||||
|
name "my_fifo"
|
||||||
|
path "/tmp/mpd.fifo"
|
||||||
|
format "44100:16:2"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
mpd-discord-rpc = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
format = {
|
||||||
|
hosts = [ "localhost:6600" ];
|
||||||
|
details = "$title";
|
||||||
|
state = "$artist";
|
||||||
|
display_type = "state";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.cava.enable = true;
|
||||||
|
}
|
||||||
204
modules/home/cli/fun/rmpc/config/catppuccin-macchiato.ron
Normal file
204
modules/home/cli/fun/rmpc/config/catppuccin-macchiato.ron
Normal file
|
|
@ -0,0 +1,204 @@
|
||||||
|
#![enable(implicit_some)]
|
||||||
|
#![enable(unwrap_newtypes)]
|
||||||
|
#![enable(unwrap_variant_newtypes)]
|
||||||
|
(
|
||||||
|
show_song_table_header: false,
|
||||||
|
draw_borders: true,
|
||||||
|
browser_column_widths: [20, 38, 42],
|
||||||
|
background_color: "#2e3440",
|
||||||
|
modal_backdrop: true,
|
||||||
|
text_color: "#d8dee9",
|
||||||
|
header_background_color: "#2e3440",
|
||||||
|
modal_background_color: "#2e3440",
|
||||||
|
preview_label_style: (fg: "#b48ead"),
|
||||||
|
preview_metadata_group_style: (fg: "#81a1c1"),
|
||||||
|
song_table_album_separator: None,
|
||||||
|
tab_bar: (
|
||||||
|
enabled: true,
|
||||||
|
active_style: (fg: "#2e3440", bg: "#81A1C1", modifiers: "Bold"),
|
||||||
|
inactive_style: (fg: "#d8dee9", bg: "#2e3440"),
|
||||||
|
),
|
||||||
|
highlighted_item_style: (fg: "#a3be8c", modifiers: "Bold"),
|
||||||
|
current_item_style: (fg: "#2e3440", bg: "#81a1c1", modifiers: "Bold"),
|
||||||
|
borders_style: (fg: "#81a1c1", modifiers: "Bold"),
|
||||||
|
highlight_border_style: (fg: "#81a1c1"),
|
||||||
|
symbols: (song: " ", dir: " ", playlist: " ", marker: "* ", ellipsis: "...",
|
||||||
|
song_style: (fg: "#81a1c1"), dir_style: (fg: "#81a1c1")
|
||||||
|
),
|
||||||
|
progress_bar: (
|
||||||
|
symbols: [" ", "█", "█", " ", " "],
|
||||||
|
track_style: (fg: "#1e2030"),
|
||||||
|
elapsed_style: (fg: "blue"),
|
||||||
|
thumb_style: (fg: "blue"),
|
||||||
|
),
|
||||||
|
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,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
layout: Split(
|
||||||
|
direction: Vertical, panes: [
|
||||||
|
(size: "3", pane: Pane(Tabs)),
|
||||||
|
(size: "4", borders: "ALL", pane: Component("custom-header")),
|
||||||
|
(size: "100%", borders: "NONE", pane: Pane(TabContent)),
|
||||||
|
(size: "3", borders: "TOP | BOTTOM", pane: Pane(ProgressBar)),
|
||||||
|
]),
|
||||||
|
header: (rows: []),
|
||||||
|
browser_song_format: [
|
||||||
|
(kind: Group([
|
||||||
|
(kind: Property(Track)),
|
||||||
|
(kind: Text(" ")),
|
||||||
|
])),
|
||||||
|
(kind: Group([
|
||||||
|
(kind: Property(Artist)),
|
||||||
|
(kind: Text(" - ")),
|
||||||
|
(kind: Property(Title)),
|
||||||
|
]), default: (kind: Property(Filename)))
|
||||||
|
],
|
||||||
|
level_styles: (
|
||||||
|
info: (fg: "#a3be8c", bg: "#2e3440"),
|
||||||
|
warn: (fg: "#ebcb8b", bg: "#2e3440"),
|
||||||
|
error: (fg: "#bf616a", bg: "#2e3440"),
|
||||||
|
debug: (fg: "#d08770", bg: "#2e3440"),
|
||||||
|
trace: (fg: "#b48ead", bg: "#2e3440"),
|
||||||
|
),
|
||||||
|
components: {
|
||||||
|
"custom_song_table_header": Split(borders: "ALL", direction: Horizontal, panes: [
|
||||||
|
(size: "5", pane: Pane(Property(content: [
|
||||||
|
(kind: Text(" "), style: (fg: "#81a1c1")),
|
||||||
|
], align: Left))
|
||||||
|
),
|
||||||
|
(size: "21%", pane: Pane(Property(content: [
|
||||||
|
(kind: Text("Artist "), style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(""), style: (fg: "#81a1c1"))
|
||||||
|
], align: Left))
|
||||||
|
),
|
||||||
|
(size: "39%", pane: Pane(Property(content: [
|
||||||
|
(kind: Text("Title "), style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(""), style: (fg: "#81a1c1"))
|
||||||
|
], align: Left))
|
||||||
|
),
|
||||||
|
(size: "33%", pane: Pane(Property(content: [
|
||||||
|
(kind: Text("Album "), style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(""), style: (fg: "#81a1c1"))
|
||||||
|
], align: Left))
|
||||||
|
),
|
||||||
|
(size: "7%", pane: Pane(Property(content: [
|
||||||
|
(kind: Text("Length "), style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(" "), style: (fg: "#81a1c1"))
|
||||||
|
], align: Right))
|
||||||
|
),
|
||||||
|
(size: "1", pane: Pane(Property(content: [
|
||||||
|
(kind: Text(" "), style: (fg: "#81a1c1")),
|
||||||
|
], align: Left))
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
"custom-header": Split(direction: Horizontal, panes: [
|
||||||
|
(size: "33%", pane: Split(direction: Vertical, panes: [
|
||||||
|
(size: "100%", pane: Pane(Property(content: [
|
||||||
|
(kind: Text(""), style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(StateV2(playing_label: " ", paused_label: " ", stopped_label: " "))),style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(" "), style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Widget(ScanStatus)), style: (fg: "#d8dee9", modifiers: "Bold"))
|
||||||
|
], align: Left))
|
||||||
|
),
|
||||||
|
(size: "100%", pane: Pane(Property(content: [
|
||||||
|
(kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(Elapsed)),style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(" / "),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(Duration)),style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(Bitrate)),default: (kind: Text(" ")),style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(" kbps"),style: (fg: "#81a1c1")),
|
||||||
|
(kind: Text(" ]"),style: (fg: "#81a1c1", modifiers: "Bold"))
|
||||||
|
], align: Left))
|
||||||
|
),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(size: "34%", pane: Split(direction: Vertical, panes: [
|
||||||
|
(size: "100%", pane: Pane(Property(content: [
|
||||||
|
(kind: Property(Song(Title)), style: (fg: "#d8dee9",modifiers: "Bold"),
|
||||||
|
default: (kind: Property(Song(Filename)), style: (fg: "#d8dee9",modifiers: "Bold")))
|
||||||
|
], align: Center))
|
||||||
|
),
|
||||||
|
(size: "100%", pane: Pane(Property(content: [
|
||||||
|
(kind: Property(Song(Artist)), style: (fg: "#88c0d0"),
|
||||||
|
default: (kind: Text("Unknown Artist"), style: (fg: "#88c0d0"))),
|
||||||
|
(kind: Text(" - "), style: (fg: "#d8dee9")),
|
||||||
|
(kind: Property(Song(Album)),style: (fg: "#81a1c1" ),
|
||||||
|
default: (kind: Text("Unknown Album"), style: (fg: "#81a1c1")))
|
||||||
|
], align: Center))
|
||||||
|
),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(size: "33%", pane: Split(direction: Vertical, panes: [
|
||||||
|
(size: "100%", pane: Pane(Property(content: [
|
||||||
|
(kind: Text(" "), style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(Volume)), style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text("% "), style: (fg: "#81a1c1", modifiers: "Bold"))
|
||||||
|
], align: Right))
|
||||||
|
),
|
||||||
|
(size: "100%", pane: Pane(Property(content: [
|
||||||
|
(kind: Text("[ "),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(QueueLength())),style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(QueueTimeTotal(separator: " "))),style: (fg: "#d8dee9")),
|
||||||
|
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(RepeatV2(on_label: "", off_label: "",
|
||||||
|
on_style: (fg: "#d8dee9", modifiers: "Bold"), off_style: (fg: "#4c566a", modifiers: "Bold"))))),
|
||||||
|
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(RandomV2(on_label: "", off_label: "",
|
||||||
|
on_style: (fg: "#d8dee9", modifiers: "Bold"), off_style: (fg: "#4c566a", modifiers: "Bold"))))),
|
||||||
|
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(ConsumeV2(on_label: "", off_label: "", oneshot_label: "",
|
||||||
|
on_style: (fg: "#d8dee9", modifiers: "Bold"), off_style: (fg: "#4c566a", modifiers: "Bold"))))),
|
||||||
|
(kind: Text(" | "),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
(kind: Property(Status(SingleV2(on_label: "", off_label: "", oneshot_label: "", off_oneshot_label: "",
|
||||||
|
on_style: (fg: "#d8dee9", modifiers: "Bold"), off_style: (fg: "#4c566a", modifiers: "Bold"))))),
|
||||||
|
(kind: Text(" ]"),style: (fg: "#81a1c1", modifiers: "Bold")),
|
||||||
|
], align: Right))
|
||||||
|
),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
])
|
||||||
|
},
|
||||||
|
cava: (
|
||||||
|
bar_symbols: ['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'],
|
||||||
|
bar_width: 1, bar_spacing: 1,
|
||||||
|
bg_color: "#2e3440",
|
||||||
|
bar_color: Gradient({
|
||||||
|
0: "#5e81ac",
|
||||||
|
33: "#81a1c1",
|
||||||
|
67: "#88c0d0",
|
||||||
|
100: "#8fbcbb",
|
||||||
|
})
|
||||||
|
),
|
||||||
|
)
|
||||||
196
modules/home/cli/fun/rmpc/config/config.ron
Normal file
196
modules/home/cli/fun/rmpc/config/config.ron
Normal file
|
|
@ -0,0 +1,196 @@
|
||||||
|
#![enable(implicit_some)]
|
||||||
|
#![enable(unwrap_newtypes)]
|
||||||
|
#![enable(unwrap_variant_newtypes)]
|
||||||
|
(
|
||||||
|
address: "127.0.0.1:6600",
|
||||||
|
password: None,
|
||||||
|
theme: Some("catppuccin-macchiato"),
|
||||||
|
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,
|
||||||
|
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: "Home", pane: Split(direction: Horizontal, panes: [
|
||||||
|
(size: "70%", borders: "NONE", pane: Split(direction: Vertical,panes: [
|
||||||
|
(size: "3", borders: "ALL", pane: Component("custom_song_table_header")),
|
||||||
|
(size: "100%", borders: "ALL", pane: Pane(Queue)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(size: "30%", borders: "NONE", pane: Split(direction: Vertical, panes: [
|
||||||
|
(size: "0.45r", borders: "ALL", pane: Pane(AlbumArt)),
|
||||||
|
(size: "100%", borders: "NONE", pane: Pane(Lyrics)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(name: "Directories", pane: Split(direction: Horizontal,panes: [
|
||||||
|
(size: "100%", borders: "ALL", pane: Pane(Directories)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(name: "Playlists", pane: Split(direction: Horizontal, panes: [
|
||||||
|
(size: "100%", borders: "ALL", pane: Pane(Playlists)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(name: "Artists", pane: Split(direction: Horizontal, panes: [
|
||||||
|
(size: "100%", borders: "ALL", pane: Pane(Artists)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(name: "Albums", pane: Split(direction: Horizontal, panes: [
|
||||||
|
(size: "100%", borders: "ALL", pane: Pane(Albums)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(name: "Album Artists", pane: Split(direction: Horizontal, panes: [
|
||||||
|
(size: "100%", borders: "ALL", pane: Pane(AlbumArtists)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(name: "Genre", pane: Split(direction: Horizontal, panes: [
|
||||||
|
(size: "100%", borders: "ALL", pane: Pane(Browser(root_tag: "genre", separator: ";"))),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(name: "Queue", pane: Split(direction: Horizontal, panes: [
|
||||||
|
(size: "100%", borders: "ALL", pane: Pane(Queue))
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(name: "Show",pane: Split(direction: Vertical, panes: [
|
||||||
|
(size: "50%", pane: Split(direction: Horizontal, panes: [
|
||||||
|
(size: "22%", borders: "ALL", pane: Pane(Queue)),
|
||||||
|
(size: "56%", borders: "ALL", pane: Pane(Lyrics)),
|
||||||
|
(size: "22%", borders: "ALL", pane: Pane(AlbumArt)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(size: "50%", borders: "ALL", pane: Pane(Cava)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(name: "Search", pane: Split(direction: Horizontal, panes: [
|
||||||
|
(size: "100%", borders: "ALL", pane: Pane(Search)),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
],
|
||||||
|
cava: (
|
||||||
|
framerate: 60, autosens: true, sensitivity: 100,
|
||||||
|
lower_cutoff_freq: 50, higher_cutoff_freq: 10000,
|
||||||
|
input: (
|
||||||
|
method: Fifo,
|
||||||
|
source: "/tmp/mpd.fifo",
|
||||||
|
sample_rate: 44100,
|
||||||
|
channels: 2,
|
||||||
|
samble_bits: 16,
|
||||||
|
),
|
||||||
|
smoothing: (
|
||||||
|
noise_reduction: 35,
|
||||||
|
),
|
||||||
|
eq: []
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
13
modules/home/cli/fun/rmpc/default.nix
Normal file
13
modules/home/cli/fun/rmpc/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
rmpc
|
||||||
|
;
|
||||||
|
};
|
||||||
|
xdg.configFile."rmpc/config.ron".source = ./config/config.ron;
|
||||||
|
xdg.configFile."rmpc/themes/catppuccin-macchiato.ron".source = ./config/catppuccin-macchiato.ron;
|
||||||
|
}
|
||||||
|
|
@ -102,6 +102,7 @@ in
|
||||||
obsidian
|
obsidian
|
||||||
okular
|
okular
|
||||||
printManager
|
printManager
|
||||||
|
prismLauncher
|
||||||
scrcpy
|
scrcpy
|
||||||
sharing
|
sharing
|
||||||
signal
|
signal
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
social-focus = pkgs.nur.repos.rycee.firefox-addons.buildFirefoxXpiAddon {
|
firefox-addons = pkgs.nur.repos.rycee.firefox-addons;
|
||||||
|
social-focus = firefox-addons.buildFirefoxXpiAddon {
|
||||||
pname = "social-focus";
|
pname = "social-focus";
|
||||||
version = "7.2";
|
version = "7.2";
|
||||||
addonId = "{26b4f076-089c-4c69-8497-44b7e5c9faef}";
|
addonId = "{26b4f076-089c-4c69-8497-44b7e5c9faef}";
|
||||||
|
|
@ -16,15 +17,13 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
extensions.packages = builtins.attrValues {
|
extensions.packages = builtins.attrValues {
|
||||||
inherit (pkgs.nur.repos.rycee.firefox-addons)
|
inherit (firefox-addons)
|
||||||
bitwarden
|
bitwarden
|
||||||
sponsorblock
|
sponsorblock
|
||||||
ublock-origin
|
ublock-origin
|
||||||
unpaywall
|
unpaywall
|
||||||
untrap-for-youtube
|
untrap-for-youtube
|
||||||
;
|
;
|
||||||
inherit
|
inherit social-focus;
|
||||||
social-focus
|
|
||||||
;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
flake,
|
flake,
|
||||||
|
nur,
|
||||||
osConfig,
|
osConfig,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
@ -22,6 +23,8 @@ in
|
||||||
|
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
|
# package = (flake.inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.floorp);
|
||||||
|
# package = pkgs.floorp-bin;
|
||||||
profiles = {
|
profiles = {
|
||||||
${user0} = {
|
${user0} = {
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,16 @@
|
||||||
{ flake, ... }:
|
{ flake, ... }:
|
||||||
{
|
{
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
flake.inputs.nur.overlays.default
|
||||||
|
];
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
backupFileExtension = "backup5";
|
backupFileExtension = "backup5";
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit
|
inherit flake;
|
||||||
flake
|
|
||||||
;
|
|
||||||
};
|
};
|
||||||
sharedModules = [
|
|
||||||
{
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{ flake, pkgs, ... }:
|
{ flake, pkgs, ... }:
|
||||||
{
|
{
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
flake.inputs.tuios.packages.${pkgs.system}.default
|
flake.inputs.tuios.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -168,8 +168,8 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
microvm = {
|
microvm = {
|
||||||
vcpu = 2;
|
vcpu = 1;
|
||||||
mem = 3072;
|
mem = 1024;
|
||||||
hypervisor = "qemu";
|
hypervisor = "qemu";
|
||||||
interfaces = [
|
interfaces = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -120,8 +120,8 @@ in
|
||||||
systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ];
|
systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
microvm = {
|
microvm = {
|
||||||
vcpu = 2;
|
vcpu = 1;
|
||||||
mem = 3072;
|
mem = 1024;
|
||||||
hypervisor = "qemu";
|
hypervisor = "qemu";
|
||||||
interfaces = [
|
interfaces = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -43,14 +43,14 @@ in
|
||||||
serviceCfg.ports.port2
|
serviceCfg.ports.port2
|
||||||
];
|
];
|
||||||
|
|
||||||
# fileSystems."/tmp" = {
|
fileSystems."/tmp" = {
|
||||||
# device = "tmpfs";
|
device = "tmpfs";
|
||||||
# fsType = "tmpfs";
|
fsType = "tmpfs";
|
||||||
# options = [
|
options = [
|
||||||
# "size=4G"
|
"size=4G"
|
||||||
# "mode=1777"
|
"mode=1777"
|
||||||
# ];
|
];
|
||||||
# };
|
};
|
||||||
|
|
||||||
systemd = {
|
systemd = {
|
||||||
network = {
|
network = {
|
||||||
|
|
@ -82,8 +82,8 @@ in
|
||||||
systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ];
|
systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
microvm = {
|
microvm = {
|
||||||
vcpu = 2;
|
vcpu = 1;
|
||||||
mem = 1024 * 3;
|
mem = 1024;
|
||||||
hypervisor = "qemu";
|
hypervisor = "qemu";
|
||||||
interfaces = [
|
interfaces = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -397,8 +397,8 @@ in
|
||||||
environment.systemPackages = [ fedifetcherPython ];
|
environment.systemPackages = [ fedifetcherPython ];
|
||||||
|
|
||||||
microvm = {
|
microvm = {
|
||||||
vcpu = 4;
|
vcpu = 1;
|
||||||
mem = 1024 * 8;
|
mem = 1024 * 6;
|
||||||
hypervisor = "qemu";
|
hypervisor = "qemu";
|
||||||
interfaces = [
|
interfaces = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -83,8 +83,8 @@ in
|
||||||
systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ];
|
systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
microvm = {
|
microvm = {
|
||||||
vcpu = 4;
|
vcpu = 1;
|
||||||
mem = 4096;
|
mem = 1024;
|
||||||
hypervisor = "qemu";
|
hypervisor = "qemu";
|
||||||
interfaces = [
|
interfaces = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ let
|
||||||
inherit (flake.config.services) instances;
|
inherit (flake.config.services) instances;
|
||||||
serviceCfg = instances.projectSite;
|
serviceCfg = instances.projectSite;
|
||||||
host = flake.inputs.linkpage.secrets.domains.projectsite;
|
host = flake.inputs.linkpage.secrets.domains.projectsite;
|
||||||
websitePkg = flake.inputs.linkpage.packages.${pkgs.system}.websiteFrontend;
|
websitePkg = flake.inputs.linkpage.packages.${pkgs.stdenv.hostPlatform.system}.websiteFrontend;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
|
|
|
||||||
|
|
@ -109,8 +109,8 @@ in
|
||||||
systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ];
|
systemd.services.systemd-networkd.wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
microvm = {
|
microvm = {
|
||||||
vcpu = 2;
|
vcpu = 1;
|
||||||
mem = 3072;
|
mem = 1024;
|
||||||
hypervisor = "qemu";
|
hypervisor = "qemu";
|
||||||
interfaces = [
|
interfaces = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ let
|
||||||
inherit (flake.config.services) instances;
|
inherit (flake.config.services) instances;
|
||||||
serviceCfg = instances.upRootNutrition;
|
serviceCfg = instances.upRootNutrition;
|
||||||
host = serviceCfg.domains.url0;
|
host = serviceCfg.domains.url0;
|
||||||
websitePkg = flake.inputs.upRootNutrition.packages.${pkgs.system}.websiteFrontend;
|
websitePkg =
|
||||||
|
flake.inputs.upRootNutrition.packages.${pkgs.stdenv.hostPlatform.system}.websiteFrontend;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
microvm.vms.${serviceCfg.name} = {
|
microvm.vms.${serviceCfg.name} = {
|
||||||
|
|
|
||||||
|
|
@ -94,12 +94,6 @@ in
|
||||||
source = "/nix/store";
|
source = "/nix/store";
|
||||||
tag = "read_only_nix_store";
|
tag = "read_only_nix_store";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
mountPoint = "/var/lib/${serviceCfg.name}";
|
|
||||||
proto = "virtiofs";
|
|
||||||
source = serviceCfg.mntPaths.path0;
|
|
||||||
tag = "${serviceCfg.name}_data";
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
mountPoint = "/run/secrets";
|
mountPoint = "/run/secrets";
|
||||||
proto = "virtiofs";
|
proto = "virtiofs";
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@
|
||||||
just
|
just
|
||||||
nixfmt
|
nixfmt
|
||||||
just-lsp
|
just-lsp
|
||||||
|
rust-analyzer
|
||||||
|
rustfmt
|
||||||
litemdview
|
litemdview
|
||||||
nil
|
nil
|
||||||
openssl
|
openssl
|
||||||
|
|
|
||||||
|
|
@ -5,49 +5,45 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.people) user0;
|
inherit (flake.config.people) user0;
|
||||||
inherit (flake.config.machines.devices) deimos ceres;
|
inherit (flake.config.machines.devices) deimos ceres eris;
|
||||||
inherit (flake.config.services) instances;
|
|
||||||
|
|
||||||
ceresSecrets = config.sops.secrets."network/server".path;
|
sambaSecrets = config.sops.secrets."network/server".path;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
fileSystems =
|
fileSystems =
|
||||||
let
|
let
|
||||||
|
erisDrives = [
|
||||||
sambaDrives = [
|
|
||||||
"samba0"
|
"samba0"
|
||||||
];
|
];
|
||||||
|
erisFolders = [
|
||||||
remoteDrives = [
|
"raid0"
|
||||||
"remote0"
|
|
||||||
];
|
];
|
||||||
|
ceresDrives = [
|
||||||
remoteFolders = [
|
"samba0"
|
||||||
instances.audiobookshelf.name
|
|
||||||
instances.jellyfin.name
|
|
||||||
instances.comfyui.name
|
|
||||||
# instances.opencloud.name
|
|
||||||
];
|
];
|
||||||
|
ceresFolders = [
|
||||||
sambaMounts = sambaDrive: folder: {
|
"storage"
|
||||||
|
];
|
||||||
|
erisMounts = sambaDrive: folder: {
|
||||||
|
name = "${eris.${sambaDrive}.mount}/${folder}";
|
||||||
|
value = {
|
||||||
|
device = "${eris.${sambaDrive}.device}/${folder}";
|
||||||
|
fsType = "cifs";
|
||||||
|
options = eris.${sambaDrive}.options ++ [
|
||||||
|
"credentials=${sambaSecrets}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ceresMounts = sambaDrive: folder: {
|
||||||
name = "${ceres.${sambaDrive}.mount}/${folder}";
|
name = "${ceres.${sambaDrive}.mount}/${folder}";
|
||||||
value = {
|
value = {
|
||||||
device = "${ceres.${sambaDrive}.device}/${folder}";
|
device = "${ceres.${sambaDrive}.device}/${folder}";
|
||||||
fsType = "cifs";
|
fsType = "cifs";
|
||||||
options = ceres.${sambaDrive}.options ++ [
|
options = ceres.${sambaDrive}.options ++ [
|
||||||
"credentials=${ceresSecrets}"
|
"credentials=${sambaSecrets}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sshfsMounts = sshfsDrive: folder: {
|
|
||||||
name = "${ceres.${sshfsDrive}.mount}/${folder}";
|
|
||||||
value = {
|
|
||||||
device = "${ceres.${sshfsDrive}.device}/${folder}";
|
|
||||||
fsType = "sshfs";
|
|
||||||
options = ceres.${sshfsDrive}.options;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
"/" = {
|
"/" = {
|
||||||
|
|
@ -59,13 +55,13 @@ in
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = deimos.boot.options;
|
options = deimos.boot.options;
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
# // (builtins.listToAttrs (
|
// (builtins.listToAttrs (
|
||||||
# builtins.concatMap (drive: map (folder: sambaMounts drive folder) remoteFolders) sambaDrives
|
builtins.concatMap (drive: map (folder: ceresMounts drive folder) ceresFolders) ceresDrives
|
||||||
# ))
|
))
|
||||||
# // (builtins.listToAttrs (
|
// (builtins.listToAttrs (
|
||||||
# builtins.concatMap (drive: map (folder: sshfsMounts drive folder) remoteFolders) remoteDrives
|
builtins.concatMap (drive: map (folder: erisMounts drive folder) erisFolders) erisDrives
|
||||||
# ));
|
));
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{ device = "/dev/disk/by-uuid/027a1efb-6c4e-4c1a-9956-91c7513950b4"; }
|
{ device = "/dev/disk/by-uuid/027a1efb-6c4e-4c1a-9956-91c7513950b4"; }
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
hlint
|
hlint
|
||||||
fourmolu
|
fourmolu
|
||||||
;
|
;
|
||||||
inherit (inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.elmPackages)
|
inherit (inputs.nixpkgs-stable.legacyPackages.${pkgs.stdenv.hostPlatform.system}.elmPackages)
|
||||||
elm
|
elm
|
||||||
elm-format
|
elm-format
|
||||||
elm-land
|
elm-land
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
name = "website";
|
name = "website";
|
||||||
src = ./frontend;
|
src = ./frontend;
|
||||||
nativeBuildInputs = builtins.attrValues {
|
nativeBuildInputs = builtins.attrValues {
|
||||||
inherit (inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.elmPackages)
|
inherit (inputs.nixpkgs-stable.legacyPackages.${pkgs.stdenv.hostPlatform.system}.elmPackages)
|
||||||
elm
|
elm
|
||||||
elm-land
|
elm-land
|
||||||
;
|
;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue