Compare commits

..

4 commits

Author SHA1 Message Date
7ba61a7de4
qs: use implicit size 2026-01-28 16:24:13 -08:00
12a5cd9d65
install sshfs, feishin 2026-01-28 16:23:44 -08:00
05c142d3e8
update, theme 2026-01-28 16:22:56 -08:00
5a7c6a8a9a
theme: use qtengine 2026-01-15 10:17:39 -08:00
10 changed files with 85 additions and 103 deletions

67
flake.lock generated
View file

@ -43,11 +43,11 @@
]
},
"locked": {
"lastModified": 1768182537,
"narHash": "sha256-1Ff3WJ57qPtX8D5srMKzXbsWD+bmC0sZzWIIRdAkmNo=",
"lastModified": 1769245071,
"narHash": "sha256-zNALt0KgqdHkfpr4hs8QtZMDS2SBiLNJmM8m8VnOTg0=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "35a115b97a6dfc196cc479c676556ce3c874ee81",
"rev": "26e95836ccff731543f898b603b1a213463ce919",
"type": "github"
},
"original": {
@ -122,11 +122,11 @@
]
},
"locked": {
"lastModified": 1768068402,
"narHash": "sha256-bAXnnJZKJiF7Xr6eNW6+PhBf1lg2P1aFUO9+xgWkXfA=",
"lastModified": 1769187349,
"narHash": "sha256-clG+nT6I2qxjIgk5WoSDKJyNhzKJs9jzbCujPF2S/yg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8bc5473b6bc2b6e1529a9c4040411e1199c43b4c",
"rev": "082a4cd87c6089d1d9c58ebe52655f9e07245fcb",
"type": "github"
},
"original": {
@ -218,11 +218,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1768144432,
"narHash": "sha256-6fc6FyEmfwT1Ke+2ib/80XPshc1h2lapIB/HlsaxyP4=",
"lastModified": 1768908865,
"narHash": "sha256-KkzYP2+FVo3wIb2oom2BT7RRGmlvTiEaDJApCpTdcWw=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "fbf421df889ceff3bac08a9f4b9493def5eecc4d",
"repo": "hyprland",
"rev": "8f547c6fa089f91e7577947c426f692397e9a5cb",
"type": "github"
},
"original": {
@ -284,11 +284,11 @@
]
},
"locked": {
"lastModified": 1767957561,
"narHash": "sha256-N0kFdc6tSE0yFeQ/Iit3KNrz4nf2K5xvP3juL7SUyhc=",
"lastModified": 1769251059,
"narHash": "sha256-aMCfeMcMKA9UGX2up34iPpzTVGQzbLqyuz77XsCfAtk=",
"owner": "outfoxxed",
"repo": "hy3",
"rev": "3287049e79e9e51431de8c09f9192a18afa1bf35",
"rev": "c9d598a9c8a6cf2c977e711db1c65a335b78f5ba",
"type": "github"
},
"original": {
@ -534,11 +534,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1768127708,
"narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=",
"lastModified": 1769018530,
"narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38",
"rev": "88d3861acdd3d2f0e361767018218e51810df8a1",
"type": "github"
},
"original": {
@ -555,11 +555,11 @@
]
},
"locked": {
"lastModified": 1768203973,
"narHash": "sha256-bf+HggwDgQRt47maAe9fbv2sH6uwZnzVy4tTb2nonP8=",
"lastModified": 1769243040,
"narHash": "sha256-nl50Pd82SvwSnhMIjFjEkn7bq/SeP7Fuq1lxbn1/WdU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "7a7b3e1d25b93474d988915412e69c6f2401a0b7",
"rev": "4b6d299c772e8bfcd4db8b60f02851766c609e10",
"type": "github"
},
"original": {
@ -591,6 +591,26 @@
"type": "github"
}
},
"qtengine": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1769015610,
"narHash": "sha256-Uvrb9lpTW77sJvsgO7o2U/BmSAbD8IDdUr9bGmIKtt8=",
"owner": "kosslan",
"repo": "qtengine",
"rev": "10d61da0369c123d8bde94ffc6b60441e5e7c2f3",
"type": "github"
},
"original": {
"owner": "kosslan",
"repo": "qtengine",
"type": "github"
}
},
"quickshell": {
"inputs": {
"nixpkgs": [
@ -598,11 +618,11 @@
]
},
"locked": {
"lastModified": 1768204289,
"narHash": "sha256-aXPr9W8AEmPz9+dH8CHIwrppKIjtS3mHyOXR2ppH/aw=",
"lastModified": 1768985439,
"narHash": "sha256-qkU4r+l+UPz4dutMMRZSin64HuVZkEv9iFpu9yMWVY0=",
"ref": "refs/heads/master",
"rev": "db37dc580afc9db1bc598436649c650138b6166d",
"revCount": 723,
"rev": "191085a8821b35680bba16ce5411fc9dbe912237",
"revCount": 731,
"type": "git",
"url": "https://git.outfoxxed.me/quickshell/quickshell"
},
@ -624,6 +644,7 @@
"nix-qml-support": "nix-qml-support",
"nixpkgs": "nixpkgs",
"nur": "nur",
"qtengine": "qtengine",
"quickshell": "quickshell",
"stable": "stable",
"systems": "systems"

View file

@ -48,17 +48,10 @@
inputs.hyprland.follows = "hyprland";
};
/*hyprqt6engine = {
url = "github:hyprwm/hyprqt6engine";
qtengine = {
url = "github:kosslan/qtengine";
inputs.nixpkgs.follows = "nixpkgs";
inputs.hyprutils.follows = "hyprutils";
inputs.hyprlang.follows = "hyprlang";
};*/
/*qt6engine = {
url = "github:kosslan/qt6engine";
inputs.nixpkgs.follows = "nixpkgs";
};*/
};
quickshell = {
url = "git+https://git.outfoxxed.me/quickshell/quickshell";

View file

@ -9,7 +9,7 @@
wrapper = pkgs.callPackage ({ ... }: pkgs.writeShellScriptBin "hyprland" ''
${builtins.readFile ./session.sh}
${config.hyprland-session.prerun}
${lib.getExe exe} $@
${lib.getExe' exe "start-hyprland"} -- $@
'') {};
in {
imports = [ hyprland.nixosModules.default ];
@ -87,6 +87,7 @@ in {
};
};
/*
# Without this the portal blocks on desktop portals not being ready...
systemd.user.services.plasma-xdg-desktop-portal-kde.Service = {
ExecStart = "${pkgs.kdePackages.xdg-desktop-portal-kde}/libexec/xdg-desktop-portal-kde";
@ -96,6 +97,7 @@ in {
"QT_QPA_PLATFORMTHEME="
];
};
*/
};
};
}

