massive restructure

This commit is contained in:
2026-07-30 01:02:17 +02:00
parent 0b0634530f
commit 438ce4c58e
32 changed files with 3558 additions and 0 deletions
+191
View File
@@ -0,0 +1,191 @@
{
pkgs,
config,
zen-browser,
...
}:
{
imports = [
./mpd.nix
zen-browser.homeModules.beta
];
home.username = "user";
home.homeDirectory = "/home/user";
xdg.userDirs = {
enable = true;
createDirectories = false;
extraConfig = {
SCREENSHOTS = "${config.home.homeDirectory}/Pictures/Screenshots";
};
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"inode/directory" = [ "nemo.desktop" ];
"image/*" = [ "imv-dir.desktop" ];
"image/gif" = [ "imv-dir.desktop" ];
"image/jpeg" = [ "imv-dir.desktop" ];
"image/png" = [ "imv-dir.desktop" ];
"image/webp" = [ "imv-dir.desktop" ];
};
};
dconf = {
settings = {
"org/cinnamon/desktop/applications/terminal" = {
exec = "kitty";
# exec-arg = ""; # argument
};
};
};
home.pointerCursor = {
enable = true;
gtk.enable = true;
package = pkgs.adwaita-icon-theme;
name = "Adwaita";
size = 20;
};
programs.zen-browser = {
enable = true;
setAsDefaultBrowser = true;
};
programs.yazi.enable = true;
programs.yazi.enableFishIntegration = true;
programs.fzf.enable = true;
programs.fzf.enableFishIntegration = true;
programs.eza = {
enable = true;
enableFishIntegration = true;
git = true;
icons = "always";
extraOptions = [
"-1"
];
};
programs.pywal = {
enable = true;
package = pkgs.pywal16;
};
programs.lazygit.enable = true;
programs.lazygit.enableFishIntegration = true;
programs.rbw = {
enable = true;
settings = {
pinentry = pkgs.pinentry-curses;
email = "KeksNino@proton.me";
base_url = "https://vw.pizzasucht.net";
};
};
programs.distrobox.enable = true;
services.podman.enable = true;
programs.rofi.enable = true;
programs.rofi.plugins = [ pkgs.rofi-calc ];
services.polkit-gnome.enable = true;
services.cliphist.enable = true;
programs.btop.enable = true;
services.udiskie.enable = true;
programs.cava.enable = true;
programs.equibop.enable = true;
services.awww.enable = true;
services.mpdris2.enable = true;
programs.fastfetch.enable = true;
programs.prismlauncher.enable = true;
programs.fd.enable = true;
programs.uv.enable = true;
programs.satty.enable = true;
programs.mpvpaper.enable = true;
programs.obsidian.enable = true;
programs.gcc.enable = true;
programs.mpv.enable = true;
programs.imv.enable = true;
programs.aria2.enable = true;
programs.qutebrowser = {
enable = true;
settings = {
colors.webpage.preferred_color_scheme = "dark";
auto_save.session = true;
scrolling.smooth = true;
content.autoplay = false;
content.blocking.method = "both";
url.default_page = "https://priv.au";
};
extraConfig = ''
c.qt.args = ["disable-features=AcceleratedVideoDecodeLinuxGL"]
'';
keyBindings = {
normal = {
"M" = "hint links spawn mpv {hint-url}";
};
};
searchEngines = {
DEFAULT = "https://priv.au/search?q={}";
};
};
home.sessionPath = [
"${config.home.homeDirectory}/.local/bin"
];
home.sessionVariables = {
EDITOR = "nvim";
};
programs.fish = {
enable = true;
interactiveShellInit = ''
nitch
set -g fish_key_bindings fish_hybrid_key_bindings
set fish_greeting
'';
shellAliases = {
ls = "eza -al --no-time --no-user --no-permissions --no-filesize";
ll = "eza -la";
cat = "bat";
cd = "z";
cp = "cp -v";
ff = "fastfetch";
grep = "grep -i";
hyprland = "start-hyprland";
mv = "mv -v";
n = "nvim";
py = "uv run";
r = "rsync -avh --info=progress2";
rm = "gomi";
ssh = "kitty +kitten ssh";
nd = "nix develop";
};
};
programs.zoxide.enable = true;
programs.zoxide.enableFishIntegration = true;
home.file.".local/share/Steam/steam.cfg".text = ''
BootStrapperInhibitAll=enable
BootStrapperForceSelfUpdate=disable
'';
gtk = {
enable = true;
# theme = {
# name = "Materia-dark-compact";
# package = pkgs.materia-theme-transparent;
# };
colorScheme = "dark";
};
home.stateVersion = "26.05";
}
+225
View File
@@ -0,0 +1,225 @@
{
services.mpd = {
enable = true;
musicDirectory = "/home/user/Music";
playlistDirectory = "/home/user/Music/Playlists";
dbFile = "/home/user/.config/mpd/database";
# log_file = "~/.config/mpd/log";
extraConfig = ''
save_absolute_paths_in_playlists "yes"
metadata_to_use "+comment"
audio_output {
type "pipewire"
name "Pipewire Sound Server"
}
audio_output {
type "fifo"
name "my_fifo"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
auto_update "yes"
'';
network.listenAddress = "/home/user/.config/mpd/socket";
};
services.mpdscribble = {
enable = true;
endpoints = {
"last.fm" = {
passwordFile = "/home/user/lastfm_password";
username = "KeksNino";
};
};
};
programs.rmpc.enable = true;
programs.rmpc.config = ''
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
address: "/home/user/.config/mpd/socket",
password: None,
theme: Some("default"),
cache_dir: Some("/home/user/Music/rmpc"),
on_song_change: None,
volume_step: 5,
max_fps: 60,
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: [Track, Disc, Artist, Title],
directories_sort: SortFormat(group_by_type: true, reverse: false),
album_art: (
method: Kitty,
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("Files"),
"3": SwitchToTab("Playlists"),
"4": SwitchToTab("Artists"),
"5": SwitchToTab("Albums"),
"6": SwitchToTab("Search"),
//"7": SwitchToTab("Album Artists"),
"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,
"<C-p>": ExternalCommand(command: ["/home/user/.scripts/check-playlist.sh"], description: "Check if selected song is already in a playlist"),
},
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,
),
cava: (
framerate: 60,
autosens: true,
sensitivity: 110, // default 100
lower_cutoff_freq: 50, // not passed to cava if not provided
higher_cutoff_freq: 10000, // not passed to cava if not provided
input: (
method: Fifo,
source: "/tmp/mpd.fifo",
sample_rate: 44100,
channels: 2,
sample_bits: 16,
),
smoothing: (
noise_reduction: 77,
monstercat: true,
waves: false,
),
eq: []
),
tabs: [
(
name: "Queue",
pane: Split(
direction: Horizontal,
panes: [
(size: "40%", pane: Pane(AlbumArt)),
(size: "60%", pane: Split(
direction: Vertical,
panes: [
(size: "95%", pane: Pane(Queue)),
(size: "30%", pane: Pane(Cava)),
],
)),
],
),
),
(
name: "Files",
pane: Pane(Directories),
),
(
name: "Playlists",
pane: Pane(Playlists),
),
(
name: "Artists",
pane: Pane(Artists),
),
(
name: "Albums",
pane: Pane(Albums),
),
(
name: "Search",
pane: Pane(Search),
),
//(
// name: "Album Artists",
// pane: Pane(AlbumArtists),
//),
],
)
'';
}