Compare commits

..

2 Commits

Author SHA1 Message Date
0edd66d61a Giving claude access diving in balls first 2026-01-15 16:48:40 +00:00
2f7ae02b36 flake.lock: Update
Flake lock file updates:

• Updated input 'caelestia-cli':
    'github:caelestia-dots/cli/55590bd9e4c24189c44c1ad1ec7b3b54538fcefb?narHash=sha256-sD6q%2BLrM6vd2i2BrQoowhGARa43zWeR8oPTjzlxq3RU%3D' (2026-01-04)
  → 'github:caelestia-dots/cli/55d75a117540e37263ac450ed7c40cc2212b5e3c?narHash=sha256-9aevqBizkmywn0buASzLCNOwY/Wm6tq9FpaPrRgZ/KQ%3D' (2026-01-07)
• Updated input 'caelestia-cli/nixpkgs':
    'github:nixos/nixpkgs/fb7944c166a3b630f177938e478f0378e64ce108?narHash=sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf%2BOkucw%3D' (2026-01-02)
  → 'github:nixos/nixpkgs/9f0c42f8bc7151b8e7e5840fb3bd454ad850d8c5?narHash=sha256-UWYqmD7JFBEDBHWYcqE6s6c77pWdcU/i%2BbwD6XxMb8A%3D' (2026-01-05)
• Updated input 'dms':
    'github:AvengeMedia/DankMaterialShell/ab071e12aaf0c42b6e0921b94f96553c4a10bcbf?narHash=sha256-njG0q58Xnx69/V0KCTwBsI514sO/Eq1yF74%2B8hLDU1A%3D' (2026-01-05)
  → 'github:AvengeMedia/DankMaterialShell/3dd21382bad5d43604850e257cfd1b8d35e16fb9?narHash=sha256-4tLYqLiLZqI7xmhNBi5zyGkaAXZJNUtGuxWzA7NJf8A%3D' (2026-01-07)
• Updated input 'home-manager':
    'github:nix-community/home-manager/a65c04965c841eb01ba401f5162f12bc8d52014f?narHash=sha256-N0kK1JqxIjFl7hPAfhkW6C9AO7feYJUWLPyqJO2VuQQ%3D' (2026-01-05)
  → 'github:nix-community/home-manager/c068188a8e5c277f7bc8671557a7568864b57515?narHash=sha256-QICeGwbXfqtaOZmgh6BrSBB72drPuHO3pjuyh%2Bx8eIY%3D' (2026-01-07)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/9817553c664b0b7f6776671383a6368c74ee8dee?narHash=sha256-M5WVoXwlZpYcEKS23sEQKMzzdqItY/iEWoj3reIBfiE%3D' (2026-01-05)
  → 'github:hyprwm/Hyprland/918e2bb9be0e1d233f9394f1d569137788c43c01?narHash=sha256-BHBiQhlNl%2BLxvp/bBOOTWhxbXYMoVG4xiyv9DE/nuZ4%3D' (2026-01-07)
• Updated input 'hyprland-hyprsplit':
    'github:Duckonaut/split-monitor-workspaces/7b179721fcd272154d2917e9c4a7f9659c6104a2?narHash=sha256-FtitmvggxcZqCEKhYIN66td6JONenoTsuOFVS9pYi5E%3D' (2026-01-04)
  → 'github:Duckonaut/split-monitor-workspaces/764548c3aa22c9f4cb436ec7243d21795eb6ebec?narHash=sha256-yTuyde8TpBR3NhNnOcK4uOGukvMCwrH3otP8E04e9X0%3D' (2026-01-06)
• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/0b356053fa4e6a6f5e857529654ff45eba2859d8?narHash=sha256-502sjmbTK/W8x6DUbJAyiBOABwV1q5Wb5caCMwd6BuI%3D' (2026-01-05)
  → 'github:hyprwm/hyprland-plugins/fef398ed5e4faf59bc43b915e46a75cfe8b16697?narHash=sha256-jObY8O7OI%2B91hoE137APsDxm0235/Yx%2BHhFIip187zM%3D' (2026-01-06)
• Updated input 'jovian':
    'github:Jovian-Experiments/Jovian-NixOS/efd4b22e6fdc6d7fb4e186ae333a4b74e03da440?narHash=sha256-2tL1mRb9uFJThUNfuDm/ehrnPvImL/QDtCxfn71IEz4%3D' (2025-12-30)
  → 'github:Jovian-Experiments/Jovian-NixOS/a81fad3f4a70fdaa779e74b7da2063fa2e358028?narHash=sha256-jXb2kBU6lO6Q6S9zoR/bhVLMjg2hM9EW8gWIwsmkj64%3D' (2026-01-07)
• Updated input 'nixcord':
    'github:kaylorben/nixcord/9748d874957aef2a3f44de2c3fdfe412c62a9063?narHash=sha256-pnfuAPzku7uqNt7Bc0zILNrvmeHd%2B1/iEN5caWJb8x4%3D' (2026-01-05)
  → 'github:kaylorben/nixcord/d9f83906a12678900b2b36c3bdf7329e8efaa0c0?narHash=sha256-uW5BgnDOn41rlKn1JxdN7CU4bbOgZf%2BaxEw8pBVP6RU%3D' (2026-01-07)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3bd884a63dc53ecb0bf43422f4aa4f51d87a04e9?narHash=sha256-bGKKceW7Sr5HsuyDrdUCdx3/NkyvASdst86yx955CCE%3D' (2025-12-24)
  → 'github:nixos/nixpkgs/5912c1772a44e31bf1c63c0390b90501e5026886?narHash=sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4%3D' (2026-01-07)
