From 0975ba30444c322bb38f3d91548e3444bd295e0c Mon Sep 17 00:00:00 2001 From: Jacob Bachmann Date: Wed, 24 Apr 2024 10:19:57 +0200 Subject: [PATCH] feat: a lot of stuff --- hosts/T430/default.nix | 3 ++ modules/packages.nix | 3 ++ users/gandalf/modules/gui/common.nix | 33 ++++++++++++---- .../gandalf/modules/gui/hyprland/default.nix | 4 +- users/gandalf/modules/gui/i3/default.nix | 2 +- users/gandalf/modules/gui/sway/default.nix | 38 ++++++++++--------- 6 files changed, 55 insertions(+), 28 deletions(-) diff --git a/hosts/T430/default.nix b/hosts/T430/default.nix index bfc78b2..df4e797 100755 --- a/hosts/T430/default.nix +++ b/hosts/T430/default.nix @@ -3,6 +3,9 @@ imports = [ ./hardware.nix inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t430 + inputs.nixos-hardware.nixosModules.common-pc-laptop + inputs.nixos-hardware.nixosModules.common-pc-laptop-acpi_call + inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd ]; networking.hostName = "T430"; diff --git a/modules/packages.nix b/modules/packages.nix index a25959b..ea4f37e 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -19,6 +19,7 @@ xidel # command line tool to download and extract data from html/xml pages as well as json apis nvd # nix/nixos package version diff tool inotify-tools # a c library and a set of command-line programs providing a simple interface to inotify + wireguard-tools # tools for the wireguard secure network tunnel ] ++ lib.optionals (devenv.enable) [ # languages gcc13 @@ -27,6 +28,8 @@ cargo go python312 + python312Packages.ptpython + python312Packages.ipython lua nixpkgs-fmt openjdk17 diff --git a/users/gandalf/modules/gui/common.nix b/users/gandalf/modules/gui/common.nix index 4ed133d..33c0fba 100644 --- a/users/gandalf/modules/gui/common.nix +++ b/users/gandalf/modules/gui/common.nix @@ -2,15 +2,24 @@ colorschemes = rec { custom = { black = "#000000"; + _black = "000000"; white = "#ffffff"; + _white = "ffffff"; # https://yeun.github.io/open-color/ - active = "#ffdeeb"; # pink1 - activeDark = "#f783ac"; # pink4 - _activeDark = "f783ac"; # pink4 + active = "#ffffff"; # white + activeDark = "#4276b9"; # blue + _activeDark = "4276b9"; # blue inactive = "#495057"; # gray7 inactiveDark = "#212529"; # gray9 alert = "#c92a2a"; # red9 + + # active = "#ffdeeb"; # pink1 + # activeDark = "#f783ac"; # pink4 + # _activeDark = "f783ac"; # pink4 + # inactive = "#495057"; # gray7 + # inactiveDark = "#212529"; # gray9 + # alert = "#c92a2a"; # red9 }; default = custom; }; @@ -19,9 +28,19 @@ font-size = "14"; gtk = "Adwaita"; - wallpaper = pkgs.fetchurl { - url = "https://live.staticflickr.com/65535/52797919139_2444712a38_o_d.png"; - sha256 = "1a9148d8911fa25afa82d3b843ee620173955a7ca705d525f3e9d00e00696308"; - meta.licenses = lib.licenses.cc0; + wallpaper = rec { + neptun = pkgs.fetchurl { + url = "https://live.staticflickr.com/65535/52797919139_2444712a38_o_d.png"; + sha256 = "1a9148d8911fa25afa82d3b843ee620173955a7ca705d525f3e9d00e00696308"; + meta.licenses = lib.licenses.cc0; + }; + + everest = pkgs.fetchurl { + url = "https://images7.alphacoders.com/546/546508.jpg"; + sha256 = "90774d977a5f9cde2264fc1c46417b34046f491b5caca7805c9cd17e3463777b"; + meta.licenses = lib.licenses.cc0; + }; + + default = everest; }; } diff --git a/users/gandalf/modules/gui/hyprland/default.nix b/users/gandalf/modules/gui/hyprland/default.nix index ddd0088..7c90131 100644 --- a/users/gandalf/modules/gui/hyprland/default.nix +++ b/users/gandalf/modules/gui/hyprland/default.nix @@ -88,7 +88,6 @@ in # qt "QT_QPA_PLATFORM,wayland-egl" - # "QT_QPA_PLATFORM,wayland" "QT_WAYLAND_DISABLE_WINDOWDECORATION,1" # java @@ -97,7 +96,6 @@ in ] ++ optionals nvidia.enable [ # nvidia "LIBVA_DRIVER_NAME,nvidia" - "XDG_SESSION_TYPE,wayland" # following causes Hyprland to crash on startup with 535 drivers # "GBM_BACKEND,nvidia-drm" "__GLX_VENDOR_LIBRARY_NAME,nvidia" @@ -105,7 +103,7 @@ in ]; "exec-once" = with pkgs; [ "${config.programs.waybar.package}/bin/waybar -c ${config.xdg.configHome}/waybar/hyprbar.json -s ${config.xdg.configHome}/waybar/hyprbar.css" - "${swaybg}/bin/swaybg -m fill -i ${common.wallpaper}" + "${swaybg}/bin/swaybg -m fill -i ${common.wallpaper.default}" "${dbus}/bin/dbus-update-activation-environment --all" "${kanshi}/bin/kanshi" "${networkmanagerapplet}/bin/nm-applet" diff --git a/users/gandalf/modules/gui/i3/default.nix b/users/gandalf/modules/gui/i3/default.nix index 34216cf..e63416d 100644 --- a/users/gandalf/modules/gui/i3/default.nix +++ b/users/gandalf/modules/gui/i3/default.nix @@ -35,7 +35,7 @@ in terminal = "${pkgs.alacritty}/bin/alacritty"; menu = "${pkgs.dmenu}/bin/dmenu_run"; startup = with pkgs; [ - { command = "${feh}/bin/feh --bg-fill ${common.wallpaper}"; } + { command = "${feh}/bin/feh --bg-fill ${common.wallpaper.default}"; } { command = "${networkmanagerapplet}/bin/nm-applet"; } { command = "${blueman}/bin/blueman-applet"; } { command = "${udiskie}/bin/udiskie --tray"; } diff --git a/users/gandalf/modules/gui/sway/default.nix b/users/gandalf/modules/gui/sway/default.nix index 0e284c6..779bd6a 100644 --- a/users/gandalf/modules/gui/sway/default.nix +++ b/users/gandalf/modules/gui/sway/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, config, ... }: +{ pkgs, lib, config, nixosConfig, ... }: let cfg = config.wayland.windowManager.sway.config; @@ -45,35 +45,39 @@ in gtk = true; }; xwayland = true; - extraSessionCommands = '' + extraSessionCommands = with lib; with nixosConfig.bchmnn; '' export CLUTTER_BACKEND=wayland; export GDK_BACKEND=wayland; export GDK_DPI_SCALE=1; export NIXOS_OZONE_WL=1; - export WLR_NO_HARDWARE_CURSORS=1; export MOZ_ENABLE_WAYLAND=1; export MOZ_USE_XINPUT2=1; export XDG_SESSION_TYPE=wayland; export XDG_CURRENT_DESKTOP=sway; - # SDL: + + # sdl export SDL_VIDEODRIVER=wayland - # QT (needs qt5.qtwayland in systemPackages): + + # qt export QT_QPA_PLATFORM=wayland-egl - # export QT_QPA_PLATFORM=wayland export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 - # Fix for some Java AWT applications (e.g. Android Studio), - # use this if they aren't displayed properly: + + # java export _JAVA_AWT_WM_NONREPARENTING=1 export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on"; - # Nvidia - # export WLR_RENDERER=vulkan; + '' + optionalString nvidia.enable '' + # nvidia + export WLR_RENDERER=vulkan; + export LIBVA_DRIVER_NAME,nvidia; # export GBM_BACKEND=nvidia-drm; - # export __GL_GSYNC_ALLOWED=0; - # export __GL_VRR_ALLOWED=0; - # export __GLX_VENDOR_LIBRARY_NAME=nvidia; - # Xwayland compat - # export XWAYLAND_NO_GLAMOR=1; + export __GL_GSYNC_ALLOWED=0; + export __GL_VRR_ALLOWED=0; + export __GLX_VENDOR_LIBRARY_NAME=nvidia; + export WLR_NO_HARDWARE_CURSORS=1; + + # xwayland compat + export XWAYLAND_NO_GLAMOR=1; ''; config = { modifier = "Mod4"; @@ -116,7 +120,7 @@ in }; }; output = { - "*".bg = "${common.wallpaper} fill"; + "*".bg = "${common.wallpaper.default} fill"; }; left = "h"; down = "j"; @@ -124,7 +128,7 @@ in right = "l"; keybindings = { - "${cfg.modifier}+Ctrl+Shift+l" = "exec ${pkgs.swaylock-effects}/bin/swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --ring-color ffffff --key-hl-color ${common.colorschemes.default._activeDark} --line-color 00000000 --inside-color 00000088 --inside-ver-color ${common.colorschemes.default._activeDark} --separator-color 00000000 --text-color ${common.colorschemes.default._activeDark} --fade-in 0.1"; + "${cfg.modifier}+Ctrl+Shift+l" = "exec ${pkgs.swaylock-effects}/bin/swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --ring-color ffffff --key-hl-color ${common.colorschemes.default._black} --line-color 00000000 --inside-color 00000088 --inside-ver-color ${common.colorschemes.default._white} --separator-color 00000000 --text-color ${common.colorschemes.default._white} --fade-in 0.1"; # Basics "${cfg.modifier}+Return" = "exec ${cfg.terminal}";