dotfiles

My PC Dotfiles & Website
commit 1ce2b2c64b7c6c061f0f426ea6d4ba03df6acba1
parent 8df3968e15a3af7882c8b47ed058d36fd0ceaea1
Author: maydayv7 <maydayv7@gmail.com>
Date:   Wed, 16 Apr 2025 09:25:27 +0530

feat: Improve QT Theming and File Associations

Also use `papers` instead of `evince` and fix some `pantheon` issues

Diffstat:

MREADME.md | 4+---
Mfiles/pantheon/dconf.nix | 14++++++--------
Mfiles/xdg/mime.nix | 171++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
Mflake.lock | 21+++++++++++++++++++++
Mflake.nix | 45++++++++++++++++++++++++++-------------------
Mmodules/README.md | 1+
Mmodules/apps/office.nix | 37++++++++++++++++++++++---------------
Mmodules/apps/vscode.nix | 6++++--
Mmodules/gui/desktop/gnome/default.nix | 6+++++-
Mmodules/gui/desktop/hyprland/apps/files.nix | 1+
Mmodules/gui/desktop/hyprland/apps/media.nix | 5+++--
Mmodules/gui/desktop/hyprland/apps/settings.nix | 1+
Mmodules/gui/desktop/hyprland/theme.nix | 9++++-----
Mmodules/gui/desktop/pantheon.nix | 15++++++++-------
Mmodules/gui/desktop/xfce/default.nix | 2++
Mmodules/gui/qt.nix | 125++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
Mpackages/geany-catppuccin/default.nix | 1+
Apackages/geany-catppuccin/selection.patch | 11+++++++++++
Mpackages/gnome-pano/default.nix | 8++++----
Mpackages/gnome-pano/imports.patch | 17+----------------
20 files changed, 390 insertions(+), 110 deletions(-)