• Updated input 'quickshell':
    'git+https://git.outfoxxed.me/outfoxxed/quickshell?ref=refs/heads/master&rev=41828c4180fb921df7992a5405f5ff05d2ac2fff' (2025-12-26)
  → 'git+https://git.outfoxxed.me/outfoxxed/quickshell?ref=refs/heads/master&rev=6742148cf4a8415a9c51fdeb11d8c3ea716c2e14' (2026-01-06)
• Updated input 'vicinae':
    'github:vicinaehq/vicinae/b79669006c4e49e32f2ae889c1294cd62c8071d5?narHash=sha256-L0A4daBtEuponvKr5YM4wn8btDku0Cs2Eu5b%2BEtTgSk%3D' (2026-01-05)
  → 'github:vicinaehq/vicinae/aab965dcf29529c5fab67b9c2fb5f8168f76fa1b?narHash=sha256-OPBgcM2ZzbVEUS6lwRpJo2JBfiRK8TmYVSmZImEW2gA%3D' (2026-01-07)
• Updated input 'zen-browser':
    'github:0xc000022070/zen-browser-flake/350c729b261e6f5529460140a5f0943dd4c5e156?narHash=sha256-6s8hL3YX9zAq2T7qvcwwzaEVwc9MEYbW%2BC2LcAAQfbk%3D' (2026-01-04)
  → 'github:0xc000022070/zen-browser-flake/8b2302d8c10369c9135552cc892da75cff5ddb03?narHash=sha256-5ysv8EuVAgDoYmNuXEUNf7vBzdeRaFxeIlIndv5HMvs%3D' (2026-01-07)
2026-01-07 19:53:11 +00:00
12 changed files with 109 additions and 830 deletions

423
dots/\
View File

