mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 03:26:17 +00:00
improvements
This commit is contained in:
54
modules/nixos/shell/walker.nix
Normal file
54
modules/nixos/shell/walker.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.shell.components.walker;
|
||||
hmConfig = config.home-manager.users.${username};
|
||||
in
|
||||
{
|
||||
options.shell.components.walker = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "Enable a pre-configured walker setup");
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home-manager.users.${username} = {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
bindr = [ "SUPER,SUPER_L,exec,uwsm app -- ${lib.getExe pkgs.walker}" ];
|
||||
layerrule = [
|
||||
# TODO: Add layer rules for walker
|
||||
"blur, anyrun"
|
||||
"ignorealpha 0.3, anyrun"
|
||||
];
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
walker
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
xdg.configFile."walker/config.toml".source = (pkgs.formats.toml { }).generate "walker-config.toml" {
|
||||
app_launch_prefix = "uwsm app -- ";
|
||||
close_when_open = true;
|
||||
force_keyboard_focus = true;
|
||||
};
|
||||
systemd.user.services.walker = {
|
||||
Unit = {
|
||||
Description = "Walker - Application Runner";
|
||||
X-Restart-Triggers = [
|
||||
"${hmConfig.xdg.configFile."walker/config.toml".source}"
|
||||
];
|
||||
After = [ "graphical-session.target" ];
|
||||
};
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
Service = {
|
||||
ExecStart = "${lib.getExe pkgs.walker} --gapplication-service";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user