diff --git a/README.md b/README.md @@ -503,8 +503,6 @@ _Thanks a lot! ;)_ --- -You can navigate to the `README`s present in the various directories to know more about them - <details> <summary><b>Changelog</b></summary> @@ -822,7 +820,7 @@ You can navigate to the `README`s present in the various directories to know mor </details> -> Last Updated: **February** 2025 +> Last Updated: **April** 2025 If you like this project, consider leaving a [star](https://github.com/maydayv7/dotfiles) diff --git a/files/pantheon/dconf.nix b/files/pantheon/dconf.nix @@ -19,6 +19,7 @@ in { "io/elementary/desktop/wingpanel/sound".max-volume = 100.0; "io/elementary/desktop/wingpanel/power".show-percentage = true; "io/elementary/desktop/wingpanel/bluetooth".bluetooth-enabled = false; + "io/elementary/switchboard/keyboard".first-launch = false; "io/elementary/files/preferences".singleclick-select = false; "io/elementary/settings-daemon/datetime".show-weeks = true; @@ -30,13 +31,10 @@ in { clock-format = "24h"; clock-show-weekday = true; cursor-size = 32; - document-font-name = "${head fonts.sansSerif} 12"; enable-animations = true; enable-hot-corners = true; - font-name = "${head fonts.sansSerif} 12"; gtk-enable-primary-paste = true; locate-pointer = true; - monospace-font-name = "${head fonts.monospace} 13"; text-scaling-factor = 1.0; }; @@ -261,33 +259,33 @@ in { }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + name = "Task Manager"; binding = "<Primary><Alt>Return"; command = "com.github.stsdc.monitor"; - name = "com.github.stsdc.monitor"; }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { + name = "Terminal"; binding = "<Super>t"; command = "io.elementary.terminal"; - name = "io.elementary.terminal"; }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = { + name = "Calculator"; binding = "Calculator"; command = "io.elementary.calculator"; - name = "io.elementary.calculator"; }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3" = { + name = "Launcher"; binding = "<Super>slash"; command = "ulauncher-toggle"; - name = "ulauncher-toggle"; }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4" = { + name = "Clipboard"; binding = "<Super>v"; command = "gtk-launch com.github.hezral.clips"; - name = "gtk-launch com.github.hezral.clips"; }; # Gestures diff --git a/files/xdg/mime.nix b/files/xdg/mime.nix @@ -1,4 +1,29 @@ { + archive = [ + "application/x-7z-compressed" + "application/x-7z-compressed-tar" + "application/x-bzip" + "application/x-bzip-compressed-tar" + "application/x-compress" + "application/x-compressed-tar" + "application/x-cpio" + "application/x-gzip" + "application/x-lha" + "application/x-lzip" + "application/x-lzip-compressed-tar" + "application/x-lzma" + "application/x-lzma-compressed-tar" + "application/x-tar" + "application/x-tarz" + "application/x-xar" + "application/x-xz" + "application/x-xz-compressed-tar" + "application/zip" + "application/gzip" + "application/bzip2" + "application/vnd.rar" + ]; + audio = [ "audio/aac" "audio/flac" @@ -8,12 +33,39 @@ "audio/opus" "audio/wav" "audio/webm" + "audio/x-aac" + "audio/x-aiff" + "audio/x-ape" + "audio/x-flac" + "audio/x-m4a" + "audio/x-m4b" "audio/x-matroska" + "audio/x-mp1" + "audio/x-mp2" + "audio/x-mp3" + "audio/x-mpeg" + "audio/x-mpegurl" + "audio/x-mpg" + "audio/x-opus+ogg" + "audio/x-pn-aiff" + "audio/x-pn-au" + "audio/x-pn-wav" + "audio/x-speex" + "audio/x-vorbis" + "audio/x-vorbis+ogg" + "audio/x-wavpack" ]; browser = [ + "application/x-extension-htm" + "application/x-extension-html" + "application/x-extension-shtml" + "application/x-extension-xht" + "application/x-extension-xhtml" + "application/xhtml+xml" "text/html" "x-scheme-handler/about" + "x-scheme-handler/ftp" "x-scheme-handler/http" "x-scheme-handler/https" "x-scheme-handler/unknown" @@ -23,18 +75,62 @@ directory = ["inode/directory"]; + document = [ + "application/illustrator" + "application/oxps" + "application/postscript" + "application/vnd.comicbook-rar" + "application/vnd.comicbook+zip" + "application/vnd.ms-xpsdocument" + "application/x-bzpdf" + "application/x-bzpostscript" + "application/x-cb7" + "application/x-cbr" + "application/x-cbt" + "application/x-cbz" + "application/x-ext-cb7" + "application/x-ext-cbr" + "application/x-ext-cbt" + "application/x-ext-cbz" + "application/x-ext-djv" + "application/x-ext-djvu" + "application/x-ext-eps" + "application/x-ext-pdf" + "application/x-ext-ps" + "application/x-gzpdf" + "application/x-gzpostscript" + "application/x-xzpdf" + "image/vnd.djvu" + "image/x-bzeps" + "image/x-eps" + "image/x-gzeps" + ]; + image = [ + "image/avif" "image/bmp" "image/gif" "image/heic" "image/heif" "image/jpeg" "image/jpg" + "image/jxl" "image/png" + "image/svg+xml-compressed" "image/svg+xml" "image/tiff" + "image/vnd-ms.dds" "image/vnd.microsoft.icon" + "image/vnd.radiance" "image/webp" + "image/x-dds" + "image/x-exr" + "image/x-portable-anymap" + "image/x-portable-bitmap" + "image/x-portable-graymap" + "image/x-portable-pixmap" + "image/x-qoi;image/svg+xml" + "image/x-tga" ]; magnet = ["x-scheme-handler/magnet"]; @@ -44,6 +140,7 @@ markdown = ["text/markdown"]; office = [ + "application/rtf" "application/vnd.oasis.opendocument.text" "application/vnd.oasis.opendocument.spreadsheet" "application/vnd.oasis.opendocument.presentation" @@ -57,18 +154,90 @@ pdf = ["application/pdf"]; - text = ["text/plain"]; + text = [ + "text/plain" + "text/css" + "text/ecmascript" + "text/javascript" + "text/x-script.python" + "text/x-script.sh" + "text/x-script.zsh" + "text/xml" + ]; video = [ + "application/mxf" + "application/ogg" + "application/ram" + "application/sdp" + "application/smil" + "application/smil+xml" + "application/vnd.apple.mpegurl" + "application/vnd.ms-asf" + "application/vnd.ms-wpl" + "application/vnd.rn-realmedia-vbr" + "application/vnd.rn-realmedia" + "application/x-extension-mp4" + "application/x-flash-video" + "application/x-matroska" + "application/x-netshow-channel" + "application/x-ogg" + "application/x-quicktime-media-link" + "application/x-quicktimeplayer" + "application/x-shorten" + "application/x-smil" + "application/xspf+xml" + "video/3gp" + "video/3gpp" + "video/3gpp2" + "video/divx" + "video/dv" + "video/fli" "video/mp2t" "video/mp4" + "video/mp4v-es" + "video/mpeg-system" "video/mpeg" + "video/msvideo" "video/ogg" "video/quicktime" + "video/vivo" + "video/vnd.divx" + "video/vnd.rn-realvideo" + "video/vnd.vivo" "video/webm" + "video/x-anim" + "video/x-avi" + "video/x-flc" + "video/x-fli" + "video/x-flic" "video/x-flv" + "video/x-m4v" "video/x-matroska" + "video/x-mpeg" + "video/x-mpeg2" + "video/x-ms-asf-plugin" + "video/x-ms-asf" + "video/x-ms-asx" + "video/x-ms-wm" "video/x-ms-wmv" + "video/x-ms-wmx" + "video/x-ms-wvx" "video/x-msvideo" + "video/x-nsv" + "video/x-ogm+ogg" + "video/x-theora" + "video/x-theora+ogg" + "video/x-totem-stream" + "x-content/video-dvd" + "x-content/video-svcd" + "x-content/video-vcd" + "x-scheme-handler/icy" + "x-scheme-handler/icyx" + "x-scheme-handler/mmsh" + "x-scheme-handler/net" + "x-scheme-handler/pnm" + "x-scheme-handler/rtmp" + "x-scheme-handler/uvox" ]; } diff --git a/flake.lock b/flake.lock @@ -163,6 +163,26 @@ "type": "github" } }, + "darkly": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1744506952, + "narHash": "sha256-u+LNOIPvc1w3rDycpy6Ysg6bJRN7shAhHKpNHuZB5dA=", + "owner": "Bali10050", + "repo": "Darkly", + "rev": "8ece7de1b9efe488f505ddb57bdfa992daca1f6d", + "type": "github" + }, + "original": { + "owner": "Bali10050", + "repo": "Darkly", + "type": "github" + } + }, "filters": { "locked": { "lastModified": 1731533336, @@ -1041,6 +1061,7 @@ "inputs": { "boot": "boot", "catppuccin": "catppuccin", + "darkly": "darkly", "filters": "filters", "flatpak": "flatpak", "formatter": "formatter", diff --git a/flake.nix b/flake.nix @@ -128,7 +128,26 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - # Base16 Theming + # Declarative Flatpak Wrapper + flatpak.url = "github:gmodena/nix-flatpak?ref=latest"; + + # VS Code Extensions + vscode = { + url = "github:nix-community/nix-vscode-extensions"; + inputs = { + nixpkgs.follows = "nixpkgs"; + flake-utils.follows = "utils"; + }; + }; + + # Windows Apps Wrapper + windows = { + url = "github:emmanuelrosa/erosanix"; + inputs.nixpkgs.follows = "unstable"; + }; + + ## Theming + # Base16 Theming Module stylix = { url = "github:danth/stylix"; inputs = { @@ -139,9 +158,6 @@ }; }; - # Declarative Flatpak Wrapper - flatpak.url = "github:gmodena/nix-flatpak?ref=latest"; - # Spicetify Module spotify = { url = "github:Gerg-L/spicetify-nix"; @@ -151,27 +167,18 @@ }; }; + # Darkly QT Style + darkly = { + url = "github:Bali10050/Darkly"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + # Catppuccin Theme catppuccin = { url = "github:catppuccin/nix"; inputs.nixpkgs.follows = "nixpkgs"; }; - # VS Code Extensions - vscode = { - url = "github:nix-community/nix-vscode-extensions"; - inputs = { - nixpkgs.follows = "nixpkgs"; - flake-utils.follows = "utils"; - }; - }; - - # Windows Apps Wrapper - windows = { - url = "github:emmanuelrosa/erosanix"; - inputs.nixpkgs.follows = "unstable"; - }; - ## Hyprland # Core hyprland = { diff --git a/modules/README.md b/modules/README.md @@ -46,6 +46,7 @@ Configuration [Builder](./configuration.nix) - `package`: GTK+ Theme Package - `qt` - - `enable`: Enable QT Configuration - `true / false` + - `style`: QT Application Style - `null / "gtk" / "kvantum" / "qtct"` - `theme` - - `name`: QT Application Theme - `package`: QT Theme Package diff --git a/modules/apps/office.nix b/modules/apps/office.nix @@ -1,6 +1,7 @@ { config, lib, + util, inputs, pkgs, files, @@ -101,22 +102,28 @@ in { ".cache/zoom" ]; - homeConfig.home.file = { - # Document Templates - "Templates" = rec { - source = files.templates; - target = ".init-templates"; - onChange = '' - rm -rf ~/Templates - cp -rL ~/${target} ~/Templates - chmod -R 0777 ~/Templates - ''; - }; + homeConfig = { + # File Associations + xdg.mimeApps.defaultApplications = + util.build.mime files.xdg.mime {office = ["onlyoffice-desktopeditors.desktop"];}; + + home.file = { + # Document Templates + "Templates" = rec { + source = files.templates; + target = ".init-templates"; + onChange = '' + rm -rf ~/Templates + cp -rL ~/${target} ~/Templates + chmod -R 0777 ~/Templates + ''; + }; - # Font Rendering - ".local/share/fonts" = { - source = "${pkgs.custom.fonts}/share/fonts"; - recursive = true; + # Font Rendering + ".local/share/fonts" = { + source = "${pkgs.custom.fonts}/share/fonts"; + recursive = true; + }; }; }; }; diff --git a/modules/apps/vscode.nix b/modules/apps/vscode.nix @@ -26,8 +26,10 @@ in { ]; # Environment - xdg.mimeApps.defaultApplications = - util.build.mime files.xdg.mime {text = ["code.desktop"];}; + xdg.mimeApps.defaultApplications = util.build.mime files.xdg.mime { + markdown = ["code.desktop"]; + text = ["code.desktop"]; + }; programs.vscode = { enable = true; diff --git a/modules/gui/desktop/gnome/default.nix b/modules/gui/desktop/gnome/default.nix @@ -67,6 +67,7 @@ in { qt = { enable = true; + style = "kvantum"; theme = { name = "KvLibadwaitaDark"; package = pkgs.custom.kvlibadwaita; @@ -126,14 +127,16 @@ in { # Default Applications xdg.mimeApps.defaultApplications = util.build.mime xdg.mime { + archive = ["org.gnome.FileRoller.desktop"]; audio = ["org.gnome.Lollypop.desktop"]; calendar = ["org.gnome.Calendar.desktop"]; + document = ["org.gnome.Papers.desktop"]; directory = ["org.gnome.Nautilus.desktop"]; image = ["org.gnome.Loupe.desktop"]; magnet = ["de.haeckerfelix.Fragments.desktop"]; mail = ["org.gnome.Geary.desktop"]; markdown = ["org.gnome.gitlab.somas.Apostrophe.desktop"]; - pdf = ["org.gnome.Evince.desktop"]; + pdf = ["org.gnome.Papers.desktop"]; text = ["org.gnome.TextEditor.desktop"]; video = ["io.github.celluloid_player.Celluloid.desktop"]; }; @@ -185,6 +188,7 @@ in { gnome-sound-recorder gnome-text-editor gnome-tweaks + papers zenity # Games diff --git a/modules/gui/desktop/hyprland/apps/files.nix b/modules/gui/desktop/hyprland/apps/files.nix @@ -31,6 +31,7 @@ in { homeConfig = { xdg.mimeApps.defaultApplications = util.build.mime files.xdg.mime { + archive = ["org.gnome.FileRoller.desktop"]; directory = ["nemo.desktop"]; }; diff --git a/modules/gui/desktop/hyprland/apps/media.nix b/modules/gui/desktop/hyprland/apps/media.nix @@ -7,8 +7,8 @@ ## Media Configuration environment.systemPackages = with pkgs; [ celluloid - evince lollypop + papers playerctl shotwell transmission_4-gtk @@ -28,9 +28,10 @@ # Default Applications xdg.mimeApps.defaultApplications = util.build.mime files.xdg.mime { audio = ["org.gnome.Lollypop.desktop"]; + document = ["org.gnome.Papers.desktop"]; image = ["org.gnome.Shotwell-Viewer.desktop"]; magnet = ["transmission-gtk.desktop"]; - pdf = ["org.gnome.Evince.desktop"]; + pdf = ["org.gnome.Papers.desktop"]; video = ["io.github.celluloid_player.Celluloid.desktop"]; }; diff --git a/modules/gui/desktop/hyprland/apps/settings.nix b/modules/gui/desktop/hyprland/apps/settings.nix @@ -30,6 +30,7 @@ in { qt = { enable = true; theme = qt; + style = "kvantum"; }; }; diff --git a/modules/gui/desktop/hyprland/theme.nix b/modules/gui/desktop/hyprland/theme.nix @@ -8,11 +8,10 @@ pkgs: rec { variant-alt = "Macchiato"; gtk = { - name = "${name-alt}-GTK-Dark-${variant-alt}"; - package = pkgs.magnetic-catppuccin-gtk.override { - shade = "dark"; - accent = ["default"]; - tweaks = [variant]; + name = "${name}-${variant}-${accent}-standard"; + package = pkgs.catppuccin-gtk.override { + accents = [accent]; + inherit variant; }; }; diff --git a/modules/gui/desktop/pantheon.nix b/modules/gui/desktop/pantheon.nix @@ -31,6 +31,11 @@ in { }; }; + qt = { + enable = true; + style = "gtk"; + }; + cursors = { name = "elementary"; package = pkgs.pantheon.elementary-icon-theme; @@ -45,11 +50,8 @@ in { }; # Essential Utilities + apps.list = ["firefox"]; services.pantheon.apps.enable = true; - programs = { - firefox.enable = true; - pantheon-tweaks.enable = true; - }; # Panel Indicators services.xserver.desktopManager.pantheon.extraWingpanelIndicators = with pkgs; [ @@ -58,9 +60,6 @@ in { ]; environment = { - # QT Theme - variables."QT_QPA_PLATFORMTHEME" = "gtk3"; - # Panel Indicator Compatibility pathsToLink = ["/libexec"]; @@ -68,6 +67,7 @@ in { systemPackages = with pkgs.pantheon // pkgs; [ appeditor gthumb + pantheon-tweaks torrential ]; }; @@ -93,6 +93,7 @@ in { { user.homeConfig = { imports = [pantheon.dconf]; + stylix.targets.gnome.enable = false; # Default Applications xdg.mimeApps.defaultApplications = util.build.mime xdg.mime { diff --git a/modules/gui/desktop/xfce/default.nix b/modules/gui/desktop/xfce/default.nix @@ -63,6 +63,7 @@ in { qt = { enable = true; + style = "kvantum"; theme = { name = "KvArcDark"; package = pkgs.arc-kde-theme; @@ -151,6 +152,7 @@ in { # Default Applications xdg.mimeApps.defaultApplications = util.build.mime xdg.mime { + archive = ["org.gnome.FileRoller.desktop"]; audio = ["org.xfce.Parole.desktop"]; calendar = ["org.xfce.orage.desktop"]; directory = ["thunar.desktop"]; diff --git a/modules/gui/qt.nix b/modules/gui/qt.nix @@ -1,13 +1,22 @@ { config, lib, + inputs, + pkgs, ... }: let - inherit (lib) mkEnableOption mkIf mkOption types; - cfg = config.gui.qt; + inherit (lib) mkDefault mkEnableOption mkIf mkMerge mkOption types; + inherit (config.gui) qt icons; + inherit (config.stylix) fonts; in { options.gui.qt = { enable = mkEnableOption "Enable QT Configuration"; + style = mkOption { + description = "QT Application Style"; + type = types.nullOr (types.enum ["gtk" "kvantum" "qtct"]); + default = null; + }; + theme = { name = mkOption { description = "QT Application Theme"; @@ -22,37 +31,99 @@ in { }; ## QT Configuration ## - config = with cfg.theme; - mkIf cfg.enable { - qt = { - enable = true; - platformTheme = "qt5ct"; - style = "kvantum"; - }; + config = with qt.theme; + mkIf qt.enable (mkMerge [ + { + stylix.targets.qt.enable = false; + qt = { + enable = true; + platformTheme = mkDefault "gtk2"; + }; + } - stylix.targets.qt.enable = false; - environment = { - systemPackages = [package]; - etc."xdg/Kvantum/kvantum.kvconfig".text = '' - [General] - Theme=${name} - ''; - }; + (mkIf (qt.style == "gtk") { + qt = { + platformTheme = "gnome"; + style = "adwaita-dark"; + }; + }) - user.homeConfig = { + (mkIf (qt.style == "kvantum") { qt = { - enable = true; - platformTheme.name = "qtct"; - style.name = "kvantum"; + platformTheme = "qt5ct"; + style = "kvantum"; }; - xdg.configFile = { - "Kvantum/${name}".source = "${package}/share/Kvantum/${name}"; - "Kvantum/kvantum.kvconfig".text = '' + environment = { + systemPackages = [package]; + etc."xdg/Kvantum/kvantum.kvconfig".text = '' [General] - theme=${name} + Theme=${name} ''; }; - }; - }; + + user.homeConfig = { + qt = { + enable = true; + platformTheme.name = "qtct"; + style.name = "kvantum"; + }; + + xdg.configFile = { + "Kvantum/${name}".source = "${package}/share/Kvantum/${name}"; + "Kvantum/kvantum.kvconfig".text = '' + [General] + theme=${name} + ''; + }; + }; + }) + + (mkIf (qt.style == "qtct") (let + pkg = with inputs.darkly.packages.${pkgs.system}; [ + darkly-qt5 + darkly-qt6 + ]; + + conf = version: + lib.generators.toINI {} { + Appearance = { + style = "Lightly"; + standard_dialogs = "default"; + icon_theme = icons.name; + custom_palette = true; + color_scheme_path = "${package}/share/${version}/colors/${name}.conf"; + }; + + Fonts = let + size = fonts.sizes.applications; + in { + fixed = "\"${fonts.monospace.name},${size},-1,5,50,0,0,0,0,0,Regular\""; + general = "\"${fonts.sansSerif.name},${size},-1,5,50,0,0,0,0,0,Regular\""; + }; + }; + in { + qt.platformTheme = "qt5ct"; + environment = { + systemPackages = pkg; + etc = { + "xdg/qt5ct/qt5ct.conf" = conf "qt5ct"; + "xdg/qt6ct/qt6ct.conf" = conf "qt6ct"; + }; + }; + + user.homeConfig = { + qt = { + enable = true; + platformTheme.name = "qtct"; + style.package = pkg; + }; + + xdg.configFile = { + "qt5ct/qt5ct.conf" = conf "qt5ct"; + "qt6ct/qt6ct.conf" = conf "qt6ct"; + }; + }; + })) + ]); } diff --git a/packages/geany-catppuccin/default.nix b/packages/geany-catppuccin/default.nix @@ -17,6 +17,7 @@ in }; dontBuild = true; + patches = [./selection.patch]; installPhase = '' mkdir -p $out/share/geany/colorschemes/ cp -r ./src/. $out/share/geany/colorschemes/ diff --git a/packages/geany-catppuccin/selection.patch b/packages/geany-catppuccin/selection.patch @@ -0,0 +1,11 @@ +--- a/src/catppuccin-macchiato.conf ++++ b/src/catppuccin-macchiato.conf +@@ -46,7 +46,7 @@ error=red;yellow;false;true + op=blue;base;true;false + # Editor UI + # selection: words; background +-selection=pink;blue;false;false ++selection=;surface1;false;true + current_line=;surface0;true + brace_good=green;overlay1;true;true + brace_bad=red;overlay1;true;true diff --git a/packages/gnome-pano/default.nix b/packages/gnome-pano/default.nix @@ -8,22 +8,22 @@ with pkgs; let in stdenv.mkDerivation rec { pname = "pano"; - version = "v23-alpha3"; + version = "v23-alpha5"; src = fetchzip { url = "https://github.com/oae/gnome-shell-pano/releases/download/${version}/${uuid}.zip"; - sha256 = "sha256-LYpxsl/PC8hwz0ZdH5cDdSZPRmkniBPUCqHQxB4KNhc="; + sha256 = "sha256-kTaJOSyFtBa/fl3Mot8Q8qyhwJwhcbBY4FvdztqUP4w="; stripRoot = false; }; patches = [ (substituteAll { src = ./imports.patch; - inherit gsound libgda; + inherit gsound libgda5; }) ]; nativeBuildInputs = [wrapGAppsHook]; - buildInputs = [gnome-shell libgda gsound]; + buildInputs = [gnome-shell libgda5 gsound]; installPhase = '' mkdir -p $out/share/gnome-shell/extensions cp -r -T . $out/share/gnome-shell/extensions/${uuid} diff --git a/packages/gnome-pano/imports.patch b/packages/gnome-pano/imports.patch @@ -1,12 +1,9 @@ -diff --git a/__nix-prepend-search-paths.js b/__nix-prepend-search-paths.js -new file mode 100644 --- /dev/null +++ b/__nix-prepend-search-paths.js @@ -0,0 +1,3 @@ +import GIRepository from 'gi://GIRepository'; +GIRepository.Repository.prepend_search_path('@gsound@/lib/girepository-1.0'); -+GIRepository.Repository.prepend_search_path('@libgda@/lib/girepository-1.0'); -diff --git a/extension.js b/extension.js ++GIRepository.Repository.prepend_search_path('@libgda5@/lib/girepository-1.0'); --- a/extension.js +++ b/extension.js @@ -1,3 +1,4 @@ @@ -14,7 +11,6 @@ diff --git a/extension.js b/extension.js import Gio from 'gi://Gio'; import GLib from 'gi://GLib'; import * as extension_js from 'resource:///org/gnome/shell/extensions/extension.js'; -diff --git a/prefs.js b/prefs.js --- a/prefs.js +++ b/prefs.js @@ -1,3 +1,4 @@ @@ -22,14 +18,3 @@ diff --git a/prefs.js b/prefs.js import { ExtensionPreferences } from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js'; import Gdk from 'gi://Gdk'; import Gtk from 'gi://Gtk'; -diff --git a/extension.js b/extension.js ---- a/extension.js -+++ b/extension.js -@@ -3507,6 +3507,7 @@ class PanoExtension extends Extension { - async clearHistory() { - this.stop(); - await deleteAppDirs(this); -+ this.setupResources(); - this.start(); - } - async clearSessionHistory() {