@@ -1,423 +0,0 @@
{
config,
lib,
pkgs,
window_manager,
systemName,
inputs,
...
}:
let
hypr-package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
hypr-portal =
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
hypr-split =
inputs.hyprland-hyprsplit.packages.${pkgs.stdenv.hostPlatform.system}.split-monitor-workspaces;
#hyprscrolling = inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprscrolling;
mod = "Alt";
terminal = "footclient";
fileManager = "thunar";
#runner = "${lib.getExe caelestia-cli} shell drawers toggle launcher";
runner = "vicinae toggle";
# runner = "anyrun";
browser = "brave";
editor = "emacsclient -c";
in
{
wayland.windowManager.hyprland = {
enable = window_manager == "hyprland" || window_manager == "all";
package = hypr-package;
portalPackage = hypr-portal;
plugins = [
#pkgs.hyprlandPlugins.hyprsplit
hypr-split
#hyprscrolling
];
settings = {
##########################################################################
# Monitors
##########################################################################
#source = "./dms/outputs.conf";
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor = lib.mkMerge [
#(lib.mkIf (systemName == "laptop") [ "eDP-1,1920x1080@59.99700,0x0,1" ])
(lib.mkIf (systemName == "pc") [
"HDMI-A-2, disable"
])
];
monitorv2 =
[ ]
++ lib.optional (systemName == "laptop") {
output = "eDP-1";
mode = "1920x1080@59.99700";
scale = 1;
position = "0x0";
}
++ lib.optional (systemName == "pc") {
output = "DP-1";
mode = "2560x1440@239.97";
position = "2560x0"; # "1440x750"; # Corrected from 2569x0 for seamless alignment
scale = 1;
#supports_wide_color = 1;
bitdepth = 10;
cm = "wide";
supports_hdr = true;
supports_wide_color = true;
sdr_min_luminance = 0; # For true black on OLED
sdr_max_luminance = 275; # Matches typical SDR brightness
min_luminance = 0;
max_luminance = 1000; # HDR peak
max_avg_luminance = 400; # Average frame luminance
sdrbrightness = 1.2; # Slight boost to avoid washed out look
sdrsaturation = 1.0;
}
++ lib.optional (systemName == "pc") {
output = "DP-2";
mode = "2560x1440@144";
scale = 1;
position = "0x0";
transform = 0;
};
##########################################################################
# Autostart
##########################################################################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
exec-once = [
# "waybar"
# "quickshell"
#"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
"${pkgs.kdePackages.polkit-kde-agent-1}/libexec/polkit-kde-authentication-agent-1"
"${pkgs.kdePackages.kwallet-pam}/libexec/pam_kwallet_init"
"fcitx5 -d"
"foot -s"
"systemctl --user import-environment DBUS_SESSION_BUS_ADDRESS WAYLAND_DISPLAY XDG_SESSION_TYPE XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP QT_QPA_PLATFORMTHEME GTK_THEME"
"dbus-update-activation-environment --systemd --all"
]
++ lib.optionals (config.home.username == "work") [
"thunderbird"
"sleep 10 && emacsclient -c --frame-parameters='((name . \"work\"))' $HOME/Documents/work/README.org"
];
# ++ lib.optional (systemName == "laptop")
# "swaybg -o eDP-1 -i ${../assets/Wallpapers/138.png}"
#
# ++ lib.optional (systemName == "pc")
# "swaybg -o HDMI-A-1 -i ${../assets/Wallpapers/138.png} -o DP-1 -i ${../assets/Wallpapers/138.png}";
##########################################################################
# Plugins
##########################################################################
plugin = {
split-monitor-workspaces = {
count = 10;
penable_persistent_workspaces = 1;
};
hyprscrolling = {
column_width = 0.9;
follow_focus = false;
fullscreen_on_one_column = true;
};
};
##########################################################################
# Environment
##########################################################################
env = [
"XCURSOR_SIZE, 24"
"HYPRCURSOR_SIZE, 24"
];
##########################################################################
# General / Render / Decoration / Animations
##########################################################################
# https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general = {
gaps_in = 5;
gaps_out = 10;
border_size = 2;
# "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
# "col.inactive_border" = "rgba(595959aa)";
resize_on_border = false; # enable resizing windows by clicking and dragging on borders and gaps
allow_tearing = false; # see https://wiki.hyprland.org/Configuring/Tearing/ before enabling
layout = "master";
};
render = {
cm_enabled = true; # turn on the CM pipeline (requires Hyprland restart)
cm_fs_passthrough = 2; # passthrough only for HDR content (safer than 1)
cm_auto_hdr = 1; # auto-switch monitor to HDR for fullscreen apps
send_content_type = true; # helps auto HDR on some displays
# cm_fs_passthrough = 1; # optional: keep your existing line; you can replace with 2 as above
};
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration = {
rounding = 0;
rounding_power = 0;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = {
enabled = true;
range = 4;
render_power = 3;
# color = "rgba(1a1a1aee)";
};
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur = {
enabled = false;
size = 3;
passes = 1;
vibrancy = 0.1696;
};
};
animations = {
enabled = "yes, please :)";
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 10, default"
"border, 1, 5.39, easeOutQuint"
"windows, 1, 4.79, easeOutQuint"
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1.49, linear, popin 87%"
"fadeIn, 1, 1.73, almostLinear"
"fadeOut, 1, 1.46, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear"
"fadeLayersOut, 1, 1.39, almostLinear"
"workspaces, 1, 1.94, almostLinear, fade"
"workspacesIn, 1, 1.21, almostLinear, fade"
"workspacesOut, 1, 1.94, almostLinear, fade"
];
};
##########################################################################
# Layouts
##########################################################################
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle = {
pseudotile = true; # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds
preserve_split = true; # You probably want this
force_split = 2;
};
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master = {
new_status = "master";
mfact = 0.5;
new_on_top = true;
};
##########################################################################
# Misc / Input / Gestures / Devices
##########################################################################
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc = {
force_default_wallpaper = -1; # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = true; # If true disables the random hyprland logo / anime girl background. :(
enable_swallow = true;
swallow_regex = "footclient";
};
# https://wiki.hyprland.org/Configuring/Variables/#input
input = {
kb_layout = lib.mkMerge [
(lib.mkIf (systemName == "laptop") "ie")
(lib.mkIf (systemName == "pc") "us")
];
repeat_rate = 40;
repeat_delay = 500;
# kb_variant =
# kb_model =
# kb_options =
# kb_rules =
follow_mouse = 1;
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
touchpad = {
natural_scroll = false;
};
};
# https://wiki.hyprland.org/Configuring/Variables/#gestures
# gestures = {
# workspace_swipe = true;
# workspace_swipe_cancel_ratio = 0.15;
# };
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs
device = {
name = "epic-mouse-v1";
sensitivity = -0.5;
};
##########################################################################
# Binds
##########################################################################
bind = [
# Launcher / apps
"${mod}, Return, exec, ${terminal}"
"${mod}, B, exec, ${browser}"
"${mod}, F, exec, ${fileManager}"
"${mod}, D, exec, ${runner}"
"${mod}, E, exec, ${editor}"
# Session / window controls
"${mod}, Q, killactive,"
"${mod}, M, exit,"
"${mod}, V, togglefloating,"
"${mod}, T, fullscreen"
# ",Print, exec, grim -g \"$(slurp)\" - | swappy -f -"
",Print, exec, dms screenshot"
"${mod}, f1, exec, dms ipc call keybinds toggle hyprland"
# Dwindle
"${mod}, P, pseudo, "
# Focus (arrows)
"${mod}, H, movefocus, l"
"${mod}, L, movefocus, r"
"${mod}, K, movefocus, u"
"${mod}, J, movefocus, d"
# Column movement (hyprscrolling)
#"${mod}, h, layoutmsg, move -col"
#"${mod}, L, layoutmsg, move +col"
# Move window
"${mod} SHIFT, H, movewindow, l"
"${mod} SHIFT, L, movewindow, r"
"${mod} SHIFT, K, movewindow, u"
"${mod} SHIFT, J, movewindow, d"
#"${mod} SHIFT, L, layoutmsg, movewindowto r"
#"${mod} SHIFT, H, layoutmsg, movewindowto l"
#"${mod} SHIFT, K, layoutmsg, movewindowto u"
#"${mod} SHIFT, J, layoutmsg, movewindowto d"
"${mod}, semicolon, layoutmsg, promote"
#hyperscrolling stuff
"${mod}, period, layoutmsg, move +col"
"${mod}, comma, layoutmsg, move -col"
# Workspaces (switch)
"${mod}, 1, split-workspace, 1 "
"${mod}, 2, split-workspace, 2 "
"${mod}, 3, split-workspace, 3 "
"${mod}, 4, split-workspace, 4 "
"${mod}, 5, split-workspace, 5 "
"${mod}, 6, split-workspace, 6 "
"${mod}, 7, split-workspace, 7 "
"${mod}, 8, split-workspace, 8 "
"${mod}, 9, split-workspace, 9 "
"${mod}, 0, split-workspace, 10"
# Workspaces (move active window)
"${mod} SHIFT, 1, split-movetoworkspacesilent, 1 "
"${mod} SHIFT, 2, split-movetoworkspacesilent, 2 "
"${mod} SHIFT, 3, split-movetoworkspacesilent, 3 "
"${mod} SHIFT, 4, split-movetoworkspacesilent, 4 "
"${mod} SHIFT, 5, split-movetoworkspacesilent, 5 "
"${mod} SHIFT, 6, split-movetoworkspacesilent, 6 "
"${mod} SHIFT, 7, split-movetoworkspacesilent, 7 "
"${mod} SHIFT, 8, split-movetoworkspacesilent, 8 "
"${mod} SHIFT, 9, split-movetoworkspacesilent, 9 "
"${mod} SHIFT, 0, split-movetoworkspacesilent, 10"
# Special workspace (scratchpad)
"${mod}, SLASH, togglespecialworkspace, magic"
"${mod} SHIFT, SLASH, movetoworkspace, special:magic"
# Scroll through existing workspaces with mainMod + scroll
"${mod}, mouse_down, workspace, e+1"
"${mod}, mouse_up, workspace, e-1"
# 8BitDo keyboard big red b Button
"${mod} SHIFT, F1, exec, scrcpy --video-source=camera -m3000 --camera-facing=back --v4l2-sink=/dev/video1 --no-video-playback --no-audio"
];
bindm = [
# Move/resize windows with mainMod + LMB/RMB and dragging
"${mod}, mouse:272, movewindow"
"${mod}, mouse:273, resizewindow"
];
bindel = [
",XF86AudioRaiseVolume, exec, pamixer -i 5"
",XF86AudioLowerVolume, exec, pamixer -d 5"
",XF86AudioMute, exec, pamixer --toggle-mute"
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
# ",XF86MonBrightnessUp, exec, light -A 5"
# ",XF86MonBrightnessDown, exec, light -U 5"
# Brightness
",XF86MonBrightnessUp, global, dms ipc call brightness increment 5"
",XF86MonBrightnessDown, global, dms ipc call brightness decrement 5"
];
bindl = [
", XF86AudioNext, exec, playerctl next"
", XF86AudioPause, exec, playerctl play-pause"
", XF86AudioPlay, exec, playerctl play-pause "
", XF86AudioPrev, exec, playerctl previous "
];
binds = [ ];
##########################################################################
# Rules (windows / workspaces)
##########################################################################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule
# windowrule = float,class:^(kitty)$,title:^(kitty)$
# Smart gaps / No gaps when only
# workspace = w[tv1], gapsout:0, gapsin:0
# workspace = f[1], gapsout:0, gapsin:0
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
# windowrule = rounding 0, floating:0, onworkspace:f[1]
windowrule = [
# Ignore maximize requests from apps. You'll probably like this.
"match:class .*, suppress_event maximize"
# Fix some dragging issues with XWayland
"match:class ^$, match:title ^$, match:xwayland 1, match:float 1, match:fullscreen 0, match:pin 0, no_focus on"
"match:class thunderbird, workspace special:magic silent"
"match:class emacs, match:title work, workspace special:magic silent"
];
};
};
}

