diff --git a/flake.lock b/flake.lock --- a/flake.lock +++ b/flake.lock @@ -186,22 +186,6 @@ "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1" } }, - "nixpkgs-firmware": { - "locked": { - "lastModified": 1786418624, - "narHash": "sha256-xvXBdo9CcGlpywV1P3JBRsJ56LLlR758Q+4Q2Gt723Y=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "144aa15a159c75bf60a0d8582851e1fc80d5c07d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1782847189, @@ -252,11 +236,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1786106723, - "narHash": "sha256-zDSUbpoeo/9ZmD2+wXnzxoo1+uhL8vxc0b8yuYMKYq0=", + "lastModified": 1786247143, + "narHash": "sha256-8S3Kcxs7D4UtxJxSJZz0m14CGhuW0MxfrIwJxeGWGnQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f13ff45afd1bb73e640eaa08a7066dbed07e3238", + "rev": "279b4a8275f032c566576b3f181fa0f27197f588", "type": "github" }, "original": { @@ -286,11 +270,11 @@ ] }, "locked": { - "lastModified": 1786409450, - "narHash": "sha256-vY/Tw6M3UxUBQBYkihr8xF1+qpiEJOgmelZgXfuor9M=", + "lastModified": 1786429008, + "narHash": "sha256-DGJqGezkI3gxxHvK7Nns8juWgv1o4POW+3kRR8utWzg=", "owner": "noctalia-dev", "repo": "noctalia", - "rev": "0ee7cbbf0c28bc6e9d3fde07d1bd78b621452af3", + "rev": "2c0bb1d341193845576da39057c49d2a507afc41", "type": "github" }, "original": { @@ -327,7 +311,6 @@ "home-manager": "home-manager", "niri": "niri", "nixpkgs": "nixpkgs_4", - "nixpkgs-firmware": "nixpkgs-firmware", "noctalia": "noctalia", "noctalia-greeter": "noctalia-greeter", "spicetify-nix": "spicetify-nix", @@ -446,11 +429,11 @@ ] }, "locked": { - "lastModified": 1786164819, - "narHash": "sha256-tvBlGAYyzHYdLwn035bRCrB1mcMjvNNavcNZ293AIIA=", + "lastModified": 1786424696, + "narHash": "sha256-cyMeyF4QCZF7YL5+ynYZMDIA2LChF3L51ZLP6BvJ1L4=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "f9af5f7017cea1c159e17922288fb38ff94d28cd", + "rev": "64791844717b786a93dde8f76c8a35222e53cf53", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix --- a/flake.nix +++ b/flake.nix @@ -5,11 +5,6 @@ nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; - # tracks nixpkgs master, used only to pull the freshest linux-firmware - # (mesa is already at the newest version available anywhere in nixpkgs - # via the nixos-unstable pin above, so it needs no separate override) - nixpkgs-firmware.url = "github:nixos/nixpkgs?ref=master"; - filaments.url = "github:suri-codes/filaments"; # then reference inputs.filaments.packages.${system}.default @@ -53,7 +48,6 @@ self, darwin, nixpkgs, - nixpkgs-firmware, helix, filaments, noctalia, @@ -70,12 +64,6 @@ }); }) - # pull the freshest linux-firmware from nixpkgs master; nixos-unstable - # lags the channel-promotion delay (currently several weeks behind) - (final: prev: { - linux-firmware = - (import nixpkgs-firmware { inherit (final) system; }).linux-firmware; - }) ]; in { diff --git a/hosts/Styx/configuration.nix b/hosts/Styx/configuration.nix --- a/hosts/Styx/configuration.nix +++ b/hosts/Styx/configuration.nix @@ -137,6 +137,7 @@ efibootmgr nautilus i2c-tools + amdgpu_top wl-clipboard @@ -159,7 +160,6 @@ # OpenRGB to reach the Corsair Vengeance RGB controller on the DIMMs. boot.kernelParams = [ "acpi_enforce_resources=lax" - "amdgpu.dcdebugmask=0x10" ]; # i2c-dev/i2c-piix4 otherwise only get autoloaded lazily during the diff --git a/modules/home/tools/default.nix b/modules/home/tools/default.nix --- a/modules/home/tools/default.nix +++ b/modules/home/tools/default.nix @@ -52,6 +52,8 @@ tokei codex + + timr-tui claude-code # libqalculate diff --git a/modules/home/wm/niri/config.kdl b/modules/home/wm/niri/config.kdl --- a/modules/home/wm/niri/config.kdl +++ b/modules/home/wm/niri/config.kdl @@ -101,6 +101,7 @@ // my specifc keybinds // Mod+Shift+Return hotkey-overlay-title="Open Ghostty" {spawn "env" "DRI_PRIME=pci-0000_76_00_0" "ghostty" "-e" "zellij" "-l" "welcome";} // Mod+Return hotkey-overlay-title="Open Ghostty" {spawn "env" "DRI_PRIME=pci-0000_76_00_0" "ghostty";} + // Open/close the Overview: a zoomed-out view of workspaces and windows. // You can also move the mouse into the top-left hot corner, // or do a four-finger swipe up on a touchpad. @@ -332,10 +333,13 @@ debug { honor-xdg-activation-with-invalid-serial wait-for-frame-completion-before-queueing true + disable-cursor-plane + disable-direct-scanout } window-rule { background-effect { + // disabling blur because my shit is chopped blur false xray false } @@ -357,7 +361,7 @@ } blur { - passes 1 // more passes = stronger blur (default: 3) + passes 2 // more passes = stronger blur (default: 3) offset 3.0 // sample distance per pass (default: 3.0) noise 0.05 // grain overlay (default: 0.02) saturation 1.0 // color saturation boost (default: 1.5) diff --git a/modules/home/term/ghostty/ghostty/config b/modules/home/term/ghostty/ghostty/config --- a/modules/home/term/ghostty/ghostty/config +++ b/modules/home/term/ghostty/ghostty/config @@ -1,6 +1,6 @@ # initial-command = "/etc/profiles/per-user/suri/bin/zellij -l welcome" -custom-shader = ./shaders/cursor_blaze.glsl +# custom-shader = ./shaders/cursor_blaze.glsl confirm-close-surface = false @@ -100,5 +100,5 @@ window-decoration = none -background-opacity = 0.85 -background-blur = true +# background-opacity = 1 +background-blur = false diff --git a/modules/home/wm/noctalia/config/bar.toml b/modules/home/wm/noctalia/config/bar.toml --- a/modules/home/wm/noctalia/config/bar.toml +++ b/modules/home/wm/noctalia/config/bar.toml @@ -10,24 +10,66 @@ reserve_space = true # reserve compositor exclusive zone / push windows away layer = "top" # top | overlay; overlay appears above fullscreen apps -thickness = 34 # bar cross-axis size in pixels (height for horizontal, width for vertical) -background_opacity = 0.8 # 0.0 (transparent) to 1.0 (opaque) +# ============================================================ +# ORIGINAL STYLE (kept for easy revert — uncomment this block +# and delete/comment the "NEW STYLE" block below to go back) +# ============================================================ +# thickness = 34 # bar cross-axis size in pixels (height for horizontal, width for vertical) +# background_opacity = 0.8 # 0.0 (transparent) to 1.0 (opaque) +# border = "outline" # color role or #RRGGBB for the bar outline +# border_width = 0.0 # inside outline width in pixels; 0 disables it +# shadow = true # cast the global [shell.shadow] +# contact_shadow = false # dark gradient between an attached panel and the bar (depth at the seam) +# panel_overlap = 1 # logical px an attached panel overlaps the bar edge to hide the seam +# radius = 12 # global corner radius fallback +# radius_top_left = 12 +# radius_top_right = 12 +# radius_bottom_left = 12 +# radius_bottom_right = 12 +# concave_edge_corners = true # carve the screen-edge corners inward; requires margin_edge = 0 +# margin_ends = 100 # inset from each end of the bar along its main axis +# margin_edge = 0 # distance from the nearest screen edge (positive values float the bar) +# margin_opposite_edge = 0 # extra reserved space on the inward side of the bar (below for top, above for bottom) +# padding = 14 # main-axis padding from bar edges to start/end widget sections +# widget_spacing = 6 # gap between widgets within a section +# hover_highlight = true # softly tint the widget under the mouse pointer with its foreground color +# scale = 1.0 # content scale multiplier for icons and text +# font_weight = 600 # CSS weight 100–1000 (e.g. 400 regular, 700 bold); primary label weight for bar widgets +# font_family = "" # typeface for this bar's widgets; empty inherits the global font +# +# # Default capsule style for all widgets on this bar (see Widget Capsule section) +# capsule = false +# capsule_fill = "surface_variant" +# capsule_thickness = 0.76 # capsule size across the bar as a fraction of bar thickness (1.0 fills the bar) +# capsule_radius = 8.0 # omit for automatic pill radius +# capsule_opacity = 1.0 +# # capsule_border = "outline" # omit this key for no border by default +# +# start = ["workspaces"] +# center = ["clock-12h"] +# end = ["media", "tray", "notifications", "clipboard", "network", "bluetooth", "volume", "session"] + +# ============================================================ +# NEW STYLE — floating island bar +# ============================================================ +thickness = 38 # bar cross-axis size in pixels (height for horizontal, width for vertical) +background_opacity = 0.85 # 0.0 (transparent) to 1.0 (opaque) border = "outline" # color role or #RRGGBB for the bar outline -border_width = 0.0 # inside outline width in pixels; 0 disables it +border_width = 1.0 # inside outline width in pixels; 0 disables it shadow = true # cast the global [shell.shadow] contact_shadow = false # dark gradient between an attached panel and the bar (depth at the seam) panel_overlap = 1 # logical px an attached panel overlaps the bar edge to hide the seam -radius = 12 # global corner radius fallback -radius_top_left = 12 -radius_top_right = 12 -radius_bottom_left = 12 -radius_bottom_right = 12 -concave_edge_corners = true # carve the screen-edge corners inward; requires margin_edge = 0 -margin_ends = 100 # inset from each end of the bar along its main axis -margin_edge = 0 # distance from the nearest screen edge (positive values float the bar) +radius = 18 # global corner radius fallback +radius_top_left = 18 +radius_top_right = 18 +radius_bottom_left = 18 +radius_bottom_right = 18 +concave_edge_corners = false # carve the screen-edge corners inward; requires margin_edge = 0 +margin_ends = 220 # inset from each end of the bar along its main axis +margin_edge = 10 # distance from the nearest screen edge (positive values float the bar) margin_opposite_edge = 0 # extra reserved space on the inward side of the bar (below for top, above for bottom) padding = 14 # main-axis padding from bar edges to start/end widget sections -widget_spacing = 6 # gap between widgets within a section +widget_spacing = 8 # gap between widgets within a section hover_highlight = true # softly tint the widget under the mouse pointer with its foreground color scale = 1.0 # content scale multiplier for icons and text font_weight = 600 # CSS weight 100–1000 (e.g. 400 regular, 700 bold); primary label weight for bar widgets @@ -37,13 +79,13 @@ capsule = false capsule_fill = "surface_variant" capsule_thickness = 0.76 # capsule size across the bar as a fraction of bar thickness (1.0 fills the bar) -capsule_radius = 8.0 # omit for automatic pill radius +capsule_radius = 14.0 # omit for automatic pill radius capsule_opacity = 1.0 # capsule_border = "outline" # omit this key for no border by default start = ["workspaces"] center = ["clock-12h"] -end = ["media", "tray", "notifications", "clipboard", "network", "bluetooth", "volume", "session"] +end = ["tray", "notifications", "volume", "session"] # start = ["launcher", "wallpaper", "workspaces"] # center = ["clock"] # end = ["media", "tray", "notifications", "clipboard", "network", "bluetooth", "volume", "brightness", "battery", "control-center", "session"] @@ -55,6 +97,12 @@ # format = "{:%H:%M}\n{:%d/%m}" # vertical_format = "{:%H\n%M}" # tooltip_format = "{:%A, %B %d, %Y}" + +# Original default: id-numbered pills (comment out below and remove the +# override to go back) +[widget.workspaces] +show_labels = true # false = default (icon/id pills only, no text label) +label_source = "name" # "name" pulls the niri workspace name (browser, work, messaging, inbox, tunes); "id" shows the number [widget.clock-12h] type = "clock"