diff --git a/apps/firefox.nix b/apps/firefox.nix index 5667e39..fde24ca 100644 --- a/apps/firefox.nix +++ b/apps/firefox.nix @@ -12,12 +12,16 @@ in { programs.firefox = { enable = true; + # preferences = { + # }; policies = { Preferences = { "widget.wayland.vsync.enabled" = lock-false; "widget.wayland.opaque-region.enabled" = lock-false; "media.ffmpeg.vaapi.enabled" = lock-true; "media.hardware-video-decoding.force-enabled" = lock-true; + "apz.fling_friction" = "0.009"; + "apz.gtk.kinetic_scroll.enabled" = false; }; }; }; diff --git a/apps/flameshot.nix b/apps/flameshot.nix new file mode 100644 index 0000000..9ac0db3 --- /dev/null +++ b/apps/flameshot.nix @@ -0,0 +1,53 @@ +# Flameshot with GNOME Wayland clipboard fix +# Built from master branch which includes +# Fix copy failure on GNOME via GUI +# https://github.com/flameshot-org/flameshot/pull/4363 +# which fixes: +# flameshot-org/flameshot#4298: "Screenshot copying to clipboard doesn't work" +# https://github.com/flameshot-org/flameshot/issues/4298 +# +# This can be removed once nixpkgs updates flameshot past v13.3.0 + +{ pkgs, ... }: + +{ + nixpkgs.overlays = [ + (final: prev: { + flameshot = prev.flameshot.overrideAttrs (old: { + version = "master-2025-01-06"; + src = prev.fetchFromGitHub { + owner = "flameshot-org"; + repo = "flameshot"; + rev = "bee989ec55e7034a782fd18bd4e694b74a62ac32"; + hash = "sha256-/Bq9/wqGEwkxmiXG8N220flBnoybm0/xVVC0pDkf7jw="; + }; + patches = []; + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace-fail \ + '# Dependency can be fetched via flatpak builder +if(EXISTS "''${CMAKE_SOURCE_DIR}/external/Qt-Color-Widgets/CMakeLists.txt") + add_subdirectory("''${CMAKE_SOURCE_DIR}/external/Qt-Color-Widgets" EXCLUDE_FROM_ALL) +else() + FetchContent_Declare( + qtColorWidgets + GIT_REPOSITORY https://gitlab.com/mattbas/Qt-Color-Widgets.git + GIT_TAG 352bc8f99bf2174d5724ee70623427aa31ddc26a + ) + #Workaround for duplicate GUID in windows WIX installer + if(WIN32) + FetchContent_GetProperties(qtColorWidgets) + if(NOT qtcolorwidgets_POPULATED) + FetchContent_Populate(qtColorWidgets) + add_subdirectory(''${qtcolorwidgets_SOURCE_DIR} ''${qtcolorwidgets_BINARY_DIR} EXCLUDE_FROM_ALL) + endif() + else() + FetchContent_MakeAvailable(qtColorWidgets) + endif() +endif()' \ + 'find_package(QtColorWidgets REQUIRED)' + ''; + }); + }) + ]; +} diff --git a/configuration.nix b/configuration.nix index 7abc749..69bf773 100644 --- a/configuration.nix +++ b/configuration.nix @@ -8,9 +8,9 @@ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ./nix-alien.nix ./wireguard.nix ./apps/firefox.nix + ./apps/flameshot.nix ]; # Bootloader. @@ -22,7 +22,6 @@ efiSupport = true; device = "nodev"; gfxmodeEfi = "3440x1440"; - # font = "${pkgs.ubuntu_font_family}/share/fonts/ubuntu/UbuntuMono-R.ttf"; font = "${pkgs.hack-font}/share/fonts/truetype/Hack-Regular.ttf"; fontSize = 36; }; @@ -42,6 +41,9 @@ boot.supportedFilesystems = ["ntfs"]; networking.hostName = "nixos"; # Define your hostname. + networking.hosts = { + "127.0.0.1" = [ "dev.tolma.ch" ]; + }; # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary @@ -57,6 +59,8 @@ environment.sessionVariables = rec { # fixing disappering cursor in alacritty - https://github.com/NixOS/nixpkgs/issues/22652 XCURSOR_THEME = "Vimix-cursors"; + # vscode wayland + NIXOS_OZONE_WL = 1; }; # Select internationalisation properties. @@ -101,6 +105,11 @@ # Enable CUPS to print documents. services.printing.enable = true; + services.udev.packages = with pkgs; [ + platformio-core.udev + openocd + ]; + # Enable sound with pipewire. services.pulseaudio.enable = false; security.rtkit.enable = true; @@ -178,6 +187,7 @@ environment.systemPackages = with pkgs; [ nix-search-cli alacritty + yazi vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. neovim ripgrep @@ -200,10 +210,12 @@ inetutils pciutils tcpdump + libstrangle # fps limmiter gparted inkscape flameshot - thunderbird-128 + thunderbird + vscode-fhs cpupower-gui ryzenadj powertop @@ -212,7 +224,7 @@ python312Packages.nsz python312Packages.detect-secrets nodejs_20 - go_1_23 + go jdk linuxKernel.packages.linux_6_12.cpupower linuxKernel.packages.linux_6_12.ryzen-smu @@ -246,8 +258,8 @@ ''; }; packages = with pkgs; [ - iosevka - ubuntu_font_family + # iosevka + ubuntu-classic hack-font cascadia-code roboto-mono @@ -255,6 +267,7 @@ nerd-fonts.recursive-mono nerd-fonts.iosevka nerd-fonts.symbols-only + noto-fonts-cjk-sans ]; };