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;
- }
- '';
-}