my nix configs for my servers and desktop

swaybar + nvidia

Changed files
+146 -6
home
regent
hosts
focalor
modules
common
+1 -1
flake.nix
···
home-manager.backupFileExtension = "HMBackup";
home-manager.users.regent.imports = [
./home/regent/home.nix
-
catppuccin.homeManagerModules.catppuccin
+
catppuccin.homeModules.catppuccin
];
home-manager.extraSpecialArgs = { inherit inputs; system = "x86_64-linux";};
}
+100 -5
home/regent/home.nix
···
catppuccin = {
enable = true;
flavor = "mocha";
-
accent = "blue";
+
accent = "rosewater";
+
/*waybar = { doesnt work for some reason
+
enable = true;
+
};*/
};
programs.waybar = {
enable = true;
+
style =
+
''
+
@define-color rosewater #f5e0dc;
+
@define-color flamingo #f2cdcd;
+
@define-color pink #f5c2e7;
+
@define-color mauve #cba6f7;
+
@define-color red #f38ba8;
+
@define-color maroon #eba0ac;
+
@define-color peach #fab387;
+
@define-color yellow #f9e2af;
+
@define-color green #a6e3a1;
+
@define-color teal #94e2d5;
+
@define-color sky #89dceb;
+
@define-color sapphire #74c7ec;
+
@define-color blue #89b4fa;
+
@define-color lavender #b4befe;
+
@define-color text #cdd6f4;
+
@define-color subtext1 #bac2de;
+
@define-color subtext0 #a6adc8;
+
@define-color overlay2 #9399b2;
+
@define-color overlay1 #7f849c;
+
@define-color overlay0 #6c7086;
+
@define-color surface2 #585b70;
+
@define-color surface1 #45475a;
+
@define-color surface0 #313244;
+
@define-color base #1e1e2e;
+
@define-color mantle #181825;
+
@define-color crust #11111b;
+
+
+
* {
+
font-family: FantasqueSansMono Nerd Font;
+
font-size: 17px;
+
min-height: 0;
+
}
+
+
window#waybar {
+
padding: 0px;
+
margin: 0px;
+
border: 0px;
+
background-color:rgb(0, 0, 0);
+
color: @text;
+
}
+
+
window#waybar.empty {
+
background-color:rgba(255, 255, 255, 0);
+
}
+
+
#workspaces {
+
border-radius: 1rem;
+
margin: 5px;
+
background-color: @surface0;
+
margin-left: 1rem;
+
}
+
+
+
#workspaces button {
+
color: @lavender;
+
border-radius: 1rem;
+
padding: 0.4rem;
+
}
+
+
#workspaces button.active {
+
color: @sky;
+
border-radius: 1rem;
+
}
+
+
#workspaces button:hover {
+
color: @sapphire;
+
border-radius: 1rem;
+
}
+
+
#custom-music,
+
#tray,
+
#backlight,
+
#clock,
+
#battery,
+
#pulseaudio,
+
#custom-lock,
+
#custom-power {
+
background-color: @surface0;
+
padding: 0.5rem 1rem;
+
margin: 5px 0;
+
}
+
+
#clock {
+
color: @blue;
+
border-radius: 0px 1rem 1rem 0px;
+
margin-right: 1rem;
+
}
+
+
'';
settings = {
mainBar = {
layer = "top";
position = "top";
-
height = 30;
+
height = 34;
output = [
"HDMI-A-1"
"DP-2"
];
-
modules-left = [ "sway/workspaces" "sway/mode" "wlr/taskbar" ];
+
modules-left = [ "sway/workspaces" ];
modules-center = [ "sway/window" ];
-
modules-right = [ "mpd" ];
+
modules-right = [ "clock" ];
"sway/workspaces" = {
disable-scroll = true;
-
all-outputs = true;
+
sort-by-name = true;
};
};
};
+5
hosts/focalor/default.nix
···
# Desktop modules
../../modules/desktop/core.nix
../../modules/desktop/sway.nix
+
+
# Nvidia
+
../../modules/common/nvidia.nix
# Services specific to this host
#../../services/xyz.nix
···
#lm_sensors
code-server
];
+
+
environment.sessionVariables.WLR_RENDERER = "vulkan";
virtualisation.docker = {
enable = true;
+40
modules/common/nvidia.nix
···
+
{ config, lib, pkgs, ... }:
+
{
+
# Enable OpenGL
+
hardware.graphics = {
+
enable = true;
+
};
+
+
# Load nvidia driver for Xorg and Wayland
+
services.xserver.videoDrivers = ["nvidia"];
+
+
hardware.nvidia = {
+
+
# Modesetting is required.
+
modesetting.enable = true;
+
+
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
+
# Enable this if you have graphical corruption issues or application crashes after waking
+
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
+
# of just the bare essentials.
+
powerManagement.enable = false;
+
+
# Fine-grained power management. Turns off GPU when not in use.
+
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
+
powerManagement.finegrained = false;
+
+
# Use the NVidia open source kernel module (not to be confused with the
+
# independent third-party "nouveau" open source driver).
+
# Support is limited to the Turing and later architectures. Full list of
+
# supported GPUs is at:
+
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
+
# Only available from driver 515.43.04+
+
open = false;
+
+
# Enable the Nvidia settings menu,
+
# accessible via `nvidia-settings`.
+
nvidiaSettings = true;
+
+
package = config.boot.kernelPackages.nvidiaPackages.stable;
+
};
+
}