View File

@@ -20,7 +20,7 @@ let
#runner = "${lib.getExe caelestia-cli} shell drawers toggle launcher"; #runner = "${lib.getExe caelestia-cli} shell drawers toggle launcher";
runner = "vicinae toggle"; runner = "vicinae toggle";
# runner = "anyrun"; # runner = "anyrun";
browser = "brave"; browser = "firefox";
editor = "emacsclient -c"; editor = "emacsclient -c";
in in
{ {
@@ -38,49 +38,53 @@ in
########################################################################## ##########################################################################
# Monitors # Monitors
########################################################################## ##########################################################################
#source = "./dms/outputs.conf"; source = [
"./dms/outputs.conf"
# See https://wiki.hyprland.org/Configuring/Monitors/ #"./dms/cursor.conf"
monitor = lib.mkMerge [ "./dms/colors.conf"
#(lib.mkIf (systemName == "laptop") [ "eDP-1,1920x1080@59.99700,0x0,1" ])
(lib.mkIf (systemName == "pc") [
"HDMI-A-2, disable"
])
]; ];
monitorv2 = # See https://wiki.hyprland.org/Configuring/Monitors/
[ ] #monitor = lib.mkMerge [
++ lib.optional (systemName == "laptop") { # #(lib.mkIf (systemName == "laptop") [ "eDP-1,1920x1080@59.99700,0x0,1" ])
output = "eDP-1"; # (lib.mkIf (systemName == "pc") [
mode = "1920x1080@59.99700"; # "HDMI-A-2, disable"
scale = 1; # ])
position = "0x0"; #];
}
++ lib.optional (systemName == "pc") { #monitorv2 =
output = "DP-1"; # [ ]
mode = "2560x1440@239.97"; # ++ lib.optional (systemName == "laptop") {
position = "2560x0"; # "1440x750"; # Corrected from 2569x0 for seamless alignment # output = "eDP-1";
scale = 1; # mode = "1920x1080@59.99700";
#supports_wide_color = 1; # scale = 1;
bitdepth = 10; # position = "0x0";
cm = "wide"; # }
supports_hdr = true; # ++ lib.optional (systemName == "pc") {
supports_wide_color = true; # output = "DP-1";
sdr_min_luminance = 0; # For true black on OLED # mode = "2560x1440@239.97";
sdr_max_luminance = 275; # Matches typical SDR brightness # position = "2560x0"; # "1440x750"; # Corrected from 2569x0 for seamless alignment
min_luminance = 0; # scale = 1;
max_luminance = 1000; # HDR peak # #supports_wide_color = 1;
max_avg_luminance = 400; # Average frame luminance # bitdepth = 10;
sdrbrightness = 1.2; # Slight boost to avoid washed out look # cm = "wide";
sdrsaturation = 1.0; # supports_hdr = true;
} # supports_wide_color = true;
++ lib.optional (systemName == "pc") { # sdr_min_luminance = 0; # For true black on OLED
output = "DP-2"; # sdr_max_luminance = 275; # Matches typical SDR brightness
mode = "2560x1440@144"; # min_luminance = 0;
scale = 1; # max_luminance = 1000; # HDR peak
position = "0x0"; # max_avg_luminance = 400; # Average frame luminance
transform = 0; # sdrbrightness = 1.2; # Slight boost to avoid washed out look
}; # sdrsaturation = 1.0;
# }
# ++ lib.optional (systemName == "pc") {
# output = "DP-2";
# mode = "2560x1440@144";
# scale = 1;
# position = "0x0";
# transform = 0;
# };
########################################################################## ##########################################################################
# Autostart # Autostart

View File

@@ -38,7 +38,7 @@
defaultApplications = defaultApplications =
let let
browser = [ "brave.desktop" ]; browser = [ "firefox.desktop" ];
fileManager = [ "pcmanfm.desktop" ]; fileManager = [ "pcmanfm.desktop" ];
editor = [ "emacs.desktop" ]; editor = [ "emacs.desktop" ];
player = [ "mpv.desktop" ]; player = [ "mpv.desktop" ];

82
flake.lock generated
View File

@@ -167,11 +167,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1767493656, "lastModified": 1767751792,
"narHash": "sha256-sD6q+LrM6vd2i2BrQoowhGARa43zWeR8oPTjzlxq3RU=", "narHash": "sha256-9aevqBizkmywn0buASzLCNOwY/Wm6tq9FpaPrRgZ/KQ=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "cli", "repo": "cli",
"rev": "55590bd9e4c24189c44c1ad1ec7b3b54538fcefb", "rev": "55d75a117540e37263ac450ed7c40cc2212b5e3c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -233,11 +233,11 @@
"quickshell": "quickshell_3" "quickshell": "quickshell_3"
}, },
"locked": { "locked": {
"lastModified": 1767649471, "lastModified": 1767813183,
"narHash": "sha256-njG0q58Xnx69/V0KCTwBsI514sO/Eq1yF74+8hLDU1A=", "narHash": "sha256-4tLYqLiLZqI7xmhNBi5zyGkaAXZJNUtGuxWzA7NJf8A=",
"owner": "AvengeMedia", "owner": "AvengeMedia",
"repo": "DankMaterialShell", "repo": "DankMaterialShell",
"rev": "ab071e12aaf0c42b6e0921b94f96553c4a10bcbf", "rev": "3dd21382bad5d43604850e257cfd1b8d35e16fb9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -410,11 +410,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767619743, "lastModified": 1767811801,
"narHash": "sha256-N0kK1JqxIjFl7hPAfhkW6C9AO7feYJUWLPyqJO2VuQQ=", "narHash": "sha256-QICeGwbXfqtaOZmgh6BrSBB72drPuHO3pjuyh+x8eIY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a65c04965c841eb01ba401f5162f12bc8d52014f", "rev": "c068188a8e5c277f7bc8671557a7568864b57515",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -500,11 +500,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1767654014, "lastModified": 1767812022,
"narHash": "sha256-M5WVoXwlZpYcEKS23sEQKMzzdqItY/iEWoj3reIBfiE=", "narHash": "sha256-BHBiQhlNl+Lxvp/bBOOTWhxbXYMoVG4xiyv9DE/nuZ4=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "9817553c664b0b7f6776671383a6368c74ee8dee", "rev": "918e2bb9be0e1d233f9394f1d569137788c43c01",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -567,11 +567,11 @@
"nix-filter": "nix-filter" "nix-filter": "nix-filter"
}, },
"locked": { "locked": {
"lastModified": 1767533601, "lastModified": 1767711026,
"narHash": "sha256-FtitmvggxcZqCEKhYIN66td6JONenoTsuOFVS9pYi5E=", "narHash": "sha256-yTuyde8TpBR3NhNnOcK4uOGukvMCwrH3otP8E04e9X0=",
"owner": "Duckonaut", "owner": "Duckonaut",
"repo": "split-monitor-workspaces", "repo": "split-monitor-workspaces",
"rev": "7b179721fcd272154d2917e9c4a7f9659c6104a2", "rev": "764548c3aa22c9f4cb436ec7243d21795eb6ebec",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -597,11 +597,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767640250, "lastModified": 1767723101,
"narHash": "sha256-502sjmbTK/W8x6DUbJAyiBOABwV1q5Wb5caCMwd6BuI=", "narHash": "sha256-jObY8O7OI+91hoE137APsDxm0235/Yx+HhFIip187zM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-plugins", "repo": "hyprland-plugins",
"rev": "0b356053fa4e6a6f5e857529654ff45eba2859d8", "rev": "fef398ed5e4faf59bc43b915e46a75cfe8b16697",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -803,11 +803,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767082077, "lastModified": 1767777502,
"narHash": "sha256-2tL1mRb9uFJThUNfuDm/ehrnPvImL/QDtCxfn71IEz4=", "narHash": "sha256-jXb2kBU6lO6Q6S9zoR/bhVLMjg2hM9EW8gWIwsmkj64=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "efd4b22e6fdc6d7fb4e186ae333a4b74e03da440", "rev": "a81fad3f4a70fdaa779e74b7da2063fa2e358028",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -944,11 +944,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767600187, "lastModified": 1767772998,
"narHash": "sha256-pnfuAPzku7uqNt7Bc0zILNrvmeHd+1/iEN5caWJb8x4=", "narHash": "sha256-uW5BgnDOn41rlKn1JxdN7CU4bbOgZf+axEw8pBVP6RU=",
"owner": "kaylorben", "owner": "kaylorben",
"repo": "nixcord", "repo": "nixcord",
"rev": "9748d874957aef2a3f44de2c3fdfe412c62a9063", "rev": "d9f83906a12678900b2b36c3bdf7329e8efaa0c0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1005,11 +1005,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1767379071, "lastModified": 1767640445,
"narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", "narHash": "sha256-UWYqmD7JFBEDBHWYcqE6s6c77pWdcU/i+bwD6XxMb8A=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "fb7944c166a3b630f177938e478f0378e64ce108", "rev": "9f0c42f8bc7151b8e7e5840fb3bd454ad850d8c5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1021,11 +1021,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1766580501, "lastModified": 1767767207,
"narHash": "sha256-bGKKceW7Sr5HsuyDrdUCdx3/NkyvASdst86yx955CCE=", "narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3bd884a63dc53ecb0bf43422f4aa4f51d87a04e9", "rev": "5912c1772a44e31bf1c63c0390b90501e5026886",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1207,11 +1207,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766725085, "lastModified": 1767693058,
"narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", "narHash": "sha256-rnLX8IA4yMbKHjYmJPcYCcWrqJ50B8WApQW62l+V9LE=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", "rev": "6742148cf4a8415a9c51fdeb11d8c3ea716c2e14",
"revCount": 715, "revCount": 717,
"type": "git", "type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell" "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}, },
@@ -1407,11 +1407,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1767621589, "lastModified": 1767815010,
"narHash": "sha256-L0A4daBtEuponvKr5YM4wn8btDku0Cs2Eu5b+EtTgSk=", "narHash": "sha256-OPBgcM2ZzbVEUS6lwRpJo2JBfiRK8TmYVSmZImEW2gA=",
"owner": "vicinaehq", "owner": "vicinaehq",
"repo": "vicinae", "repo": "vicinae",
"rev": "b79669006c4e49e32f2ae889c1294cd62c8071d5", "rev": "aab965dcf29529c5fab67b9c2fb5f8168f76fa1b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1471,11 +1471,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767568852, "lastModified": 1767763594,
"narHash": "sha256-6s8hL3YX9zAq2T7qvcwwzaEVwc9MEYbW+C2LcAAQfbk=", "narHash": "sha256-5ysv8EuVAgDoYmNuXEUNf7vBzdeRaFxeIlIndv5HMvs=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "350c729b261e6f5529460140a5f0943dd4c5e156", "rev": "8b2302d8c10369c9135552cc892da75cff5ddb03",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -29,7 +29,6 @@
dms = { dms = {
url = "github:AvengeMedia/DankMaterialShell"; url = "github:AvengeMedia/DankMaterialShell";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.dgop.follows = "dgop";
}; };
caelestia.url = "github:caelestia-dots/shell"; caelestia.url = "github:caelestia-dots/shell";
caelestia-cli.url = "github:caelestia-dots/cli"; caelestia-cli.url = "github:caelestia-dots/cli";

303
home/\
View File

@@ -1,303 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}:
let
# hyprlock = pkgs.callPackage ../../universal/personalPKGS/hyprlock.nix {};
# hypridle = pkgs.callPackage ../../universal/personalPKGS/hypridle.nix {};
defaultProfile = {
id = 0;
name = "default";
isDefault = true;
};
in
{
imports = [
inputs.zen-browser.homeModules.beta
inputs.caelestia.homeManagerModules.default
inputs.vicinae.homeManagerModules.default
];
programs = {
zen-browser = {
enable = true;
profiles.default = defaultProfile;
};
firefox = {
enable = true;
profiles.default = defaultProfile;
};
nix-index = {
enable = true;
enableZshIntegration = true;
};
lazygit.enable = true;
vscode = {
enable = true;
# Key fix: dont let the CLI touch ~/.vscode/extensions
mutableExtensionsDir = false;
# (Optional but nice) Use a build with a stable headless CLI:
# package = pkgs.vscodium; # or keep pkgs.vscode
profiles.default = {
extensions = with pkgs.vscode-extensions; [
platformio.platformio-vscode-ide
];
# Optional: keep Code from trying to self-update
# userSettings = {
# "update.mode" = "none";
# "extensions.autoUpdate" = false;
# };
};
# Optional (older HM versions expose these at top-level):
# enableUpdateCheck = false;
# enableExtensionUpdateCheck = false;
};
};
services.vicinae = {
enable = true; # default: false
systemd = {
enable = true;
environment = {
USE_LAYER_SHELL = 1;
};
};
#package = # specify package to use here. Can be omitted.
# Installing (vicinae) extensions declaratively
#settings = {
# faviconService = "twenty"; # twenty | google | none
# font.size = 11;
# popToRootOnClose = false;
# rootSearch.searchFiles = false;
# theme.name = "vicinae-dark";
# window = {
# csd = true;
# opacity = 0.95;
# rounding = 10;
# };
#};
#extensions = [
# (inputs.vicinae.mkVicinaeExtension.${pkgs.stdenv.hostPlatform.system} {
# inherit pkgs;
# name = "extension-name";
# src = pkgs.fetchFromGitHub {
# # You can also specify different sources other than github
# owner = "repo-owner";
# repo = "repo-name";
# rev = "v1.0"; # If the extension has no releases use the latest commit hash
# # You can get the sha256 by rebuilding once and then copying the output hash from the error message
# sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
# }; # If the extension is in a subdirectory you can add ` + "/subdir"` between the brace and the semicolon here
# })
#];
};
qt.enable = true;
# qt.style = "gtk2";
# qt.platformTheme = "qt5ct";
nixpkgs = {
config = {
allowUnfree = true;
permittedInsecurePackages = [
"freeimage-unstable-2021-11-01"
"qtwebengine-5.15.19"
];
};
};
services.kdeconnect.enable = true;
pkgs = import inputs.nixpkgs {
config = {
android_sdk.accept_license = true; # Accept Android SDK license
# allowUnfree = true; # Uncomment if you encounter unfree issues with android-studio-full
};
};
home.packages = with pkgs; [
############################
# Shells & Terminals
############################
alacritty
zsh
############################
# CLI Shit
############################
atuin
############################
# System Utilities
############################
app2unit
brightnessctl
ddcutil
duf
libnotify
lm_sensors
macchina
rm-improved
xarchiver
xdg-user-dirs
############################
# Monitoring & TUI Apps
############################
btop
cava
############################
# Wayland / Desktop Tools
############################
grim
hyprpaper
hyprpicker
mangohud
rofi
slurp
swappy
wf-recorder
############################
# Audio / Media Tools
############################
openai-whisper
pamixer
playerctl
alsa-utils
############################
# Browsers & Web
############################
brave
firefox
ladybird
wgnord
############################
# Communication & Sharing
############################
#element-desktop
localsend
thunderbird
############################
# Documents & Viewers
############################
libreoffice
libreoffice-fresh
zathura
############################
# Media Players & Imaging
############################
imv
mpv
#upscaler
youtube-music
libsixel
############################
# Development Toolchains
############################
gdb
nodejs_20
platformio
rustc
rustup
zed-editor
android-studio-full
# Language tooling from inputs
#inputs.qs-qml.packages.${pkgs.stdenv.hostPlatform.system}.qml-ts-mode
#inputs.qs-qml.packages.${pkgs.stdenv.hostPlatform.system}.tree-sitter-qmljs
############################
# Game Dev / Engines / Creative
############################
blender-hip
godot_4
freecad
############################
# Emulation
############################
fuse
fuse-emulator
fuse3
############################
# Android Tools
############################
android-tools
scrcpy
############################
# Gaming & Launchers
############################
dualsensectl
gamemode
goverlay
(pkgs.heroic.override {
extraPkgs = pkgs: [ pkgs.gamescope ]; # pulls in the real package
})
prismlauncher
protonup-qt
wineWowPackages.stable
mangayomi
rink
protontricks
abaddon
############################
# KDE / File Management
############################
kdePackages.qt6ct
kdePackages.baloo # new
kdePackages.baloo-widgets # new
kdePackages.dolphin
kdePackages.ffmpegthumbs # new
kdePackages.kdegraphics-mobipocket # new
kdePackages.kdegraphics-thumbnailers # new
kdePackages.kdesdk-thumbnailers # new
kdePackages.kimageformats # new
kdePackages.kio
kdePackages.kio-extras
# kdePackages.breeze-icons
# kdePackages.dolphin-plugins
# kdePackages.kde-cli-tools
# resvg # new
adwaita-icon-theme
hicolor-icon-theme
qt6.qtsvg
adw-gtk3
pywalfox-native
############################
# Experimental (inputs)
############################
#inputs.ladybird.packages."${pkgs.stdenv.hostPlatform.system}".ladybird
#inputs.hyprlauncher.packages.${pkgs.stdenv.hostPlatform.system}.default
############################
# Blockchain (inputs)
############################
#inputs.caelestia-cli.packages.${pkgs.stdenv.hostPlatform.system}.caelestia-cli
#inputs.caelestia.packages.${pkgs.stdenv.hostPlatform.system}.caelestia-shell
];
}

View File

@@ -51,6 +51,7 @@ in
profiles.default = { profiles.default = {
extensions = with pkgs.vscode-extensions; [ extensions = with pkgs.vscode-extensions; [
platformio.platformio-vscode-ide platformio.platformio-vscode-ide
ms-vscode.cpptools
]; ];
# Optional: keep Code from trying to self-update # Optional: keep Code from trying to self-update
@@ -117,6 +118,7 @@ in
"freeimage-unstable-2021-11-01" "freeimage-unstable-2021-11-01"
"qtwebengine-5.15.19" "qtwebengine-5.15.19"
]; ];
rocmSupport = true;
}; };
}; };
@@ -202,7 +204,7 @@ in
imv imv
mpv mpv
#upscaler #upscaler
youtube-music pear-desktop
libsixel libsixel
############################ ############################
@@ -215,6 +217,7 @@ in
rustup rustup
zed-editor zed-editor
android-studio-full android-studio-full
claude-code
# Language tooling from inputs # Language tooling from inputs
#inputs.qs-qml.packages.${pkgs.stdenv.hostPlatform.system}.qml-ts-mode #inputs.qs-qml.packages.${pkgs.stdenv.hostPlatform.system}.qml-ts-mode
#inputs.qs-qml.packages.${pkgs.stdenv.hostPlatform.system}.tree-sitter-qmljs #inputs.qs-qml.packages.${pkgs.stdenv.hostPlatform.system}.tree-sitter-qmljs
@@ -222,7 +225,7 @@ in
############################ ############################
# Game Dev / Engines / Creative # Game Dev / Engines / Creative
############################ ############################
blender-hip blender
godot_4 godot_4
freecad freecad