View file

@ -23,6 +23,7 @@
git-lfs
vim
android-tools
sshfs
];
services.ntp.enable = true;

View file

@ -1,7 +1,32 @@
{ self, lib, config, pkgs, ... }: {
{ self, lib, config, pkgs, inputs, ... }: {
imports = [ inputs.qtengine.nixosModules.default ];
programs.qtengine = {
enable = true;
config = {
theme = {
colorScheme = "${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors";
iconTheme = "breeze-dark";
style = "breeze";
fontFixed.family = "JetBrainsMono Nerd Font";
fontFixed.size = 12;
font.family = "DejaVu Sans";
font.size = 12;
};
misc = {
singleClickActivate = false;
menusHaveIcons = true;
shortcutsForContextMenus = true;
};
};
};
environment.systemPackages = with pkgs; [
qt6.qtwayland
kdePackages.breeze
kdePackages.breeze.qt5
kdePackages.breeze-icons
qt6.qtsvg # needed to load breeze icons
@ -11,35 +36,15 @@
kdePackages.kirigami.unwrapped
kdePackages.kirigami-addons
kdePackages.sonnet
qt6Packages.qt6ct
];
qt = {
enable = true;
platformTheme = "qt5ct";
platformTheme = null;
};
home-manager.users.${config.main-user} = {
imports = [ ./home.nix ];
};
nixpkgs.overlays = [(final: prev: {
qt6Packages = prev.qt6Packages.overrideScope (qfinal: qprev: {
qt6ct = qprev.qt6ct.overrideAttrs (ctprev: {
src = pkgs.fetchFromGitLab {
domain = "www.opencode.net";
owner = "ilya-fedin";
repo = "qt6ct";
rev = "9d64a13ff6c376380901ef855f3c5e6a1f7afc0d"; # 'kde' branch
sha256 = "vOq5LC5TPRkBfFYzsqyd8wGIzAa6jT7PwWsEj5Dqrqs=";
};
buildInputs = ctprev.buildInputs ++ (with final.kdePackages; [
kconfig
kcolorscheme
kiconthemes
]);
cmakeFlags = [ "-DPLUGINDIR=${placeholder "out"}/lib/qt-6/plugins"];
});
});
})];
}

View file

@ -4,51 +4,11 @@
Inherits=breeze_cursors
'';
xdg.configFile = let
qtctConf = kdecolors: ''
[Appearance]
${if kdecolors then ''
color_scheme_path=${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors
'' else ''
color_scheme_path=${./colors-qt5ct.conf}
''}
custom_palette=true
icon_theme=breeze-dark
standard_dialogs=xdgdesktopportal
style=Breeze
[Fonts]
fixed="JetBrainsMono Nerd Font,12,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium"
general="DejaVu Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=0
cursor_flash_time=1000
dialog_buttons_have_icons=2
double_click_interval=400
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
toolbutton_style=2
underline_shortcut=1
wheel_scroll_lines=3
[Troubleshooting]
force_raster_widgets=0
'';
in {
xdg.configFile = {
# fixes dolphin background colors
"kdeglobals".source = "${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors";
"qt5ct/qt5ct.conf".text = qtctConf false;
"qt6ct/qt6ct.conf".text = qtctConf true;
};
home.packages = [
pkgs.kdePackages.breeze
];
gtk = {
enable = true;
theme = {

View file

@ -125,6 +125,7 @@
kdePackages.filelight kdePackages.kirigami kdePackages.kquickcharts # deps
curl
cantata
feishin
logseq
lxqt.pavucontrol-qt
helvum

View file

@ -18,7 +18,7 @@ PanelWindow {
property real baseWidth: 55
property real leftMargin: root.compactState * 10
width: baseWidth + 15
implicitWidth: baseWidth + 15
exclusiveZone: baseWidth + (isFullscreenWorkspace ? 0 : 15) - margins.left
mask: Region {
@ -42,7 +42,7 @@ PanelWindow {
return Math.max(barRect.anchors.topMargin + height, Math.min(barRect.height + barRect.anchors.topMargin - height, targetY))
}
readonly property bool isFullscreenWorkspace: Hyprland.monitorFor(screen).activeWorkspace.hasFullscreen
readonly property bool isFullscreenWorkspace: Hyprland.monitorFor(screen).activeWorkspace?.hasFullscreen ?? false
property real compactState: isFullscreenWorkspace ? 0 : 1
Behavior on compactState {
NumberAnimation {

View file

@ -101,8 +101,8 @@ Scope {
}
//height: bar.height
width: Math.max(700, tooltipItem.largestAnimWidth) // max due to qtwayland glitches
height: {
implicitWidth: Math.max(700, tooltipItem.largestAnimWidth) // max due to qtwayland glitches
implicitHeight: {
const h = tooltipItem.lowestAnimY - tooltipItem.highestAnimY
//console.log(`seth ${h} ${tooltipItem.highestAnimY} ${tooltipItem.lowestAnimY}; ${tooltipItem.y1} ${tooltipItem.y2}`)
return h

View file

@ -1,5 +1,4 @@
//@ pragma ShellId shell
//@ pragma IgnoreSystemSettings
import Quickshell
import Quickshell.Io