From 803b84f9f75108e11415b1d6d49034d98b785150 Mon Sep 17 00:00:00 2001 From: thiloho <123883702+thiloho@users.noreply.github.com> Date: Tue, 4 Jul 2023 00:22:13 +0200 Subject: [PATCH] Change back to sway --- nixos-configurations/shared-desktop.nix | 142 ++++++++++++++++++++++-- 1 file changed, 132 insertions(+), 10 deletions(-) diff --git a/nixos-configurations/shared-desktop.nix b/nixos-configurations/shared-desktop.nix index a2fcbd1..9d2a4d2 100644 --- a/nixos-configurations/shared-desktop.nix +++ b/nixos-configurations/shared-desktop.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { services = { @@ -9,19 +9,122 @@ pulse.enable = true; jack.enable = true; }; - xserver = { - enable = true; - desktopManager.gnome.enable = true; - displayManager.gdm.enable = true; - }; - gnome.core-utilities.enable = false; }; - hardware.pulseaudio.enable = false; - + hardware.opengl.enable = true; + + # Make swaylock work + security.pam.services.swaylock = {}; + + xdg.portal = { + enable = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + ]; + }; + + fonts = { + enableDefaultFonts = true; + fonts = with pkgs; [ + noto-fonts-cjk-sans + nerdfonts + ]; + }; + + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryFlavor = "gtk2"; + }; + # Home manager configuration home-manager.users.thiloho = { pkgs, lib, config, ... }: { + wayland.windowManager.sway = { + enable = true; + wrapperFeatures.gtk = true; + config = { + modifier = "Mod4"; + terminal = "alacritty"; + menu = '' + tofi-run --width "100%" --height "100%" --border-width 0 --outline-width 0 --padding-left "35%" --padding-top "35%" --result-spacing 25 --num-results 5 --font "monospace" --background-color "#000A" | xargs swaymsg exec -- + ''; + bars = [ + { command = "waybar"; } + ]; + keybindings = let + modifier = config.wayland.windowManager.sway.config.modifier; + in lib.mkOptionDefault { + "${modifier}+Shift+S" = ''exec grim -g "$(slurp)" - | swappy -f -''; + }; + }; + xwayland = false; + extraConfig = '' + default_border pixel 2 + default_floating_border pixel 2 + ''; + }; programs = { + waybar = { + enable = true; + settings = [ + { + modules-left = [ "sway/workspaces" ]; + modules-center = [ "sway/window" ]; + modules-right = [ "user" "memory" "disk" "cpu" "clock" ]; + + user = { + format = "{user} - Uptime: {work_H}:{work_M}h"; + }; + + memory = { + format = "Memory: {used}GiB"; + }; + + disk = { + format = "Disk: {free}"; + }; + + cpu = { + format = "CPU: {usage}%"; + }; + + clock = { + interval = 60; + format = "{:%Y-%m-%d - %H:%M}"; + }; + } + ]; + style = '' + * { + border: none; + border-radius: 0; + font-size: 0.875rem; + } + + window#waybar { + background-color: #1a1a1a; + color: #e6e6e6; + } + + #workspaces button, #user, #memory, #disk, #cpu, #clock { + padding-top: 0.125rem; + padding-bottom: 0.125rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + background-color: #262626; + border: 0.0625rem solid #404040; + } + ''; + }; + swaylock = { + enable = true; + settings = let + wallpaper = pkgs.callPackage ./wallpaper.nix {}; + in { + image = "${wallpaper}"; + }; + }; bash = { enable = true; shellAliases = { @@ -34,6 +137,7 @@ helix = { enable = true; settings = { + theme = "gruvbox_transparent"; editor = { line-number = "relative"; cursorline = true; @@ -47,10 +151,19 @@ hidden = false; }; }; + themes = { + gruvbox_transparent = { + "inherits" = "gruvbox"; + "ui.background" = "{}"; + }; + }; }; alacritty = { enable = true; - settings.font.size = 11.00; + settings = { + window.opacity = 0.75; + font.size = 11.00; + }; }; firefox.enable = true; chromium = { @@ -70,6 +183,13 @@ }; }; }; + gtk = { + enable = true; + theme = { + package = pkgs.gnome.gnome-themes-extra; + name = "Adwaita-dark"; + }; + }; home = { sessionVariables = { NIXOS_OZONE_WL = "1"; @@ -86,6 +206,7 @@ nodePackages.svelte-language-server nodePackages.vscode-langservers-extracted postgresqlJitPackages.plpgsql_check + dconf tofi wl-clipboard xdg-utils @@ -94,6 +215,7 @@ swappy kooha ventoy + lapce tldr ]; };