View File

@@ -32,7 +32,7 @@ in
lazygit.enable = true; lazygit.enable = true;
#foot.enable = true; #foot.enable = true;
river.enable = true; river.enable = true;
hyprland.enable = true; #hyprland.enable = true;
waybar.enable = true; waybar.enable = true;
nixcord.enable = true; nixcord.enable = true;

View File

@@ -69,7 +69,6 @@ in
############################ ############################
# Browsers # Browsers
############################ ############################
brave
############################ ############################
# work stuff # work stuff

View File

@@ -150,7 +150,7 @@ in
}; };
thunar = { thunar = {
enable = true; enable = true;
plugins = with pkgs.xfce; [ plugins = with pkgs; [
thunar-archive-plugin thunar-archive-plugin
thunar-volman thunar-volman
]; ];
@@ -181,7 +181,7 @@ in
# --- Nix tooling --- # --- Nix tooling ---
nil nil
nixfmt-rfc-style nixfmt
inputs.nix-alien.packages.${pkgs.stdenv.hostPlatform.system}.nix-alien inputs.nix-alien.packages.${pkgs.stdenv.hostPlatform.system}.nix-alien
# --- Wayland / Desktop --- # --- Wayland / Desktop ---

View File

@@ -243,7 +243,7 @@
pkgs.platformio-core pkgs.platformio-core
pkgs.platformio pkgs.platformio
pkgs.openocd pkgs.openocd
pkgs.brave #pkgs.brave
]; ];
# services.udev.extraRules = '' # services.udev.extraRules = ''

View File

@@ -20,20 +20,20 @@ in
{ {
# greetd + tuigreet # greetd + tuigreet
#services.greetd = { services.greetd = {
# enable = true;
# restart = true;
# useTextGreeter = true;
# settings.default_session = {
# command = "${lib.getExe pkgs.tuigreet} --window-padding 1 --time --time-format '%R - %F' --remember --remember-session --asterisks";
# user = "greeter";
# };
#};
services.displayManager.dms-greeter = {
enable = true; enable = true;
compositor.name = "hyprland"; # Or "hyprland" or "sway" restart = true;
configHome = "${config.users.users.mrfluffy.home}"; useTextGreeter = true;
settings.default_session = {
command = "${lib.getExe pkgs.tuigreet} --window-padding 1 --time --time-format '%R - %F' --remember --remember-session --asterisks";
user = "greeter";
};
}; };
#services.displayManager.dms-greeter = {
# enable = true;
# compositor.name = "hyprland"; # Or "hyprland" or "sway"
# configHome = "${config.users.users.mrfluffy.home}";
#};
#services.displayManager.cosmic-greeter.enable = true; #services.displayManager.cosmic-greeter.enable = true;
############################################################################## ##############################################################################