restructure + add vr
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
{
|
||||
programs.beets.enable = true;
|
||||
|
||||
# programs.beets.package = pkgs.beets.override {
|
||||
# pluginOverrides = {
|
||||
# filetote = {
|
||||
# enable = true;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
|
||||
programs.beets.settings = {
|
||||
directory = "/home/user/Music/Tracks";
|
||||
|
||||
plugins = [
|
||||
"fetchart"
|
||||
"badfiles"
|
||||
"edit"
|
||||
"fish"
|
||||
"hook"
|
||||
"info"
|
||||
"missing"
|
||||
];
|
||||
|
||||
import = {
|
||||
copy = false;
|
||||
move = false;
|
||||
autotag = true;
|
||||
write = false;
|
||||
};
|
||||
|
||||
paths = {
|
||||
default = "$albumartist/$album/$track. $artist - $title";
|
||||
};
|
||||
|
||||
fetchart = {
|
||||
auto = true;
|
||||
sources = [ "filesystem" ];
|
||||
};
|
||||
|
||||
badfiles = {
|
||||
check_on_import = true;
|
||||
};
|
||||
|
||||
hook = {
|
||||
hooks = [
|
||||
{
|
||||
event = "item_imported";
|
||||
command = "echo test";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
imports = [
|
||||
./general.nix
|
||||
./rules.nix
|
||||
./keybinds.nix
|
||||
./execs.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
extraConfig = ''
|
||||
hl.env("HYPRCURSOR_THEME", "Adwaita")
|
||||
hl.env("HYPRCURSOR_SIZE", "22")
|
||||
hl.env("XCURSOR_SIZE", "22")
|
||||
hl.env("GDK_SCALE", "1")
|
||||
hl.env("GDK_BACKEND", "wayland,x11,*")
|
||||
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
|
||||
hl.env("XDG_SESSION_TYPE", "wayland")
|
||||
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
|
||||
hl.env("QT_QPA_PLATFORM", "wayland")
|
||||
-- hl.env("QT_QPA_PLATFORMTHEME", "kvantum")
|
||||
-- hl.env("QT_QPA_PLATFORMTHEME", "hyprqt6engine")
|
||||
hl.env("QT_QPA_PLATFORMTHEME", "qt6ct")
|
||||
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "wayland")
|
||||
hl.env("DOTNET_CLI_TELEMETRY_OPTOUT", "1")
|
||||
-- hl.env("QT_SCALE_FACTOR", "0.9")
|
||||
hl.env("LIBVA_DRIVER_NAME", "radeonsi")
|
||||
-- hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
|
||||
-- hl.env("NVD_BACKEND", "direct")
|
||||
|
||||
local TERM = "kitty"
|
||||
-- local BAR = "~/.config/waybar/waybar.sh"
|
||||
local BAR = "noctalia-shell"
|
||||
local DMENU = "rofi -show drun"
|
||||
local CLIPBOARD =
|
||||
"cliphist list | rofi -dmenu -display-columns 2 -config ~/.config/rofi/clipboard.rasi | cliphist decode | wl-copy"
|
||||
-- local POWER_MENU = "rofi -show powermenu -modi powermenu:~/.scripts/rofi-powermenu -config ~/.config/rofi/powermenu.rasi"
|
||||
local WMENU = "rofi -show window"
|
||||
local CALC = "rofi -show calc -modi calc -no-show-match -no-sort"
|
||||
local FILE_MAN = "xdg-open ~" -- GUI File Manager
|
||||
local RANDOM_WALL = "~/.scripts/random-wall" -- set a random wall
|
||||
local AUTH_AGENT = "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
|
||||
|
||||
hl.on("hyprland.start", function()
|
||||
hl.exec_cmd("kdeconnectd")
|
||||
hl.exec_cmd("equibop")
|
||||
-- hl.exec_cmd("sleep 5; discord")
|
||||
hl.exec_cmd("~/.scripts/walld") -- start wallpaper daemon
|
||||
hl.exec_cmd(BAR) -- status bar
|
||||
hl.exec_cmd("udiskie --appindicator &") -- udiskie for automount
|
||||
hl.exec_cmd("hypridle &") -- start hypridle service
|
||||
hl.exec_cmd(AUTH_AGENT) -- start authentication agent
|
||||
hl.exec_cmd("jamesdsp --tray &")
|
||||
-- hl.exec_cmd("dunst")
|
||||
-- hl.exec_cmd("opendeck --hide")
|
||||
hl.exec_cmd("goxlr-daemon")
|
||||
hl.exec_cmd("qpwgraph -m")
|
||||
-- hl.exec_cmd("mullvad-vpn --disable-gpu")
|
||||
hl.exec_cmd("sleep 20; QT_STYLE_OVERRIDE=Fusion musicpresence")
|
||||
hl.exec_cmd("gsr-ui")
|
||||
|
||||
-- Clipboard: history
|
||||
hl.exec_cmd("wl-paste --type text --watch cliphist store")
|
||||
hl.exec_cmd("wl-paste --type image --watch cliphist store")
|
||||
|
||||
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
|
||||
end)
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{ hyprsplit, ... }:
|
||||
|
||||
let
|
||||
# wal = {
|
||||
# color11 = "#...";
|
||||
# color14 = "#...";
|
||||
# };
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = false;
|
||||
xwayland.enable = true;
|
||||
|
||||
settings = {
|
||||
device = [
|
||||
{
|
||||
name = "glorious-model-o-wireless";
|
||||
sensitivity = -1.0;
|
||||
}
|
||||
{
|
||||
name = "glorious-model-o";
|
||||
sensitivity = -0.9;
|
||||
}
|
||||
];
|
||||
|
||||
config = {
|
||||
input = {
|
||||
kb_layout = "de";
|
||||
follow_mouse = 1;
|
||||
repeat_delay = 300;
|
||||
repeat_rate = 35;
|
||||
scroll_factor = 1.3;
|
||||
sensitivity = -1.0;
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 4;
|
||||
gaps_out = 12;
|
||||
border_size = 2;
|
||||
|
||||
# "col.active_border" = "rgb(${wal.color11}) rgb(${wal.color14}) 45deg";
|
||||
# "col.active_border" = "rgba(80808077) rgba(80808077) 45deg";
|
||||
|
||||
# "col.inactive_border" = "rgba(80808077) rgba(80808077) 45deg";
|
||||
|
||||
resize_on_border = false;
|
||||
allow_tearing = false;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 2;
|
||||
|
||||
active_opacity = 0.65;
|
||||
inactive_opacity = 0.65;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 50;
|
||||
render_power = 4;
|
||||
color = "0xaf1a1a1a";
|
||||
};
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 4;
|
||||
brightness = 0.473;
|
||||
contrast = 1.0;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.2;
|
||||
ignore_opacity = true;
|
||||
popups = true;
|
||||
};
|
||||
};
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
new_on_top = true;
|
||||
mfact = 0.5;
|
||||
orientation = "center";
|
||||
};
|
||||
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
disable_hyprland_logo = true;
|
||||
enable_anr_dialog = false;
|
||||
};
|
||||
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
};
|
||||
|
||||
# animations = {
|
||||
# enabled = false;
|
||||
# };
|
||||
|
||||
# bezier = [
|
||||
# "md3_standard,0.2,0,0,1"
|
||||
# "md3_decel,0.05,0.7,0.1,1"
|
||||
# "md3_accel,0.3,0,0.8,0.15"
|
||||
# "overshot,0.05,0.9,0.1,1.02"
|
||||
#
|
||||
# # Hyprland supports spring curves as strings.
|
||||
# "spring_snappy,1,80,16"
|
||||
#
|
||||
# "weighted_decel,0.05,0.9,0.1,1"
|
||||
# "snap_curve,0.1,1,0,1"
|
||||
# "winIn,0.1,1,0.1,1"
|
||||
# "winOut,0.1,1,0.1,1"
|
||||
# ];
|
||||
#
|
||||
# animation = [
|
||||
# "windows,1,4,spring_snappy"
|
||||
# "windowsIn,1,3,md3_decel,popin 70%"
|
||||
# "windowsOut,1,4,md3_accel,popin 70%"
|
||||
# "windowsMove,1,4,overshot"
|
||||
#
|
||||
# "fade,1,3,md3_decel"
|
||||
#
|
||||
# "layers,1,4.5,md3_standard,fade"
|
||||
# "layersIn,1,4.5,winIn,slide"
|
||||
# "layersOut,1,5,winOut,slide"
|
||||
#
|
||||
# "workspaces,1,5,md3_decel,slide"
|
||||
# "workspacesIn,1,7,winIn,slide"
|
||||
# "workspacesOut,1,7,winOut,slide"
|
||||
#
|
||||
# "specialWorkspace,1,4,winIn,slidevert"
|
||||
# ];
|
||||
};
|
||||
|
||||
extraLuaFiles = {
|
||||
# create a symlink to `.config/hypr/hyprsplit/init.lua`.
|
||||
"hyprsplit/init" = {
|
||||
autoLoad = false;
|
||||
content = builtins.readFile "${hyprsplit}/init.lua";
|
||||
};
|
||||
# Finally, use it directly in Lua.
|
||||
"hyprload" = {
|
||||
autoLoad = true;
|
||||
content = ''
|
||||
local hs = require("hyprsplit")
|
||||
hs.config({ num_workspaces = 10 })
|
||||
|
||||
local mod = "SUPER"
|
||||
|
||||
for i = 1, 10 do
|
||||
local key = (i == 10) and "0" or tostring(i)
|
||||
hl.bind(mod .. " + " .. key, hs.dsp.focus({ workspace = i }))
|
||||
hl.bind(mod .. " + " .. key, hs.dsp.window.move({ workspace = i }))
|
||||
hl.bind("SUPER + " .. key, hs.dsp.focus({ workspace = i }))
|
||||
hl.bind("SUPER + SHIFT + " .. key, hs.dsp.window.move({ workspace = i, follow = true }))
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
extraConfig = ''
|
||||
hl.monitor({ output = "DP-1", mode = "1920x1080@60", position = "3840x0", scale = "auto" })
|
||||
hl.monitor({ output = "DP-2", mode = "1920x1080@144", position = "1920x0", scale = "auto", bitdepth = 10 })
|
||||
hl.monitor({ output = "HDMI-A-1", mode = "1920x1080@60", position = "0x0", scale = "auto" })
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
extraConfig = ''
|
||||
-- ####################
|
||||
-- ### KEYBINDINGS ###
|
||||
-- ####################
|
||||
|
||||
local mod = "SUPER"
|
||||
|
||||
hl.bind(mod .. " + L", function() hl.dispatch(hl.dsp.exec_cmd(TERM)) end)
|
||||
hl.bind(mod .. " + SPACE", function() hl.dispatch(hl.dsp.exec_cmd(DMENU)) end)
|
||||
hl.bind(mod .. " + CTRL + B", function() hl.dispatch(hl.dsp.exec_cmd(RANDOM_WALL)) end)
|
||||
hl.bind("CTRL + SHIFT + B", hl.dsp.exec_cmd("~/.config/rofi/wallpaper-picker.sh"))
|
||||
-- hl.bind("CTRL + SHIFT + B", hl.dsp.exec_cmd("dms ipc dankdash wallpaper"))
|
||||
hl.bind(mod .. " + V", function() hl.dispatch(hl.dsp.exec_cmd(CLIPBOARD)) end)
|
||||
hl.bind(mod .. " + E", function() hl.dispatch(hl.dsp.exec_cmd(FILE_MAN)) end)
|
||||
hl.bind(mod .. " + N", hl.dsp.exec_cmd("dunstctl history-pop"))
|
||||
hl.bind(mod .. " + SHIFT + N", hl.dsp.exec_cmd("dunstctl close-all"))
|
||||
hl.bind(mod .. " + Q", hl.dsp.window.close())
|
||||
hl.bind(mod .. " + SHIFT + Q", hl.dsp.window.kill())
|
||||
hl.bind(mod .. " + C", function() hl.dispatch(hl.dsp.exec_cmd(CALC)) end)
|
||||
hl.bind(mod .. " + SHIFT + B", function() hl.dispatch(hl.dsp.exec_cmd(BAR)) end)
|
||||
hl.bind(mod .. " + SHIFT + F", hl.dsp.window.float())
|
||||
hl.bind(mod .. " + SHIFT + P", hl.dsp.exec_cmd("hyprpicker -a"))
|
||||
hl.bind(mod .. " + SHIFT + W", function() hl.dispatch(hl.dsp.exec_cmd(WMENU)) end)
|
||||
hl.bind(mod .. " + B", hl.dsp.exec_cmd("zen-beta"))
|
||||
-- hl.bind(
|
||||
-- mod .. " + SHIFT + E",
|
||||
-- hl.dsp.exec_cmd(
|
||||
-- "pkill -9 linux-wallpaper; awww img --transition-step 100 /home/user/Pictures/Wallpapers/syntaxerror_wallpaper.png"
|
||||
-- )
|
||||
-- )
|
||||
hl.bind(
|
||||
mod .. " + SHIFT + E",
|
||||
hl.dsp.exec_cmd("noctalia-shell ipc call wallpaper set /home/user/Pictures/Wallpapers/syntaxerror_wallpaper.png")
|
||||
)
|
||||
hl.bind("ALT + Q", hl.dsp.exec_cmd("pkill -9 python; pkill -9 aria2c"))
|
||||
hl.bind(mod .. " + P", hl.dsp.exec_cmd("prismlauncher"))
|
||||
-- hl.bind(mod .. " + W", hl.dsp.exec_cmd("waypaper"))
|
||||
|
||||
|
||||
-- ################
|
||||
-- ## MEDIA KEYS ##
|
||||
-- ################
|
||||
|
||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"))
|
||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl -p mpd play-pause"))
|
||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl -p mpd next"))
|
||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl -p mpd previous"))
|
||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ +5%"))
|
||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ -5%"))
|
||||
|
||||
hl.bind(mod .. " + A", hl.dsp.exec_cmd("~/.scripts/play-previous"))
|
||||
hl.bind(mod .. " + S", hl.dsp.exec_cmd("~/.scripts/play-next"))
|
||||
hl.bind(mod .. " + D", hl.dsp.exec_cmd("~/.scripts/play-pause"))
|
||||
hl.bind(mod .. " + SHIFT + D", hl.dsp.exec_cmd("playerctl play-pause"))
|
||||
hl.bind(mod .. " + PLUS", hl.dsp.exec_cmd("~/.scripts/mpd-volume up"))
|
||||
hl.bind(mod .. " + MINUS", hl.dsp.exec_cmd("~/.scripts/mpd-volume down"))
|
||||
-- hl.bind(mod .. " + SHIFT + R", hl.dsp.exec_cmd("~/.scripts/skip30s"))
|
||||
|
||||
-- ################
|
||||
-- ## FULLSCREEN ##
|
||||
-- ################
|
||||
|
||||
hl.bind(mod .. " + F", hl.dsp.window.fullscreen())
|
||||
|
||||
-- ################
|
||||
-- ## SCREENSHOT ##
|
||||
-- ################
|
||||
|
||||
hl.bind(mod .. " + CTRL + S", hl.dsp.exec_cmd("grimblast --freeze --notify copysave active"))
|
||||
hl.bind(mod .. " + SHIFT + S", hl.dsp.exec_cmd("grimblast --freeze --notify copysave area"))
|
||||
hl.bind(mod .. " + ALT + S", hl.dsp.exec_cmd("wl-paste | satty -f -"))
|
||||
|
||||
-- ##########################
|
||||
-- ## CENTER FLOAT WINDOW ##
|
||||
-- ##########################
|
||||
|
||||
hl.bind(mod .. " + SHIFT + C", hl.dsp.window.center())
|
||||
|
||||
-- ##################
|
||||
-- ## MOVE FOCUS ##
|
||||
-- ##################
|
||||
|
||||
hl.bind(mod .. " + LEFT", hl.dsp.focus({ direction = "left" }))
|
||||
hl.bind(mod .. " + RIGHT", hl.dsp.focus({ direction = "right" }))
|
||||
hl.bind(mod .. " + UP", hl.dsp.focus({ direction = "up" }))
|
||||
hl.bind(mod .. " + DOWN", hl.dsp.focus({ direction = "down" }))
|
||||
|
||||
-- #################
|
||||
-- ## MOVE WINDOW ##
|
||||
-- #################
|
||||
|
||||
hl.bind(mod .. " + SHIFT + LEFT", hl.dsp.window.move({ direction = "left" }))
|
||||
hl.bind(mod .. " + SHIFT + RIGHT", hl.dsp.window.move({ direction = "right" }))
|
||||
hl.bind(mod .. " + SHIFT + UP", hl.dsp.window.move({ direction = "up" }))
|
||||
hl.bind(mod .. " + SHIFT + DOWN", hl.dsp.window.move({ direction = "down" }))
|
||||
|
||||
-- ###################
|
||||
-- ## RESIZE WINDOW ##
|
||||
-- ###################
|
||||
|
||||
-- hl.bind(mod .. " + CTRL + L", hl.dsp.window.resize(20, 0))
|
||||
-- hl.bind(mod .. " + CTRL + H", hl.dsp.window.resize(-20, 0))
|
||||
-- hl.bind(mod .. " + CTRL + K", hl.dsp.window.resize(0, -20))
|
||||
-- hl.bind(mod .. " + CTRL + J", hl.dsp.window.resize(0, 20))
|
||||
|
||||
-- ################
|
||||
-- ## WORKSPACES ##
|
||||
-- ################
|
||||
|
||||
-- hl.bind(mod .. " + 1", hl.dsp.focus({ workspace = 1}))
|
||||
-- hl.bind(mod .. " + 2", hl.dsp.focus({ workspace = 2}))
|
||||
-- hl.bind(mod .. " + 3", hl.dsp.focus({ workspace = 3}))
|
||||
-- hl.bind(mod .. " + 4", hl.dsp.focus({ workspace = 4}))
|
||||
-- hl.bind(mod .. " + 5", hl.dsp.focus({ workspace = 5}))
|
||||
-- hl.bind(mod .. " + 6", hl.dsp.focus({ workspace = 6}))
|
||||
-- hl.bind(mod .. " + 7", hl.dsp.focus({ workspace = 7}))
|
||||
-- hl.bind(mod .. " + 8", hl.dsp.focus({ workspace = 8}))
|
||||
-- hl.bind(mod .. " + 9", hl.dsp.focus({ workspace = 9}))
|
||||
-- hl.bind(mod .. " + 0", hl.dsp.focus({ workspace = 10}))
|
||||
|
||||
-- #################################
|
||||
-- ## MOVE WINDOW TO WORKSPACES ##
|
||||
-- #################################
|
||||
|
||||
-- hl.bind(mod .. " + SHIFT + 1", hl.dsp.window.move({ workspace = 1 }))
|
||||
-- hl.bind(mod .. " + SHIFT + 2", hl.dsp.window.move({ workspace = 2 }))
|
||||
-- hl.bind(mod .. " + SHIFT + 3", hl.dsp.window.move({ workspace = 3 }))
|
||||
-- hl.bind(mod .. " + SHIFT + 4", hl.dsp.window.move({ workspace = 4 }))
|
||||
-- hl.bind(mod .. " + SHIFT + 5", hl.dsp.window.move({ workspace = 5 }))
|
||||
-- hl.bind(mod .. " + SHIFT + 6", hl.dsp.window.move({ workspace = 6 }))
|
||||
-- hl.bind(mod .. " + SHIFT + 7", hl.dsp.window.move({ workspace = 7 }))
|
||||
-- hl.bind(mod .. " + SHIFT + 8", hl.dsp.window.move({ workspace = 8 }))
|
||||
-- hl.bind(mod .. " + SHIFT + 9", hl.dsp.window.move({ workspace = 9 }))
|
||||
-- hl.bind(mod .. " + SHIFT + 0", hl.dsp.window.move({ workspace = 10 }))
|
||||
|
||||
-- ##################
|
||||
-- ## SCRATCHPADS ##
|
||||
-- ##################
|
||||
|
||||
hl.bind(mod .. " + SHIFT + G", hl.dsp.window.move({ workspace = "special:magic" }))
|
||||
hl.bind(mod .. " + G", hl.dsp.workspace.toggle_special("magic"))
|
||||
|
||||
-- ##########################################
|
||||
-- ## SCROLL THROUGH EXISTING WORKSPACES ##
|
||||
-- ##########################################
|
||||
|
||||
-- hl.bind(mod .. " + MOUSEDOWN", hl.wm.workspace_relative(1))
|
||||
-- hl.bind(mod .. " + MOUSEUP", hl.wm.workspace_relative(-1))
|
||||
|
||||
-- ###################
|
||||
-- ## MOUSE ACTIONS ##
|
||||
-- ###################
|
||||
|
||||
hl.bind(mod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||
hl.bind(mod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||
|
||||
-- ###########
|
||||
-- ## MISC ##
|
||||
-- ###########
|
||||
|
||||
-- hl.bind(mod .. " + MOUSEDOWN", hl.wm.layout_msg("move +col"))
|
||||
-- hl.bind(mod .. " + MOUSEUP", hl.wm.layout_msg("move -col"))
|
||||
|
||||
-- hl.bind(mod .. " + T", hl.wm.toggle_group())
|
||||
|
||||
-- hl.bind(mod .. " + SHIFT + X", hl.dsp.exec_cmd("$POWER_MENU"))
|
||||
|
||||
hl.bind("CTRL + ALT + F", hl.dsp.exec_cmd("kando -m kandomain"))
|
||||
|
||||
-- hl.bind(mod .. " + W", hl.dsp.exec_cmd("$WIFI_MENU"))
|
||||
|
||||
-- hl.bind(mod .. " + X", hl.dsp.exec_cmd("hyprlock"))
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
window_rule = [
|
||||
# -----------------
|
||||
# Workspace
|
||||
# -----------------
|
||||
"workspace 24,title:^(rmpc)$"
|
||||
"workspace 10,class:^(equibop)$"
|
||||
|
||||
"monitor DP-1,title:^(rmpc)$"
|
||||
"monitor DP-1,class:^(equibop)$"
|
||||
|
||||
# -----------------
|
||||
# Windows
|
||||
# -----------------
|
||||
"opacity 1 0.999999,class:^(mpv)$"
|
||||
"opacity 0.99 override 0.99 override,class:^(obsidian)$"
|
||||
|
||||
# -----------------
|
||||
# Floating
|
||||
# -----------------
|
||||
"float,class:^(imv)$"
|
||||
"float,class:^(nemo)$"
|
||||
"float,class:.*,title:^(Open File.*)$"
|
||||
"float,title:^(Picture-in-Picture)$"
|
||||
"float,class:^(rofi)$"
|
||||
"float,class:^(xdg-desktop-portal-gtk)$"
|
||||
"float,title:^(Steam Settings)$"
|
||||
"float,title:^(Friends List)$"
|
||||
"float,title:^(nvim)$"
|
||||
"float,class:^(org.gnome.FileRoller)$"
|
||||
"float,class:^(org.gnome.Decibels)$"
|
||||
"float,class:^(neovide)$"
|
||||
"float,class:^(org.prismlauncher.PrismLauncher)$"
|
||||
"float,class:^(feh)$"
|
||||
"float,class:^(com.github.aliencoweatcake.imageviewer)$"
|
||||
"float,class:^(waypaper)$"
|
||||
|
||||
# -----------------
|
||||
# Scrolling
|
||||
# -----------------
|
||||
"scrollmouse 1.0,class:^(Minecraft.*)$"
|
||||
"scrollmouse 1.0,class:^(Lunar.*)$"
|
||||
"scrollmouse 1.0,class:^(LiquidBounce.*)$"
|
||||
"scrollmouse 1.0,class:^(Nomifactory.*)$"
|
||||
"scrollmouse 1.0,class:^(GT.*)$"
|
||||
|
||||
# -----------------
|
||||
# Center
|
||||
# -----------------
|
||||
"center,class:^(imv)$"
|
||||
"center,class:^(nemo)$"
|
||||
"center,class:^(org.prismlauncher.PrismLauncher)$"
|
||||
|
||||
# -----------------
|
||||
# Size
|
||||
# -----------------
|
||||
"size 1200 700,class:^(imv)$"
|
||||
"size 1200 700,class:^(nemo)$"
|
||||
"size 1200 700,title:^(nvim)$"
|
||||
"size 1200 700,class:^(org.gnome.Decibels)$"
|
||||
"size 1200 700,class:^(neovide)$"
|
||||
"size 1200 700,class:^(org.prismlauncher.PrismLauncher)$"
|
||||
"size 1200 700,class:^(waypaper)$"
|
||||
|
||||
"suppressevent maximize,class:.*"
|
||||
|
||||
# -----------------
|
||||
# Opaque
|
||||
# -----------------
|
||||
"opaque,class:^(kitty)$"
|
||||
"opaque,class:^(nemo)$"
|
||||
"opaque,class:^(virt-manager)$"
|
||||
"opaque,class:^(rofi)$"
|
||||
"opaque,class:^(looking-glass-client)$"
|
||||
"opaque,class:^(steam)$"
|
||||
"opaque,class:^(equibop)$"
|
||||
"opaque,initialtitle:^(Zen Browser)$"
|
||||
"opaque,class:^(org.qutebrowser.qutebrowser)$"
|
||||
"opaque,class:^(gimp)$"
|
||||
"opaque,class:^(discord)$"
|
||||
"opaque,class:^(librewolf)$"
|
||||
"opaque,class:^(imv)$"
|
||||
"opaque,class:^(org.gnome.Decibels)$"
|
||||
"opaque,class:^(neovide)$"
|
||||
"opaque,class:^(Tor Browser)$"
|
||||
"opaque,class:^(com.ayugram.desktop)$"
|
||||
"opaque,title:^(Software Manager)$"
|
||||
"opaque,class:^(waypaper)$"
|
||||
"opaque,class:^(mpv)$"
|
||||
"opaque,class:^(helium)$"
|
||||
"opaque,class:^(Spotify)$"
|
||||
|
||||
# -----------------
|
||||
# Kando
|
||||
# -----------------
|
||||
"noblur,class:^(kando)$"
|
||||
"opaque,class:^(kando)$"
|
||||
"size 100% 100%,class:^(kando)$"
|
||||
"bordersize 0,class:^(kando)$"
|
||||
"noanim,class:^(kando)$"
|
||||
"float,class:^(kando)$"
|
||||
"pin,class:^(kando)$"
|
||||
];
|
||||
|
||||
layer_rule = [
|
||||
"blur,rofi"
|
||||
"noanim,hyprpicker"
|
||||
"noanim,selection"
|
||||
|
||||
"noscreenshare,notifications"
|
||||
"blur,notifications"
|
||||
"ignorealpha 1,notifications"
|
||||
|
||||
"blur,wofi"
|
||||
|
||||
"dimaround,rofi"
|
||||
|
||||
"noanim,^dms$"
|
||||
"noscreenshare,dms:notification-popup"
|
||||
|
||||
"noanim,noctalia-background-.*$"
|
||||
"ignorealpha 0.5,noctalia-background-.*$"
|
||||
"blur,noctalia-background-.*$"
|
||||
"blurpopups,noctalia-background-.*$"
|
||||
|
||||
"noscreenshare,noctalia-notifications-.*$"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
shellIntegration.enableFishIntegration = true;
|
||||
shellIntegration.mode = "enabled";
|
||||
settings = {
|
||||
font_family = "CaskaydiaMono NF";
|
||||
font_size = 11.5;
|
||||
cursor = "#bbccdd";
|
||||
scrollback_lines = 50000;
|
||||
pixel_scroll = true;
|
||||
cursor_trail = 20;
|
||||
cursor_trail_start_threshold = 0;
|
||||
cursor_trail_decay = "0.1 0.2";
|
||||
mouse_hide_wait = 0.5;
|
||||
enable_audio_bell = false;
|
||||
disable_clipboard_control = false;
|
||||
|
||||
allow_remote_control = true;
|
||||
listen_on = "unix:/tmp/kitty_pywal";
|
||||
single_instance = true;
|
||||
|
||||
tab_bar_edge = "top";
|
||||
tab_bar_margin_width = 0.0;
|
||||
tab_bar_style = "powerline";
|
||||
tab_powerline_style = "slanted";
|
||||
|
||||
tab_title_max_length = 12;
|
||||
|
||||
tab_title_template = ''" {index} {title} "'';
|
||||
|
||||
active_tab_font_style = "bold-italic";
|
||||
inactive_tab_foreground = "#dedede";
|
||||
inactive_tab_background = "#121212";
|
||||
inactive_tab_font_style = "normal";
|
||||
|
||||
tab_bar_background = "#080808";
|
||||
|
||||
tab_bar_margin_color = "none";
|
||||
foreground = "#dfdfdf";
|
||||
background = "#000000";
|
||||
|
||||
background_opacity = 0;
|
||||
|
||||
selection_foreground = "#000000";
|
||||
selection_background = "#aaeeff";
|
||||
|
||||
kitty_mod = "ctrl+shift";
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
"ctrl+shift+enter" = "none";
|
||||
"ctrl+shift+l" = "none";
|
||||
"ctrl+shift+h" = "none";
|
||||
"alt+1" = "goto_tab 1";
|
||||
"alt+2" = "goto_tab 2";
|
||||
"alt+3" = "goto_tab 3";
|
||||
"alt+4" = "goto_tab 4";
|
||||
"alt+5" = "goto_tab 5";
|
||||
"alt+6" = "goto_tab 6";
|
||||
"alt+7" = "goto_tab 7";
|
||||
"alt+8" = "goto_tab 8";
|
||||
"alt+9" = "goto_tab 9";
|
||||
"alt+0" = "goto_tab 0";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,227 @@
|
||||
{
|
||||
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"
|
||||
max_playlist_length "131072"
|
||||
max_output_buffer_size "32768"
|
||||
'';
|
||||
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),
|
||||
//),
|
||||
],
|
||||
)
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user