diff --git a/machines/little-rascal/configuration.nix b/machines/little-rascal/configuration.nix index 33d4c56..4fe64e0 100644 --- a/machines/little-rascal/configuration.nix +++ b/machines/little-rascal/configuration.nix @@ -1,4 +1,5 @@ # Little Rascal - Development Laptop Configuration +# Based on congenital-optimist with laptop-specific adjustments { config, pkgs, @@ -17,8 +18,6 @@ # Desktop ../../modules/desktop/niri.nix - ../../modules/desktop/waybar.nix - ../../modules/desktop/gnome.nix ../../modules/desktop/cosmic.nix ../../modules/desktop/fonts.nix ../../modules/desktop/input.nix @@ -48,13 +47,14 @@ ../../modules/security/ssh-keys.nix # Services - #../../modules/services/seatd.nix + ../../modules/services/seatd.nix ]; networking = { hostName = "little-rascal"; networkmanager.enable = true; + # Tailscale for home lab access firewall = { enable = true; allowedUDPPorts = [41641]; # Tailscale @@ -73,6 +73,7 @@ kernelModules = ["kvm-amd" "zram"]; tmp.cleanOnBoot = true; + # zram swap like other machines kernel.sysctl."vm.swappiness" = 180; }; @@ -99,23 +100,22 @@ # Laptop-specific services services = { - xserver.displayManager.gdm.enable = true; - xserver.displayManager.gdm.wayland = true; # Enable Wayland support - # Enable clean seatd/greetd login (seat management for Wayland compositors) - # seatd-clean.enable = true; + # Enable clean seatd/greetd login + seatd-clean.enable = true; - # power-profiles-daemon.enable = true; - # upower.enable = true; + # Power management for laptop + power-profiles-daemon.enable = true; + upower.enable = true; + # Essential services tailscale.enable = true; - # Bluetooth manager GUI - # blueman.enable = true; + blueman.enable = true; - # Firmware updates via fwupd + # Firmware updates fwupd.enable = true; - # Location services (used for automatic time zone, etc.) - # geoclue2.enable = true; + # Location services for time zone + geoclue2.enable = true; }; # Localization diff --git a/machines/little-rascal/hardware-configuration.nix b/machines/little-rascal/hardware-configuration.nix index c4a0425..9cd1666 100644 --- a/machines/little-rascal/hardware-configuration.nix +++ b/machines/little-rascal/hardware-configuration.nix @@ -62,10 +62,10 @@ }; # Bluetooth support for Intel AX200 - # bluetooth = { - # enable = true; - # powerOnBoot = true; - # }; + bluetooth = { + enable = true; + powerOnBoot = true; + }; }; # Power management for AMD Ryzen 7 4700U diff --git a/modules/desktop/waybar.nix b/modules/desktop/waybar.nix deleted file mode 100644 index 61c5d7e..0000000 --- a/modules/desktop/waybar.nix +++ /dev/null @@ -1,155 +0,0 @@ -{ - config, - pkgs, - ... -}: { - # Ensure waybar is installed - environment.systemPackages = with pkgs; [waybar]; - - # Configure Waybar - environment.etc."xdg/waybar/config".text = '' - { - "layer": "top", - "position": "top", - "height": 30, - "spacing": 4, - "modules-left": ["sway/workspaces"], - "modules-center": [], - "modules-right": ["network", "clock"], - "sway/workspaces": { - "disable-scroll": false, - "all-outputs": true, - "format": "{name}", - "format-icons": { - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "urgent": "", - "focused": "", - "default": "" - } - }, - "clock": { - "timezone": "Europe/Oslo", - "format": "{:%H:%M}", - "format-alt": "{:%Y-%m-%d %H:%M:%S}", - "tooltip-format": "{calendar}", - "calendar": { - "mode": "year", - "mode-mon-col": 3, - "weeks-pos": "right", - "on-scroll": 1, - "on-click-right": "mode", - "format": { - "months": "{}", - "days": "{}", - "weeks": "W{}", - "weekdays": "{}", - "today": "{}" - } - }, - "actions": { - "on-click-right": "mode", - "on-click-forward": "tz_up", - "on-click-backward": "tz_down", - "on-scroll-up": "shift_up", - "on-scroll-down": "shift_down" - } - }, - "network": { - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - } - } - ''; - - # Style for Waybar - environment.etc."xdg/waybar/style.css".text = '' - * { - border: none; - border-radius: 0; - font-family: 'Inter', 'Font Awesome 6 Free'; - font-size: 13px; - min-height: 0; - } - - window#waybar { - background-color: rgba(43, 48, 59, 0.9); - border-bottom: 3px solid rgba(100, 114, 125, 0.5); - color: #ffffff; - transition-property: background-color; - transition-duration: 0.5s; - } - - window#waybar.hidden { - opacity: 0.2; - } - - #workspaces { - margin: 0 4px; - } - - #workspaces button { - padding: 0 8px; - background-color: transparent; - color: #ffffff; - border-bottom: 3px solid transparent; - transition: all 0.3s ease; - } - - #workspaces button:hover { - background: rgba(0, 0, 0, 0.2); - } - - #workspaces button.focused { - background-color: #64727D; - border-bottom: 3px solid #ffffff; - } - - #workspaces button.urgent { - background-color: #eb4d4b; - color: #ffffff; - } - - #clock, - #network { - padding: 0 10px; - color: #ffffff; - } - - #clock { - background-color: #64727D; - border-radius: 0 8px 8px 0; - } - - #network { - background-color: #2980b9; - border-radius: 8px 0 0 8px; - } - - #network.disconnected { - background-color: #f53c3c; - } - - @keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } - } - - #network.disconnected { - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - } - ''; -}