Compare commits
No commits in common. "feature/wlr-which-key" and "main" have entirely different histories.
feature/wl
...
main
@ -4,7 +4,7 @@ mopidy:
|
||||
bandcamp: ENC[AES256_GCM,data:diEx2fbkOR1oUav81jU5bNt/KNmbOaVzLV+G3zBUVXE7nEQpZNqVom0rgNrEVDGzH3u/IaA5eqG5ce9lE0BomeY8Z4MWI1xujhX5KsXdv21aw4UwsNgyLPuWhkN2POUMfCJlvekc/TFfFvJHyysx8aKxeI4dsg==,iv:cxx0cVkjOPG+hMD8JctJHdcICJt7ozpfRBVSCDBo6Ro=,tag:JRjwwvieGaGZJ+k56HWFaw==,type:str]
|
||||
emailPassword: ENC[AES256_GCM,data:LALAvyuNN9bfa8D6ZK1YiFXRfxLOBi9kXA0N0Kr7h18eAI4hWQ==,iv:WtidILFfWCMKylax52JP+X57GfZyYlxJtiwrC6SADik=,tag:NvOrsL3fbmxQZp06GZhUZA==,type:str]
|
||||
ssh:
|
||||
hosts: ENC[AES256_GCM,data:Z+ODSCeKqt2ipgR9ZMV13kHZSZrwr7pY+kXM2Ej2Mc7WrBXoN25T+OWPJ6uf70yBGMID1faaWtbMUCjsp6gjqIVR7UH59yVfuKGDQIw5FSy3bdyvADITjASJMFIfO1xsu8iY0h18PdUBqNNYnt27c+3Bxn5SP0r6OCUC48SkSeCVhxtFIIMR4ZiVHZwQ2pD1GwLjmdUPPSpEJg5vpjFhFKB6Ab8z+qN5GaYMov2NKivMNVTBQUHpgmf58D6MI/AnjUbVsLuOmp0V3lhy8/qX33tgogpVv/RA6gAITVlAf9rGwaF+axZ0iy0T/gF7VJEGX6RUHbVUJoX1j8szDq/P4oqczFubrZdmRIbutG4tEcnYXltMu2NELFP+bl/G4y1gIV2b+s0k+UQJXn4KaiyXbtQXvOJ91+s7iMyTDi4QQd07l7nFqGGgzoKTYVfQK0e5ilEofRQrXwAb+p6Pwkvth8ktONFgD0sQHL75a8lS//8Mzvqopy5Vp0FQJ+OSW89Eeu2wrw9yNP2yuMDX9tvgDuZV4hgvDa9tTxvfGoMDXWARhSBt/F/a4ZkrNV9unjgEXbkrewezn1Jk+XWtAlussbTEXkKG87v2Q0V8zBa8gsB/5g514dIP6+UJdc3GEJzMLkQNcHYn9r3Ou8n+YgXD8zu5OnZXtNZ/x+J6NxH7tudiO5O0XctRwJQibidS2ONUhdkQGBt1JrAysGbNTuXC8Sn391rc11lsH+wIGpZg4zR+rdP4FWs68v/o9WtCJDCejnlyQ1DQ+avLc0aT4xxJZh8uM2iSsfi/TzRr9w0wVe2y3xAxsQMCfvhFcl9agfmAgGZcfVPCU9nc4dIfdGW1kTN7s3Izvy4mYaqd9mv0xxYARf7roJDGWie0VNxXQVt2o1tIQCqAhZ/bbgPG5VDyD15LGDI8BZCFaAOKlXn+beVMt6E1JJPlHa0vOwnbMVVKcUS/d5jA9nnb20Pwz4F3b532/ERmSkVlcZmCKqQOxo0YADb7Cm1fFBj6Eum0+F+jspg9QQmMjPPsb+NbMqnFd5DNDY+e95hr7tUEy4/yxiXiM0cu1w==,iv:I4TtUJdQFOVik5L26XHukxix0FCm/JNi6nVZg5qRMqs=,tag:vnO6DlUW5XnougyiJzwNdg==,type:str]
|
||||
hosts: ENC[AES256_GCM,data:j7+Ua5G8dePL5GO+Tf8+hnoJsSfKo2z4I0OcVfSyJ3dc6yyYZVho8iG9bqPAqVR5d7SJr391zCLMJp/jRDpDFLkzQB54udVKI8ob0C2w2xBznPZJsC7qZMptQ+n4IHO1ZROSi/vBadCUfEWKNO9e8gsroBYmliy/31M5IlA85Vx6q4Zx0qIFylfIhBDto3jD2DRcbjWP8NvjJcY7YLrN2sv8RR7QqX1q+0ZxpgFhg+W+a5Dz8JBVsPEdjNJqFAKAmUGKXf4bpEIS5lLUxxZweizEiWgo4nYJgA0kqVYEOiErOPgtpnBKiJlR+fLGuVwdGxVOUMvttZtyIgHc4CWgOJ0h67h4eVii+zeLn0GPJl3i2g5bjOArHKLfkKGduqii4n/1p9VvVTAOn5dj0/NtD2JNJF9kUDr1nMyMa1xA35gzv1vp/U55L6ZU/BRpBPzka6i8nGnCkDVdoUG0DKhN9ooXRpUS9L+W1iz480fzb6i/tfmlhx7Ms1T9VybYFkGLNkxnsrt5Oc24o0XD5/A1j8bJgNWo6aWSA748ZWtN0mXDzB5sH4TVtaZAGlyU9r/x5oCuWPN2qhZ8d2i7g5rceZW5ang/uyXNt8Le5cKvLw3Rhf4BTFhQ6+VJ4/SpdfnLZ17djjbwZO1DT5Nb0RUObcilcwbmUwqvmLbcrdmsfQMOcetRwFpIdoX6MjkRiC1WZ4cz8bMU7ArnK/n15dsIdaiiUfuOJAiBYut1PaJBoZDe8pXzOE6U1s57sejUf1T7NHp2epyevCAYuVG71dAFLn1oLM+FWXuBm6ogFLujoFh7XCVVqdf6j348/ekzBxDIemzS4G1+zflG3AteLWcslGVTNmx0rb3GlSHGNVNZoeHvYAHIIEyWpY4Yd01R8RhjrFXQo9comnpoQXSlFDvuUGTxuUpsariAof4wKLdpqj8Dc4ZaDvd1pAGVh7RBqR4rn4kClbWUVcSFy7QWs9T5Sw0fU/bLL76N6x9Y44P5NQLAJvZ0z8rhIPl0u8OwIhhEwkhWdFLSulk/N7+DVqrRpj7bB5hB8jZWspsl44IdiZWY3UPs7zs=,iv:3q4FYxDWPGyMqeKoSTRxSPvqZXzwg/NeHZh70d38HYM=,tag:jA8/5yi74/mOuu/b83WEeg==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1ajemtm502nn2n4q7v4j8meyd5mxtcqngkkedxq2pqzuwu78zp93qnw8q48
|
||||
@ -61,7 +61,7 @@ sops:
|
||||
QmJKNDJUY0RSakhwNWlkOVpib0trc1kK0tQxD9I82pjfs54eruu+IjzVUmcVBCPw
|
||||
9mp1xKiYRRMXt3YQn6MPiyuuX3l3UB5MH0RJMNtRq0D961rs+iiS5A==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-11-02T16:19:20Z"
|
||||
mac: ENC[AES256_GCM,data:2UFvzqhsR9OecqRX/n2O5wJ1fcdhetNE37Vj56rL6tRxT42uU8SKy7hxROS0LcrwKs59Km7P1oO/mYW6eyuLAZ7R5MAm18R5UYIYpKV8oevNUYMl0bsJkMnzl+nxz2i0ceg38rsioS9frK9a29hbJiV6Vr9yubHNdtZF4YqRmH0=,iv:Cx2nN4Gm0L+aWi6jbLuSuzhhzD8W5PzCLmJajyb/oEo=,tag:6wM1m8LB+7Rd/F9h62C4gg==,type:str]
|
||||
lastmodified: "2025-08-07T09:16:46Z"
|
||||
mac: ENC[AES256_GCM,data:3PIJps2hoavPJ6ig+943FE73lBhCfxv8vuzmgTtooH386V12/PQN+Opt/ZoIbXU9w21XelZ/C5xPr8rcuw5ADx9K/KjdMm8jyLCO6/+iBf6SjnbC3E0DyiDit50UtWxKc32ryiJ8m5hYfX6O2H8WIGFa+6wp5KISV9pkc09CNZA=,iv:xzwEhhBJQOlde8Ib+tZpv+2CHfR83dFevdwERkYTsTE=,tag:SzdcZH19kSTnNs16754IMw==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.11.0
|
||||
version: 3.10.2
|
||||
|
||||
@ -16,7 +16,6 @@ in {
|
||||
./rofi
|
||||
./swaync.nix
|
||||
./waybar.nix
|
||||
./wlr-which.nix
|
||||
./wlsunset.nix
|
||||
];
|
||||
|
||||
@ -29,6 +28,5 @@ in {
|
||||
obs.enable = mkDefault cfg.fullDesktop;
|
||||
qt.enable = mkDefault cfg.fullDesktop;
|
||||
rofi.enable = mkDefault cfg.fullDesktop;
|
||||
wlr-which-key.enable = mkDefault cfg.fullDesktop;
|
||||
};
|
||||
}
|
||||
|
||||
@ -117,8 +117,8 @@ in {
|
||||
$menu = rofi -combi-modi drun,calc -show combi
|
||||
|
||||
bind = SUPER, Return, exec, ${pkgs.kitty}/bin/kitty ${pkgs.tmux}/bin/tmux
|
||||
bind = SUPER, Space, exec, ${pkgs.wlr-which-key}/bin/wlr-which-key
|
||||
bind = , Print, exec, ${pkgs.wlr-which-key}/bin/wlr-which-key -k s
|
||||
bind = SUPER, Space, submap, leader
|
||||
bind = , Print, submap, screenshot
|
||||
|
||||
submap = leader
|
||||
bind = , l, exec, plock
|
||||
@ -147,13 +147,11 @@ in {
|
||||
bind = , u, submap, reset
|
||||
bind = , escape, submap, reset
|
||||
bind = CTRL, g, submap, reset
|
||||
|
||||
submap = buffers
|
||||
bind = , d, killactive,
|
||||
bind = , d, submap, reset
|
||||
bind = , escape, submap, reset
|
||||
bind = CTRL, g, submap, reset
|
||||
|
||||
submap = resize
|
||||
binde = , $left, resizeactive, -10 0
|
||||
binde = , $right, resizeactive, 10 0
|
||||
@ -162,7 +160,6 @@ in {
|
||||
bind = , q, submap, reset
|
||||
bind = , escape, submap, reset
|
||||
bind = CTRL, g, submap, reset
|
||||
|
||||
submap = rofi
|
||||
bind = , b, exec, rofi-bluetooth
|
||||
bind = , b, submap, reset
|
||||
@ -176,7 +173,6 @@ in {
|
||||
bind = , y, submap, reset
|
||||
bind = , escape, submap, reset
|
||||
bind = CTRL, g, submap, reset
|
||||
|
||||
submap = screenshot
|
||||
bind = , Print, exec, screenshot
|
||||
bind = , Print, submap, reset
|
||||
@ -192,7 +188,6 @@ in {
|
||||
bind = Shift, s, submap, reset
|
||||
bind = , escape, submap, reset
|
||||
bind = CTRL, g, submap, reset
|
||||
|
||||
submap = windows
|
||||
bind = , period, submap, resize
|
||||
bind = , $left, movefocus, l
|
||||
|
||||
@ -1,190 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit
|
||||
(lib)
|
||||
literalExpression
|
||||
mkIf
|
||||
mkOption
|
||||
mkEnableOption
|
||||
types
|
||||
;
|
||||
cfg = config.home.desktop.wlr-which-key;
|
||||
yamlFormat = pkgs.formats.yaml {};
|
||||
|
||||
# Convert kebab-case to snake_case
|
||||
toSnakeCase = str: builtins.replaceStrings ["-"] ["_"] str;
|
||||
|
||||
# Recursively filter out null values and convert kebab-case keys to snake_case
|
||||
filterNulls = value:
|
||||
if lib.isAttrs value
|
||||
then lib.mapAttrs' (n: v: lib.nameValuePair (toSnakeCase n) (filterNulls v)) (lib.filterAttrs (n: v: v != null) value)
|
||||
else if lib.isList value
|
||||
then map filterNulls value
|
||||
else value;
|
||||
menuEntryType = types.submodule {
|
||||
freeformType = yamlFormat.type;
|
||||
options = with types; {
|
||||
key = mkOption {
|
||||
type = str;
|
||||
example = "p";
|
||||
};
|
||||
desc = mkOption {
|
||||
type = str;
|
||||
example = "Power";
|
||||
};
|
||||
cmd = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
example = "echo example";
|
||||
};
|
||||
keep-open = mkOption {
|
||||
type = nullOr bool;
|
||||
default = null;
|
||||
example = true;
|
||||
};
|
||||
submenu = mkOption {
|
||||
type = nullOr (listOf menuEntryType);
|
||||
default = null;
|
||||
example = literalExpression ''
|
||||
[
|
||||
{ key = "s"; desc = "Suspend"; cmd = "systemctl suspend"; }
|
||||
{ key = "r"; desc = "Reboot"; cmd = "systemctl reboot"; }
|
||||
{ key = "o"; desc = "Poweroff"; cmd = "systemctl poweroff"; }
|
||||
]
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
settingsType = types.submodule {
|
||||
freeformType = yamlFormat.type;
|
||||
options = with types; {
|
||||
background = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
example = "#282828FF";
|
||||
};
|
||||
color = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
example = "#FBF1C7FF";
|
||||
};
|
||||
border = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
example = "#8EC07CFF";
|
||||
};
|
||||
anchor = mkOption {
|
||||
type = nullOr (enum ["center" "top" "bottom" "left" "right" "top-left" "top-right" "bottom-left" "bottom-right"]);
|
||||
default = null;
|
||||
example = "top-left";
|
||||
};
|
||||
margin-top = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
example = "0";
|
||||
};
|
||||
margin-right = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
example = "0";
|
||||
};
|
||||
margin-bottom = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
example = "0";
|
||||
};
|
||||
margin-left = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
example = "0";
|
||||
};
|
||||
font = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
example = "monospace 10";
|
||||
};
|
||||
separator = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
example = " ➜ ";
|
||||
};
|
||||
border-width = mkOption {
|
||||
type = nullOr (either float int);
|
||||
default = null;
|
||||
example = 4.0;
|
||||
};
|
||||
corder-r = mkOption {
|
||||
type = nullOr (either float int);
|
||||
default = null;
|
||||
example = 20.0;
|
||||
};
|
||||
padding = mkOption {
|
||||
type = nullOr (either float int);
|
||||
default = null;
|
||||
example = 15.0;
|
||||
};
|
||||
rows-per-column = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
example = 5;
|
||||
};
|
||||
column-padding = mkOption {
|
||||
type = nullOr (either float int);
|
||||
default = null;
|
||||
example = 25.0;
|
||||
};
|
||||
inhibit-compositor-keyboard-shortcuts = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
example = false;
|
||||
};
|
||||
auto_kbd_layout = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
example = false;
|
||||
};
|
||||
namespace = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
example = "wlr_which_key";
|
||||
};
|
||||
menu = mkOption {
|
||||
type = listOf menuEntryType;
|
||||
default = [];
|
||||
example = literalExpression ''
|
||||
[
|
||||
{
|
||||
key = "p";
|
||||
desc = "Power";
|
||||
submenu = [
|
||||
{ key = "s"; desc = "Suspend"; cmd = "systemctl suspend"; }
|
||||
{ key = "r"; desc = "Reboot"; cmd = "systemctl reboot"; }
|
||||
{ key = "o"; desc = "Poweroff"; cmd = "systemctl poweroff"; }
|
||||
];
|
||||
}
|
||||
]
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
in {
|
||||
options.home.desktop.wlr-which-key = {
|
||||
enable = mkEnableOption "Enables wlr-which-key";
|
||||
package = lib.mkPackageOption pkgs "wlr-which-key" {};
|
||||
settings = mkOption {
|
||||
type = settingsType;
|
||||
default = {};
|
||||
description = "Configuration written to {file}`$XDG_CONFIG_HOME/wlr-which-key/config.yaml`.";
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [cfg.package];
|
||||
xdg.configFile = {
|
||||
"wlr-which-key/config.yaml".source = yamlFormat.generate "wlr-which-key-config.yml" (filterNulls cfg.settings);
|
||||
};
|
||||
};
|
||||
}
|
||||
@ -10,6 +10,31 @@ with lib; let
|
||||
with epkgs; [
|
||||
mu4e
|
||||
pdf-tools
|
||||
tree-sitter
|
||||
tree-sitter-langs
|
||||
(treesit-grammars.with-grammars (grammar:
|
||||
with grammar; [
|
||||
tree-sitter-bash
|
||||
tree-sitter-c
|
||||
tree-sitter-cpp
|
||||
tree-sitter-css
|
||||
tree-sitter-dockerfile
|
||||
tree-sitter-http
|
||||
tree-sitter-javascript
|
||||
tree-sitter-jsdoc
|
||||
tree-sitter-json
|
||||
tree-sitter-just
|
||||
tree-sitter-markdown
|
||||
tree-sitter-markdown-inline
|
||||
tree-sitter-nix
|
||||
tree-sitter-rust
|
||||
tree-sitter-sql
|
||||
tree-sitter-toml
|
||||
tree-sitter-typescript
|
||||
tree-sitter-typst
|
||||
tree-sitter-vue
|
||||
tree-sitter-yaml
|
||||
]))
|
||||
]
|
||||
));
|
||||
cfg = config.home.dev.editors.emacs;
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
@ -12,36 +11,10 @@
|
||||
];
|
||||
|
||||
config = let
|
||||
emacsPackage = with pkgs; ((emacsPackagesFor emacs).emacsWithPackages (
|
||||
epkgs:
|
||||
with epkgs; [
|
||||
mu4e
|
||||
pdf-tools
|
||||
tree-sitter
|
||||
tree-sitter-langs
|
||||
(treesit-grammars.with-grammars (grammar:
|
||||
with grammar; [
|
||||
tree-sitter-bash
|
||||
tree-sitter-c
|
||||
tree-sitter-cpp
|
||||
tree-sitter-css
|
||||
tree-sitter-dockerfile
|
||||
tree-sitter-http
|
||||
tree-sitter-javascript
|
||||
tree-sitter-jsdoc
|
||||
tree-sitter-json
|
||||
tree-sitter-just
|
||||
tree-sitter-markdown
|
||||
tree-sitter-markdown-inline
|
||||
tree-sitter-nix
|
||||
tree-sitter-rust
|
||||
tree-sitter-sql
|
||||
tree-sitter-toml
|
||||
tree-sitter-typescript
|
||||
tree-sitter-typst
|
||||
tree-sitter-vue
|
||||
tree-sitter-yaml
|
||||
]))
|
||||
emacsPkg = with pkgs; ((emacsPackagesFor emacs).emacsWithPackages (
|
||||
epkgs: [
|
||||
epkgs.mu4e
|
||||
epkgs.pdf-tools
|
||||
]
|
||||
));
|
||||
askpass = import ../modules/cli/scripts/askpass.nix {inherit pkgs;};
|
||||
@ -57,101 +30,14 @@
|
||||
|
||||
home = {
|
||||
sessionVariables = {
|
||||
EDITOR = "${emacsPackage}/bin/emacsclient -c -a ${emacsPackage}/bin/emacs";
|
||||
EDITOR = "${emacsPkg}/bin/emacsclient -c -a ${emacsPkg}/bin/emacs";
|
||||
LAUNCH_EDITOR = "${launchWithEmacsclient}/bin/launch-with-emacsclient";
|
||||
SUDO_ASKPASS = "${askpass}/bin/askpass";
|
||||
LSP_USE_PLISTS = "true";
|
||||
};
|
||||
|
||||
desktop = {
|
||||
waybar.style = ./config/waybar/style.css;
|
||||
wlr-which-key.settings = {
|
||||
font = "Cascadia Code 12";
|
||||
background = "#3b4252d0";
|
||||
color = "#eceff4";
|
||||
border = "#2e3440";
|
||||
border_width = 2;
|
||||
corner_r = 10;
|
||||
rows_per_column = 5;
|
||||
column_padding = 25;
|
||||
inhibit_compositor_keyboard_shortcuts = true;
|
||||
auto_kbd_layout = true;
|
||||
menu = let
|
||||
left = "c";
|
||||
down = "t";
|
||||
up = "s";
|
||||
right = "r";
|
||||
in [
|
||||
{
|
||||
key = "a";
|
||||
desc = "Apps";
|
||||
submenu = [
|
||||
{ key = "b"; desc = "Browser"; cmd = "zen"; }
|
||||
{ key = "B"; desc = "Qutebrowser"; cmd = "${pkgs.qutebrowser}/bin/qutebrowser"; }
|
||||
{ key = "d"; desc = "Discord"; cmd = "${pkgs.vesktop}/bin/vesktop"; }
|
||||
{ key = "e"; desc = "Emacs"; cmd = "${emacsPackage}/bin/emacsclient -c -n"; }
|
||||
{ key = "g"; desc = "Gimp"; cmd = "${pkgs.gimp}/bin/gimp"; }
|
||||
{ key = "n"; desc = "Nemo"; cmd = "${pkgs.nemo}/bin/nemo"; }
|
||||
{
|
||||
key = "r";
|
||||
desc = "Rofi";
|
||||
submenu = [
|
||||
{ key = "b"; desc = "Bluetooth"; cmd = "rofi-bluetooth"; }
|
||||
{ key = "e"; desc = "Emoji"; cmd = "rofi -show emoji"; }
|
||||
{ key = "r"; desc = "App Menu"; cmd = "rofi -combi-modi drun,calc -show combi"; }
|
||||
{ key = "s"; desc = "SSH"; cmd = "rofi -show ssh"; }
|
||||
{ key = "y"; desc = "YouTube"; cmd = "ytplay"; }
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
key = "b";
|
||||
desc = "Buffers";
|
||||
submenu = [
|
||||
{ key = "d"; desc = "Close"; cmd = "echo close"; }
|
||||
{ key = "f"; desc = "Fullscreen"; cmd = "echo fullscreen"; }
|
||||
{ key = "F"; desc = "Float"; cmd = "echo float"; }
|
||||
{
|
||||
key = ".";
|
||||
desc = "Resize";
|
||||
submenu = [
|
||||
{ key = left; desc = "Decrease Width"; cmd = "echo decrease width"; keep-open = true; }
|
||||
{ key = down; desc = "Increase Height"; cmd = "echo decrease height"; keep-open = true; }
|
||||
{ key = up; desc = "Decrease Height"; cmd = "echo decrease height"; keep-open = true; }
|
||||
{ key = right; desc = "Increase Width"; cmd = "echo increase width"; keep-open = true; }
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
key = "p";
|
||||
desc = "Power";
|
||||
submenu = [
|
||||
{ key = "s"; desc = "Suspend"; cmd = "systemctl suspend"; }
|
||||
{ key = "r"; desc = "Reboot"; cmd = "systemctl reboot"; }
|
||||
{ key = "o"; desc = "Poweroff"; cmd = "systemctl poweroff"; }
|
||||
];
|
||||
}
|
||||
{
|
||||
key = "s";
|
||||
desc = "Screenshots";
|
||||
submenu = [
|
||||
{ key = "Print"; desc = "Screenshot"; cmd = "screenshot"; }
|
||||
{ key = "d"; desc = "Delayed"; cmd = "screenshot -d 3"; }
|
||||
{ key = "D"; desc = "Select, Delay, Edit, and Copy"; cmd = "screenshot -secd 3"; }
|
||||
{ key = "e"; desc = "Select, Edit, and Copy"; cmd = "screenshot -sec"; }
|
||||
{ key = "g"; desc = "Select, Gimp, and Copy"; cmd = "screenshot -sgc"; }
|
||||
{ key = "s"; desc = "Select and Copy"; cmd = "screenshot -sc"; }
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
dev = {
|
||||
ai.claude.enable = true;
|
||||
editors.emacs.package = emacsPackage;
|
||||
};
|
||||
desktop.waybar.style = ./config/waybar/style.css;
|
||||
dev.ai.claude.enable = true;
|
||||
fullDesktop = true;
|
||||
shell.fish.enable = true;
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user