57 lines
1.4 KiB
Nix
57 lines
1.4 KiB
Nix
{
|
|
username ? throw "username argument is required",
|
|
}:
|
|
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
userConfig = config.users.users.${username};
|
|
hmConfig = config.home-manager.users.${username};
|
|
in
|
|
{
|
|
nixpkgs.overlays = [
|
|
(final: prev: {
|
|
qalculate-gtk = prev.qalculate-gtk.overrideAttrs (oldAttrs: {
|
|
patches = oldAttrs.patches or [ ] ++ [ ./skip-save-prefs.patch ];
|
|
});
|
|
})
|
|
];
|
|
|
|
home-manager.users.${username} = {
|
|
home = {
|
|
packages = with pkgs; [ qalculate-gtk ];
|
|
persistence."/cache${userConfig.home}".files = [
|
|
"${hmConfig.xdg.relativeConfigHome}/qalculate/qalculate-gtk.history"
|
|
];
|
|
};
|
|
|
|
xdg.configFile."qalculate/qalculate-gtk.cfg".source =
|
|
(pkgs.formats.ini { }).generate "qalculate-gtk.cfg"
|
|
{
|
|
General = {
|
|
allow_multiple_instances = 1;
|
|
width = 500;
|
|
save_history_separately = 1;
|
|
auto_update_exchange_rates = 1;
|
|
local_currency_conversion = 1;
|
|
use_binary_prefixes = 1;
|
|
persistent_keypad = 1;
|
|
copy_ascii = 1;
|
|
copy_ascii_without_units = 1;
|
|
};
|
|
Mode = {
|
|
calculate_as_you_type = 1;
|
|
excessive_parenthesis = 1;
|
|
};
|
|
};
|
|
|
|
wayland.windowManager.hyprland.settings = {
|
|
bind = [ ", XF86Calculator, exec, ${lib.meta.getExe pkgs.qalculate-gtk}" ];
|
|
windowrulev2 = [ "float, class:(qalculate-gtk)" ];
|
|
};
|
|
};
|
|
}
|