From 2bc17b5cfd65a9537a9c56e74c9e7918156015e0 Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Thu, 19 Mar 2026 10:59:12 -0500 Subject: changes (idk) --- modules/desktop/hjem/default.nix | 6 +-- modules/desktop/hjem/programs/foot.nix | 4 ++ modules/desktop/hjem/wm/default.nix | 8 ++++ modules/desktop/hjem/wm/sway.nix | 5 ++- modules/desktop/hjem/wm/tofi.nix | 42 +++++++++++++++++++ modules/desktop/nixos/default.nix | 2 + modules/desktop/nixos/portals.nix | 52 ++++++++++++++++++++++++ modules/desktop/nixos/qt.nix | 74 ++++++++++++++++++++++++++++++++++ modules/desktop/options.nix | 1 + 9 files changed, 188 insertions(+), 6 deletions(-) create mode 100644 modules/desktop/hjem/wm/tofi.nix create mode 100644 modules/desktop/nixos/portals.nix create mode 100644 modules/desktop/nixos/qt.nix (limited to 'modules/desktop') diff --git a/modules/desktop/hjem/default.nix b/modules/desktop/hjem/default.nix index 81014c2..f22fd78 100644 --- a/modules/desktop/hjem/default.nix +++ b/modules/desktop/hjem/default.nix @@ -2,11 +2,7 @@ imports = [ ./gtk.nix - ./wm/sway.nix - ./wm/niri.nix - ./wm/default.nix - ./wm/dunst.nix - ./wm/fuzzel.nix + ./wm ./programs/foot.nix ./programs/firefox.nix diff --git a/modules/desktop/hjem/programs/foot.nix b/modules/desktop/hjem/programs/foot.nix index c05e22c..f1bb0bb 100644 --- a/modules/desktop/hjem/programs/foot.nix +++ b/modules/desktop/hjem/programs/foot.nix @@ -12,6 +12,10 @@ shell = "${pkgs.fish}/bin/fish"; }; + key-bindings = { + spawn-terminal = "Control+Return"; + }; + colors = with config.collinux.palette; { alpha = "0.6"; diff --git a/modules/desktop/hjem/wm/default.nix b/modules/desktop/hjem/wm/default.nix index 6b8aeed..a940132 100644 --- a/modules/desktop/hjem/wm/default.nix +++ b/modules/desktop/hjem/wm/default.nix @@ -1,4 +1,12 @@ {pkgs, ...}: { + imports = [ + ./dunst.nix + ./fuzzel.nix + ./niri.nix + ./sway.nix + ./tofi.nix + ]; + packages = [ (pkgs.callPackage ../../../../pkgs/util {}) # util.lua ]; diff --git a/modules/desktop/hjem/wm/sway.nix b/modules/desktop/hjem/wm/sway.nix index 62e4203..0e5edb2 100644 --- a/modules/desktop/hjem/wm/sway.nix +++ b/modules/desktop/hjem/wm/sway.nix @@ -38,6 +38,7 @@ settings = '' exec ${config.collinux.desktop.wallpaper_cmd} exec ${pkgs.dunst}/bin/dunst + exec ${pkgs.dbus}/bin/dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP GTK_USE_PORTAL NIXOS_OZONE_WL MOZ_ENABLE_WAYLAND include catppuccin-mocha @@ -78,11 +79,13 @@ bindsym Mod4+Shift+9 move container to workspace number 9 bindsym Mod4+Return exec ${pkgs.foot}/bin/foot - bindsym Mod4+Space exec ${pkgs.fuzzel}/bin/fuzzel + bindsym Mod4+Space exec tofi-drun bindsym Mod4+b exec ${pkgs.firefox}/bin/firefox bindsym Mod4+Shift+b exec ${pkgs.qutebrowser}/bin/qutebrowser bindsym Mod4+q kill + bindsym Mod4+w exec '${pkgs.iwmenu}/bin/iwmenu -l fuzzel -i font -s 2' + bindsym Mod4+Shift+s exec '${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" ~/Pictures/$(date +"%s_grim.png")' bindsym Mod4+Alt+s exec '${pkgs.hyprpicker}/bin/hyprpicker' diff --git a/modules/desktop/hjem/wm/tofi.nix b/modules/desktop/hjem/wm/tofi.nix new file mode 100644 index 0000000..f6a0703 --- /dev/null +++ b/modules/desktop/hjem/wm/tofi.nix @@ -0,0 +1,42 @@ +{ + pkgs, + lib, + config, + ... +}: let + cfg = config.collinux.desktop.programs.tofi; + flags = { + drun-launch = "true"; + anchor = "bottom"; + horizontal = "true"; + width = "100%"; + height = 20; + font-size = 12; + prompt-text = ""; + font = "${pkgs.iosevka}/share/fonts/truetype/Iosevka-Regular.ttf"; + outline-width = 0; + border-width = 0; + num-results = 20; + min-input-width = 0; + result-spacing = 10; + padding-top = 0; + padding-bottom = 0; + padding-left = 0; + padding-right = 0; + background-color = "#11111b"; + text-color = "#585B70"; + selection-color = "#CDD6F4"; + selection-match-color = "#89B4FA"; + }; + flagsText = flags |> lib.mapAttrsToList (k: v: "--${k}=${toString v}") |> lib.concatStringsSep " "; +in + lib.mkIf cfg.enable { + packages = [ + (pkgs.writeShellScriptBin "tofi" '' + ${pkgs.tofi}/bin/tofi ${flagsText} + '') + (pkgs.writeShellScriptBin "tofi-drun" '' + ${pkgs.tofi}/bin/tofi-drun ${flagsText} + '') + ]; + } diff --git a/modules/desktop/nixos/default.nix b/modules/desktop/nixos/default.nix index 1301483..97038d0 100644 --- a/modules/desktop/nixos/default.nix +++ b/modules/desktop/nixos/default.nix @@ -2,6 +2,8 @@ imports = [ ./gnome.nix ./fonts.nix + ./portals.nix + ./qt.nix ./greeters/greetd.nix ./greeters/gdm.nix diff --git a/modules/desktop/nixos/portals.nix b/modules/desktop/nixos/portals.nix new file mode 100644 index 0000000..ff65868 --- /dev/null +++ b/modules/desktop/nixos/portals.nix @@ -0,0 +1,52 @@ +{ + pkgs, + lib, + config, + ... +}: let + useKdePortal = config.collinux.desktop.wm.sway.enable || config.collinux.desktop.wm.niri.enable; +in + lib.mkIf useKdePortal { + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + + config = { + common = { + default = [ + "kde" + "gtk" + ]; + "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + }; + + sway = { + default = [ + "kde" + "gtk" + ]; + "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + }; + + niri = { + default = [ + "kde" + "gtk" + ]; + "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + }; + }; + + extraPortals = with pkgs; [ + kdePackages.xdg-desktop-portal-kde + xdg-desktop-portal-gtk + ]; + }; + + environment.sessionVariables = { + XDG_CURRENT_DESKTOP = "KDE"; + GTK_USE_PORTAL = "1"; + NIXOS_OZONE_WL = "1"; + MOZ_ENABLE_WAYLAND = "1"; + }; + } diff --git a/modules/desktop/nixos/qt.nix b/modules/desktop/nixos/qt.nix new file mode 100644 index 0000000..f65e361 --- /dev/null +++ b/modules/desktop/nixos/qt.nix @@ -0,0 +1,74 @@ +{ + pkgs, + lib, + config, + ... +}: let + isCatppuccin = config.collinux.theme == "catppuccin"; + useQtDesktop = config.collinux.desktop.wm.sway.enable || config.collinux.desktop.wm.niri.enable; +in + lib.mkIf useQtDesktop { + qt = { + enable = true; + platformTheme = "kde"; + style = "kvantum"; + }; + + environment.systemPackages = lib.optionals isCatppuccin [ + pkgs.papirus-icon-theme + (pkgs.catppuccin-kde.override { + flavour = ["mocha"]; + accents = ["blue"]; + winDecStyles = ["modern"]; + }) + (pkgs.catppuccin-kvantum.override { + variant = "mocha"; + accent = "blue"; + }) + ]; + + environment.pathsToLink = lib.optionals isCatppuccin [ + "/share/color-schemes" + "/share/Kvantum" + ]; + + environment.sessionVariables = lib.optionalAttrs isCatppuccin { + KVANTUM_THEME = "catppuccin-mocha-blue"; + }; + + systemd.user.extraConfig = lib.optionalString isCatppuccin '' + DefaultEnvironment=KVANTUM_THEME=catppuccin-mocha-blue + DefaultEnvironment=QT_STYLE_OVERRIDE=kvantum + DefaultEnvironment=QT_QPA_PLATFORMTHEME=kde + DefaultEnvironment=KDE_COLOR_SCHEME=CatppuccinMochaBlue + ''; + + systemd.user.services.plasma-xdg-desktop-portal-kde = lib.mkIf isCatppuccin { + overrideStrategy = "asDropin"; + serviceConfig.Environment = [ + "XDG_CURRENT_DESKTOP=KDE" + "QT_QPA_PLATFORMTHEME=kde" + "QT_STYLE_OVERRIDE=kvantum" + "KVANTUM_THEME=catppuccin-mocha-blue" + "KDE_COLOR_SCHEME=CatppuccinMochaBlue" + ]; + }; + + hjem.users."${config.collinux.user.name}".xdg.config.files = lib.optionalAttrs isCatppuccin { + "Kvantum/kvantum.kvconfig".text = '' + [General] + theme=catppuccin-mocha-blue + ''; + + "kdeglobals".text = '' + [General] + ColorScheme=CatppuccinMochaBlue + + [Icons] + Theme=Papirus + + [KDE] + widgetStyle=kvantum + ''; + }; + } diff --git a/modules/desktop/options.nix b/modules/desktop/options.nix index 9081ba9..3d6b9e3 100644 --- a/modules/desktop/options.nix +++ b/modules/desktop/options.nix @@ -132,6 +132,7 @@ in { }; foot = mkProgramOption "foot"; + tofi = mkProgramOption "tofi"; blackbox.enable = mkEnableOption "blackbox"; ghostty.enable = mkEnableOption "ghostty"; alacritty.enable = mkEnableOption "alacritty"; -- cgit v1.3.1