diff --git a/flake.nix b/flake.nix index d9e3bfe..e450a1f 100644 --- a/flake.nix +++ b/flake.nix @@ -46,7 +46,7 @@ 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";}; } diff --git a/home/regent/home.nix b/home/regent/home.nix index 2b1e582..017d8d5 100644 --- a/home/regent/home.nix +++ b/home/regent/home.nix @@ -7,27 +7,122 @@ 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; }; }; }; diff --git a/hosts/focalor/default.nix b/hosts/focalor/default.nix index f0cca5f..80350e0 100644 --- a/hosts/focalor/default.nix +++ b/hosts/focalor/default.nix @@ -15,6 +15,9 @@ # Desktop modules ../../modules/desktop/core.nix ../../modules/desktop/sway.nix + + # Nvidia + ../../modules/common/nvidia.nix # Services specific to this host #../../services/xyz.nix @@ -42,6 +45,8 @@ code-server ]; + environment.sessionVariables.WLR_RENDERER = "vulkan"; + virtualisation.docker = { enable = true; enableOnBoot = true; diff --git a/modules/common/nvidia.nix b/modules/common/nvidia.nix new file mode 100644 index 0000000..ed321e4 --- /dev/null +++ b/modules/common/nvidia.nix @@ -0,0 +1,40 @@ +{ 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; + }; +} diff --git a/modules/desktop/sway.nix b/modules/desktop/sway.nix index 0f074ae..bc04db3 100644 --- a/modules/desktop/sway.nix +++ b/modules/desktop/sway.nix @@ -18,7 +18,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway"; + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway --unsupported-gpu"; user = "greeter"; }; };