From f7d44ec9c9d0709de5eddb77f541751023aca04d Mon Sep 17 00:00:00 2001 From: suri-codes Date: Tue, 11 Aug 2026 21:17:11 -0700 Subject: [PATCH] A new Epoch. --- flake.lock | 18 ++--- hosts/Styx/configuration.nix | 76 ++++--------------- modules/home/apps/default.nix | 2 + modules/home/term/ghostty/ghostty/config | 3 +- modules/home/tools/default.nix | 4 + modules/home/tools/zed/config/settings.json | 10 ++- modules/home/wm/niri/config.kdl | 68 ++++++++++------- modules/home/wm/noctalia/config/bar.toml | 21 ++--- .../home/wm/noctalia/config/lockscreen.toml | 4 +- modules/home/wm/noctalia/config/osd.toml | 4 +- modules/home/wm/noctalia/config/shell.toml | 11 +-- .../home/wm/noctalia/config/wallpaper.toml | 4 +- 12 files changed, 100 insertions(+), 125 deletions(-) diff --git a/flake.lock b/flake.lock index 61b3e72..dbaa17d 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ ] }, "locked": { - "lastModified": 1786356609, - "narHash": "sha256-ou8fYz5w9yhXC8YbvvExybFIa19MyW5G/8dEPqa90hM=", + "lastModified": 1786538400, + "narHash": "sha256-PH8B1YKxedcWKNw2xsk6cKPVk/rJoLgdlWd5d+Icies=", "owner": "nix-community", "repo": "home-manager", - "rev": "c30c7955cec30d664a9baced6bc0112e263d4647", + "rev": "e13ba5e5abbd9b912fa8c6979bd119e87ca7fdd9", "type": "github" }, "original": { @@ -236,11 +236,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1786384358, - "narHash": "sha256-RzPPiWeUtuvymnpuEWsdtzli5w4kjZs49FqEs3/1u+I=", + "lastModified": 1786514691, + "narHash": "sha256-9dkt1i5JNbEfPb+EjLcSDNs8zqEHQ/1JlSaKgj0SBAg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2fcb964de67fcf60b43471c55d5d99e61a9ccb5a", + "rev": "867dcbc30bafe3c862ef88620f2e7a109d7d3be5", "type": "github" }, "original": { @@ -270,11 +270,11 @@ ] }, "locked": { - "lastModified": 1786462142, - "narHash": "sha256-ESBm32DJg1yLiPnXw88n5h8RcrdL2adc7TuLhtPzeow=", + "lastModified": 1786566000, + "narHash": "sha256-JOcHQWCcYsPq0bOP42UdV4f42nvlip7sh3vuxvSpEUM=", "owner": "noctalia-dev", "repo": "noctalia", - "rev": "b62efdd0dc163bf593358ada70b4efa76fec3d27", + "rev": "cd06851db4f40ab61d219a903518a1ca03fc3db3", "type": "github" }, "original": { diff --git a/hosts/Styx/configuration.nix b/hosts/Styx/configuration.nix index c694bb6..7dd88ea 100644 --- a/hosts/Styx/configuration.nix +++ b/hosts/Styx/configuration.nix @@ -4,21 +4,18 @@ { inputs, - config, pkgs, ... }: { imports = [ - # Include the results of the hardware scan. ./hardware-configuration.nix ../../modules/system/tailscale.nix inputs.noctalia-greeter.nixosModules.default inputs.niri.nixosModules.niri ]; - # boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.loader.grub = { enable = true; @@ -32,7 +29,7 @@ networking.hostName = "Styx"; # Define your hostname. networking.networkmanager.wifi.powersave = false; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; @@ -43,7 +40,7 @@ hardware.bluetooth.enable = true; services.power-profiles-daemon.enable = true; services.upower.enable = true; - programs.coolercontrol.enable = true; + programs.niri = { enable = true; package = inputs.niri.packages.${pkgs.system}.niri-unstable; @@ -51,21 +48,6 @@ programs.hyprland.enable = true; - # xdg.portal = { - # enable = true; - # extraPortals = [ - # pkgs.xdg-desktop-portal-gnome - # pkgs.xdg-desktop-portal-gtk - # ]; - # config.niri = { - # default = [ - # "gnome" - # "gtk" - # ]; - # "org.freedesktop.impl.portal.FileChooser" = [ "gtk" ]; - # }; - # }; - xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gnome ]; @@ -77,6 +59,7 @@ # Set your time zone. time.timeZone = "America/Los_Angeles"; + time.hardwareClockInLocalTime = true; # match Windows' local-time RTC convention for dual-boot # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; @@ -106,43 +89,32 @@ # $ nix search wget environment.systemPackages = with pkgs; [ + # default browser i guess? inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default - vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - wget helix + wget git jujutsu - alacritty - fuzzel - swaylock - mako - swayidle btop + unzip - gparted fzf gcc - libnotify - gnupg - vulkan-tools - lm_sensors - screen - networkmanagerapplet - pamixer - playerctl - pavucontrol - lshw + openssl gnumake42 clang-tools - openssl - efibootmgr + + gparted nautilus - i2c-tools + + lshw amdgpu_top + vulkan-tools + lm_sensors + i2c-tools wl-clipboard - bibata-cursors ]; @@ -187,18 +159,6 @@ security.polkit.enable = true; services.gnome.gnome-keyring.enable = true; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; services.openssh = { enable = true; @@ -227,7 +187,6 @@ "networkmanager" "wheel" ]; - packages = with pkgs; [ ]; }; hardware.graphics.enable = true; @@ -238,12 +197,7 @@ fish.enable = true; # allows normal binaries to run - nix-ld = { - enable = true; - libraries = with pkgs; [ - - ]; - }; + nix-ld.enable = true; }; diff --git a/modules/home/apps/default.nix b/modules/home/apps/default.nix index 1428226..1368786 100644 --- a/modules/home/apps/default.nix +++ b/modules/home/apps/default.nix @@ -11,6 +11,8 @@ [ vesktop zulip + # matrix chat app + cinny-desktop #needed to make sure it launches with the lib-secret stuff (pkgs.mailspring.overrideAttrs (oldAttrs: { diff --git a/modules/home/term/ghostty/ghostty/config b/modules/home/term/ghostty/ghostty/config index 8a143b7..49cba2a 100644 --- a/modules/home/term/ghostty/ghostty/config +++ b/modules/home/term/ghostty/ghostty/config @@ -95,10 +95,11 @@ keybind = super+f=unbind # theme = Catppuccin Mocha theme = Monokai Pro +# theme = TokyoNight Night # theme = noctalia window-decoration = none -background-opacity = 0.75 +background-opacity = 0.85 background-blur = false diff --git a/modules/home/tools/default.nix b/modules/home/tools/default.nix index b8c280f..74a9a0e 100644 --- a/modules/home/tools/default.nix +++ b/modules/home/tools/default.nix @@ -56,6 +56,10 @@ timr-tui claude-code kitty + + stress + + tty-clock # libqalculate (pkgs.writeShellApplication { diff --git a/modules/home/tools/zed/config/settings.json b/modules/home/tools/zed/config/settings.json index eb89c4e..04dca6b 100644 --- a/modules/home/tools/zed/config/settings.json +++ b/modules/home/tools/zed/config/settings.json @@ -7,6 +7,8 @@ // custom settings, run `zed: open default settings` from the // command palette (cmd-shift-p / ctrl-shift-p) { + "ui_font_weight": 400.0, + "buffer_font_weight": 450.0, "ssh_connections": [ { "host": "Styx", @@ -25,7 +27,7 @@ "markdown_preview_code_font_family": "TX-02", "markdown_preview_font_family": "TX-02", "cli_default_open_behavior": "existing_window", - "agent_ui_font_size": 14.0, + "agent_ui_font_size": 16.0, "server_url": "https://zed.dev", "proxy": "", "calls": { @@ -69,7 +71,7 @@ "current_line_highlight": "gutter", "cursor_shape": "bar", "cursor_blink": false, - "agent_buffer_font_size": 14.0, + "agent_buffer_font_size": 16.0, "restore_on_startup": "launchpad", "preview_tabs": { "enable_preview_file_from_code_navigation": false, @@ -147,8 +149,8 @@ }, "buffer_font_family": "TX-02", "helix_mode": true, - "ui_font_size": 16.0, - "buffer_font_size": 14.0, + "ui_font_size": 17.0, + "buffer_font_size": 16.0, "theme": { "mode": "dark", "light": "Gruvbox Light Soft", diff --git a/modules/home/wm/niri/config.kdl b/modules/home/wm/niri/config.kdl index 356872d..be103d8 100644 --- a/modules/home/wm/niri/config.kdl +++ b/modules/home/wm/niri/config.kdl @@ -2,11 +2,11 @@ prefer-no-csd // create efault workspaces -workspace "browser" -workspace "work" -workspace "messaging" -workspace "inbox" -workspace "tunes" +workspace "Zen" +workspace "Coding" +workspace "Chat" +workspace "Mail" +workspace "Spotify" input { keyboard { @@ -28,17 +28,23 @@ input { focus-follows-mouse } +animations { + slowdown 0.9 +} layout { // Set gaps around windows in logical pixels. - gaps 12 + gaps 10 + + // Transparent so the backdrop wallpaper shows through during workspace switches. + background-color "transparent" center-focused-column "on-overflow" preset-column-widths { - proportion 0.33333 - proportion 0.5 proportion 0.66667 + proportion 0.5 + proportion 0.33333 } // You can change the default width of the new windows. @@ -48,7 +54,6 @@ layout { focus-ring { width 3 - active-color "#cccccc" inactive-color "#505050" @@ -80,18 +85,19 @@ binds { // Core Noctalia binds Mod+Space { spawn-sh "noctalia msg panel-toggle launcher"; } - Mod+S { spawn-sh "noctalia msg panel-toggle session"; } + Mod+P { spawn-sh "noctalia msg panel-toggle session"; } Mod+Shift+S { spawn-sh "noctalia msg panel-toggle control-center"; } + Mod+N { spawn-sh "noctalia msg panel-toggle control-center notifications"; } Mod+Comma { spawn-sh "noctalia msg settings-toggle"; } - - // Audio & Brightness XF86AudioRaiseVolume { spawn-sh "noctalia msg volume-up"; } XF86AudioLowerVolume { spawn-sh "noctalia msg volume-down"; } XF86AudioMute { spawn-sh "noctalia msg volume-mute"; } XF86MonBrightnessUp { spawn-sh "noctalia msg brightness-up"; } XF86MonBrightnessDown { spawn-sh "noctalia msg brightness-down"; } + XF86AudioNext { spawn-sh "noctalia msg media next"; } + XF86AudioPrev { spawn-sh "noctalia msg media prev"; } // // my specifc keybinds Mod+Shift+Return hotkey-overlay-title="Open Ghostty" {spawn "ghostty" "-e" "zellij" "-l" "welcome";} @@ -253,21 +259,21 @@ binds { - Mod+B {focus-workspace "browser";} - Mod+W {focus-workspace "work";} - Mod+D {focus-workspace "messaging";} - Mod+M {focus-workspace "inbox";} - Mod+T {focus-workspace "tunes";} + Mod+B {focus-workspace "Zen";} + Mod+T {focus-workspace "Coding";} + Mod+D {focus-workspace "Chat";} + Mod+M {focus-workspace "Mail";} + Mod+S {focus-workspace "Spotify";} } -spawn-at-startup "openrgb" "--client" "127.0.0.1:6742" "--mode" "direct" "--color" "DDDDDD"; +spawn-at-startup "openrgb" "--client" "127.0.0.1:6742" "--mode" "direct" "--color" "CCC099"; spawn-at-startup "noctalia"; spawn-at-startup "zeditor"; spawn-at-startup "zen"; spawn-at-startup "zulip"; -spawn-at-startup "spotify"; +spawn-at-startup "Spotify"; spawn-at-startup "vesktop"; spawn-at-startup "mailspring" "--password-store=gnome-libsecret" @@ -275,7 +281,7 @@ spawn-at-startup "mailspring" "--password-store=gnome-libsecret" window-rule { match at-startup=true app-id="zen" - open-on-workspace "browser" + open-on-workspace "Zen" default-column-width {proportion 1.0;} } @@ -286,32 +292,31 @@ window-rule { window-rule { match at-startup=true app-id="dev.zed.Zed" - open-on-workspace "work" + open-on-workspace "Coding" default-column-width {proportion 1.0;} } window-rule { match at-startup=true app-id="Mailspring" - open-on-workspace "inbox" + open-on-workspace "Mail" default-column-width {proportion 1.0;} } window-rule { - match at-startup=true app-id="spotify" - open-on-workspace "tunes" + match at-startup=true app-id="Spotify" + open-on-workspace "Spotify" default-column-width {proportion 1.0;} } - window-rule { match at-startup=true app-id="vesktop" - open-on-workspace "messaging" + open-on-workspace "Chat" default-column-width {proportion 0.66;} } window-rule { match at-startup=true app-id="zulip" - open-on-workspace "messaging" + open-on-workspace "Chat" default-column-width {proportion 0.66;} } @@ -330,6 +335,7 @@ window-rule { default-window-height { fixed 920; } } +// dont fuck with these, might cause artifacting on ghostty and I cant explain it for the life of me debug { honor-xdg-activation-with-invalid-serial wait-for-frame-completion-before-queueing true @@ -339,7 +345,6 @@ debug { window-rule { background-effect { - // disabling blur because my shit is chopped blur true xray false } @@ -360,6 +365,12 @@ layer-rule { } } +// Keep the wallpaper stationary instead of sliding with workspace switches. +layer-rule { + match namespace="^noctalia-wallpaper$" + place-within-backdrop true +} + blur { passes 2 // more passes = stronger blur (default: 3) offset 3.0 // sample distance per pass (default: 3.0) @@ -374,4 +385,3 @@ cursor { include "noctalia.kdl" - diff --git a/modules/home/wm/noctalia/config/bar.toml b/modules/home/wm/noctalia/config/bar.toml index 8300b27..1c6ba13 100644 --- a/modules/home/wm/noctalia/config/bar.toml +++ b/modules/home/wm/noctalia/config/bar.toml @@ -6,9 +6,9 @@ position = "top" # top | bottom | left | right enabled = true auto_hide = false # slide out after pointer leaves; reveal from edge trigger strip smart_auto_hide = false # show when the active workspace is empty; hide when it has windows -show_on_workspace_switch = true # with auto_hide: briefly reveal when the active workspace changes +show_on_workspace_switch = "auto_hide" # with auto_hide: briefly reveal when the active workspace changes reserve_space = true # reserve compositor exclusive zone / push windows away -layer = "top" # top | overlay; overlay appears above fullscreen apps +layer = "overlay" # top | overlay; overlay appears above fullscreen apps # ============================================================ # ORIGINAL STYLE (kept for easy revert — uncomment this block @@ -52,12 +52,12 @@ layer = "top" # top | overlay; overlay appears above fullscre # ============================================================ # NEW STYLE — floating island bar # ============================================================ -thickness = 38 # bar cross-axis size in pixels (height for horizontal, width for vertical) +thickness = 32 # 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 = 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) +contact_shadow = true # 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 = 18 # global corner radius fallback radius_top_left = 18 @@ -68,10 +68,10 @@ concave_edge_corners = false # carve the screen-edge corners inward; require 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 = 8 # gap between widgets within a section +padding = 12 # main-axis padding from bar edges to start/end widget sections +widget_spacing = 12 # 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 +scale = 1.25 # 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 @@ -85,7 +85,7 @@ capsule_opacity = 1.0 start = ["workspaces"] center = ["clock-12h"] -end = ["tray", "notifications", "volume", "session"] +end = ["notifications", "volume", "session"] # start = ["launcher", "wallpaper", "workspaces"] # center = ["clock"] # end = ["media", "tray", "notifications", "clipboard", "network", "bluetooth", "volume", "brightness", "battery", "control-center", "session"] @@ -101,8 +101,9 @@ end = ["tray", "notifications", "volume", "session"] # 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 +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 +max_label_chars = 12 # cap on characters shown per workspace name label (default is small, e.g. 1) [widget.clock-12h] type = "clock" diff --git a/modules/home/wm/noctalia/config/lockscreen.toml b/modules/home/wm/noctalia/config/lockscreen.toml index baaa664..58d7e48 100644 --- a/modules/home/wm/noctalia/config/lockscreen.toml +++ b/modules/home/wm/noctalia/config/lockscreen.toml @@ -1,8 +1,8 @@ [lockscreen] enabled = true # master switch for session lock -fingerprint = true # allow fingerprint (PAM) authentication on the lock screen +fingerprint = false # allow fingerprint (PAM) authentication on the lock screen allow_empty_password = false # submit Enter with an empty password (security-key PAM stacks) -blurred_desktop = false # use a desktop snapshot as the lock screen background +blurred_desktop = true # use a desktop snapshot as the lock screen background blur_intensity = 0.5 # background blur (0.0 = none, 1.0 = maximum) tint_intensity = 0.3 # surface-color tint over the background (0.0 = none, 1.0 = opaque) wallpaper = "" # optional image path; empty uses the desktop wallpaper per output diff --git a/modules/home/wm/noctalia/config/osd.toml b/modules/home/wm/noctalia/config/osd.toml index 308e850..0f66abc 100644 --- a/modules/home/wm/noctalia/config/osd.toml +++ b/modules/home/wm/noctalia/config/osd.toml @@ -2,8 +2,8 @@ position = "top_center" # top_right | top_left | top_center | bottom_right | bottom_left | bottom_center | center_right | center_left position_vertical = "top_center" # same options; used when orientation = "vertical" orientation = "horizontal" # horizontal | vertical (volume/brightness sliders only) -scale = 2.0 # OSD size multiplier on top of shell.ui_scale -background_opacity = 0.97 # background opacity of OSD popups +scale = 1.25 # OSD size multiplier on top of shell.ui_scale +background_opacity = 0.85 # background opacity of OSD popups border = false # outline around OSD popup cards; set false for a borderless look offset_x = 20 # absolute horizontal margin from the screen edge offset_y = 8 # absolute vertical margin from the screen edge diff --git a/modules/home/wm/noctalia/config/shell.toml b/modules/home/wm/noctalia/config/shell.toml index 63d8d23..d1fee6d 100644 --- a/modules/home/wm/noctalia/config/shell.toml +++ b/modules/home/wm/noctalia/config/shell.toml @@ -9,7 +9,7 @@ input_borders = true # draw outlines around text fields and o popup_borders = true # draw outlines around popups and dropdowns card_borders = true # draw outlines around section cards inside panels and settings popup_shadows = true # draw drop shadows behind popups and dropdowns -font_family = "sans-serif" # Pango family string; Fontconfig handles fallback +font_family = "TX-02" # Pango family string; Fontconfig handles fallback lang = "" # empty = auto-detect; otherwise BCP-47 or POSIX locale time_format = "{:%H:%M}" # default time format for shell UI without its own setting date_format = "%A, %x" # default date format for shell UI without its own setting @@ -40,10 +40,11 @@ disable_mipmaps = false # startup-only; disable texture mipmaps [shell.animation] enabled = true -speed = 1.0 # 1.0 = normal, 0.5 = 2× slower, 2.0 = 2× faster +speed = 1.5 # 1.0 = normal, 0.5 = 2× slower, 2.0 = 2× faster + [shell.shadow] -direction = "down_left" # center, up, down, left, right, up_left, up_right, down_left, down_right +direction = "down_right" # center, up, down, left, right, up_left, up_right, down_left, down_right alpha = 0.55 # multiplied by each component's background opacity [shell.panel] @@ -86,11 +87,11 @@ global = true # also show calculator results in un-prefixed search prefix = "emo" # trigger word (triggers on provider_prefix + trigger, e.g. "/emo") [shell.launcher.providers.session] -prefix = "session" # trigger word for session actions (e.g. "/session") +prefix = "ses" # trigger word for session actions (e.g. "/session") global = false # set true to also include session actions in un-prefixed search [shell.launcher.providers.wallpaalhhper] -prefix = "wall" # trigger word for wallpaper selector (e.g. "/wall") +prefix = "wal" # trigger word for wallpaper selector (e.g. "/wall") [shell.launcher.providers.windows] prefix = "win" # trigger word for windows (e.g. "/win") diff --git a/modules/home/wm/noctalia/config/wallpaper.toml b/modules/home/wm/noctalia/config/wallpaper.toml index d2ea062..0fba37d 100644 --- a/modules/home/wm/noctalia/config/wallpaper.toml +++ b/modules/home/wm/noctalia/config/wallpaper.toml @@ -1,6 +1,6 @@ [wallpaper] enabled = true -fill_mode = "center" # center | crop | fit | stretch | repeat | span +fill_mode = "crop" # center | crop | fit | stretch | repeat | span # fill_color = "#111111" # optional fallback/fill color; image wallpapers take priority transition = ["fade", "wipe", "disc", "stripes", "zoom", "honeycomb"] # array of effects picked at random each transition @@ -19,7 +19,7 @@ per_monitor_directories = false [wallpaper.default] # path = "/home/suri/Wallpapers/tokyo_ghoul.jpeg" -path = "/home/suri/Wallpapers/shinji.jpg" +path = "/home/suri/Wallpapers/denji.png" [wallpaper.automation] enabled = false -- 2.51.2