helm/modules/desktop/apps/rofi.nix

70 lines
1.9 KiB
Nix
Raw Normal View History

2020-03-28 22:48:43 -07:00
{ config, options, lib, pkgs, ... }:
2020-03-28 22:48:43 -07:00
with lib;
with lib.my;
let cfg = config.modules.desktop.apps.rofi;
in {
2020-03-28 22:48:43 -07:00
options.modules.desktop.apps.rofi = {
enable = mkBoolOpt false;
2020-03-28 22:48:43 -07:00
};
config = mkIf cfg.enable {
# link recursively so other modules can link files in its folder
# home.xdg.configFile."rofi" = {
# source = <config/rofi>;
# recursive = true;
# };
2020-01-12 15:17:17 -08:00
user.packages = with pkgs; [
(writeScriptBin "rofi" ''
#!${stdenv.shell}
exec ${pkgs.rofi}/bin/rofi -terminal xst -m -1 "$@"
'')
# For rapidly test changes to rofi's stylesheets
# (writeScriptBin "rofi-test" ''
# #!${stdenv.shell}
# themefile=$1
# themename=${my.theme.name}
# shift
# exec rofi \
# -theme ${themesDir}/$themename/rofi/$themefile \
# "$@"
# '')
# Fake rofi dmenu entries
(makeDesktopItem {
name = "rofi-browsermenu";
desktopName = "Open Bookmark in Browser";
icon = "bookmark-new-symbolic";
2021-02-26 10:20:46 -08:00
exec = "$DOTFILES_BIN/rofi/browsermenu";
})
(makeDesktopItem {
name = "rofi-browsermenu-history";
desktopName = "Open Browser History";
icon = "accessories-clock";
2021-02-26 10:20:46 -08:00
exec = "$DOTFILES_BIN/rofi/browsermenu history";
})
(makeDesktopItem {
name = "rofi-filemenu";
desktopName = "Open Directory in Terminal";
icon = "folder";
2021-02-26 10:20:46 -08:00
exec = "$DOTFILES_BIN/rofi/filemenu";
})
(makeDesktopItem {
name = "rofi-filemenu-scratch";
desktopName = "Open Directory in Scratch Terminal";
icon = "folder";
2021-02-26 10:20:46 -08:00
exec = "$DOTFILES_BIN/rofi/filemenu -x";
})
2020-03-28 22:48:43 -07:00
(makeDesktopItem {
name = "lock-display";
desktopName = "Lock screen";
icon = "system-lock-screen";
2021-02-26 10:20:46 -08:00
exec = "$DOTFILES_BIN/zzz";
})
];
};
}