diff --git a/nixos-configurations/shared-desktop.nix b/nixos-configurations/shared-desktop.nix index a59b149..65d2907 100644 --- a/nixos-configurations/shared-desktop.nix +++ b/nixos-configurations/shared-desktop.nix @@ -2,6 +2,11 @@ { services = { + xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + }; pipewire = { enable = true; alsa.enable = true; @@ -10,124 +15,36 @@ jack.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 = { - steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - }; - gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - }; + programs.dconf.enable = true; # Home manager configuration home-manager.users.thiloho = { pkgs, lib, config, ... }: { - wayland.windowManager.sway = { + gtk = { 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 -- + gtk3.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 ''; - bars = [ - { command = "waybar"; } - ]; - keybindings = let - modifier = config.wayland.windowManager.sway.config.modifier; - in lib.mkOptionDefault { - "${modifier}+Shift+S" = ''exec grim -g "$(slurp)" - | swappy -f -''; - }; }; - extraConfig = '' - default_border pixel 1 - default_floating_border pixel 1 - ''; + gtk4.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + }; + dconf.settings = let + wallpaper = pkgs.callPackage ./wallpaper.nix {}; + in { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + "org/gnome/desktop/background" = { + picture-uri = "${wallpaper}"; + picture-uri-dark = "${wallpaper}"; + }; }; 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 = { @@ -137,45 +54,13 @@ listboots = "nix profile history --profile /nix/var/nix/profiles/system"; }; }; - helix = { - enable = true; - settings = { - theme = "gruvbox_transparent"; - editor = { - line-number = "relative"; - cursorline = true; - cursor-shape = { - normal = "block"; - insert = "bar"; - select = "underline"; - }; - }; - editor.file-picker = { - hidden = false; - }; - }; - themes = { - gruvbox_transparent = { - "inherits" = "gruvbox"; - "ui.background" = "{}"; - }; - }; - }; - alacritty = { - enable = true; - settings = { - window.opacity = 0.75; - font.size = 11.00; - }; - }; firefox.enable = true; chromium = { enable = true; - extensions = [ - { id = "mmbiohbmijkiimgcgijfomelgpmdiigb"; } - { id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; } - { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } - ]; + package = pkgs.google-chrome; + }; + vscode = { + enable = true; }; git = { enable = true; @@ -186,41 +71,12 @@ }; }; }; - gtk = { - enable = true; - theme = { - package = pkgs.gnome.gnome-themes-extra; - name = "Adwaita-dark"; - }; - }; home = { - sessionVariables = { - NIXOS_OZONE_WL = "1"; - EDITOR = "hx"; - }; packages = with pkgs; [ libreoffice airshipper prismlauncher - nil - rust-analyzer - marksman - nodePackages.typescript-language-server - nodePackages.svelte-language-server - nodePackages.vscode-langservers-extracted - postgresqlJitPackages.plpgsql_check - dconf - tofi - wl-clipboard - xdg-utils - slurp - grim - swappy - kooha - ventoy - lapce tldr - vulkan-validation-layers ]; }; };