Assorted ezpcusr fixes
This commit is contained in:
parent
5d1544dad7
commit
63137c2f6f
10
flake.nix
10
flake.nix
@ -3,7 +3,7 @@
|
|||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
base16-rofi = {
|
base16-rofi = {
|
||||||
url = "github:0xdec/base16-rofi";
|
url = "github:tinted-theming/base16-rofi";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
base16-kitty = {
|
base16-kitty = {
|
||||||
@ -57,6 +57,14 @@
|
|||||||
plasma-manager = {
|
plasma-manager = {
|
||||||
url = "github:pjones/plasma-manager";
|
url = "github:pjones/plasma-manager";
|
||||||
};
|
};
|
||||||
|
bemoji = {
|
||||||
|
url = "github:marty-oehme/bemoji";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
bwmenu = {
|
||||||
|
url = "github:mattydebie/bitwarden-rofi";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -318,7 +318,46 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Rofi
|
# Rofi
|
||||||
programs.rofi.theme = "${genTheme inputs.base16-rofi}";
|
# programs.rofi.theme = "${genTheme inputs.base16-rofi}";
|
||||||
|
programs.rofi.theme = "${pkgs.writeText "theme.rasi" ''
|
||||||
|
${builtins.readFile (mustache scheme "${inputs.base16-rofi}/templates/colors.mustache")}
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
border-color: @border-color;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
anchor: north;
|
||||||
|
location: north;
|
||||||
|
width: 100%;
|
||||||
|
padding: 4px;
|
||||||
|
children: [ horibox ];
|
||||||
|
}
|
||||||
|
|
||||||
|
#horibox {
|
||||||
|
orientation: horizontal;
|
||||||
|
children: [ prompt, entry, listview ];
|
||||||
|
}
|
||||||
|
|
||||||
|
#listview {
|
||||||
|
layout: horizontal;
|
||||||
|
spacing: 5px;
|
||||||
|
lines: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
expand: false;
|
||||||
|
width: 10em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#element {
|
||||||
|
padding: 0px 2px;
|
||||||
|
}
|
||||||
|
#element selected {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
}
|
||||||
|
''}";
|
||||||
|
|
||||||
# Kitty
|
# Kitty
|
||||||
programs.kitty.extraConfig = ''
|
programs.kitty.extraConfig = ''
|
||||||
|
@ -7,7 +7,9 @@ inputs: {
|
|||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.ezpcusr;
|
cfg = config.ezpcusr;
|
||||||
|
|
||||||
lockCommand = "${pkgs.swaylock-effects}/bin/swaylock --clock --indicator --screenshots --effect-scale 0.8 --effect-blur 8x3 --effect-vignette 0.2:0.5 --fade-in 0.5 --text-color ${config.ezcolors.base16.base08} --inside-color ${config.ezcolors.base16.base00} --ring-color ${config.ezcolors.base16.base01} --datestr \"%Y-%m-%e\" --timestr \"%I:%M %p\"";
|
lockCommand = pkgs.writeScript "lock.sh" ''
|
||||||
|
${pkgs.swaylock-effects}/bin/swaylock -f --clock --indicator --screenshots --effect-scale 0.8 --effect-blur 8x3 --effect-vignette 0.2:0.5 --fade-in 0.5 --text-color ${config.ezcolors.base16.base08} --inside-color ${config.ezcolors.base16.base00} --ring-color ${config.ezcolors.base16.base01} --datestr "%Y-%m-%e" --timestr "%I:%M %p"
|
||||||
|
'';
|
||||||
|
|
||||||
selshot = pkgs.writeScript "selshot.sh" ''
|
selshot = pkgs.writeScript "selshot.sh" ''
|
||||||
#!${pkgs.zsh}/bin/zsh
|
#!${pkgs.zsh}/bin/zsh
|
||||||
@ -175,6 +177,27 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.swayidle = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
events = [
|
||||||
|
{ event = "before-sleep"; command = "${lockCommand}"; }
|
||||||
|
{ event = "lock"; command = "${lockCommand}"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
timeouts = [
|
||||||
|
{
|
||||||
|
timeout = cfg.screensaver.lockTime;
|
||||||
|
command = "${lockCommand}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = cfg.screensaver.offTime;
|
||||||
|
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
|
||||||
|
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
|
|
||||||
@ -182,11 +205,8 @@ in {
|
|||||||
wrapperFeatures.gtk = lib.mkDefault true;
|
wrapperFeatures.gtk = lib.mkDefault true;
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
exec ${pkgs.swayidle}/bin/swayidle -w \
|
exec keyctl link @u @s
|
||||||
timeout ${toString cfg.screensaver.lockTime} '${lockCommand}' \
|
workspace 1
|
||||||
timeout ${toString cfg.screensaver.offTime} '${pkgs.sway}/bin/swaymsg "output * dpms off"' \
|
|
||||||
resume '${pkgs.sway}/bin/swaymsg "output * dpms on"' \
|
|
||||||
before-sleep '${lockCommand}'
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
@ -195,42 +215,9 @@ in {
|
|||||||
modifier = lib.mkDefault "Mod4";
|
modifier = lib.mkDefault "Mod4";
|
||||||
|
|
||||||
keybindings = let
|
keybindings = let
|
||||||
# ugly stupid way of doing things but im lazy
|
|
||||||
bwRofi = pkgs.writeScript "bw-rofi" ''
|
|
||||||
#!${pkgs.bash}/bin/bash
|
|
||||||
LIST=$(${pkgs.bitwarden-cli}/bin/bw list items)
|
|
||||||
USERLIST=$(echo "$LIST" | ${pkgs.jq}/bin/jq -r '.[] | "\(.name) - \(.login.username)"')
|
|
||||||
|
|
||||||
CHOSEN=$(echo "$USERLIST" | ${pkgs.rofi}/bin/rofi -dmenu -i)
|
|
||||||
NUMBER=$(echo "$USERLIST" | grep -n "^$CHOSEN$" | cut -d':' -f1)
|
|
||||||
NTH=$(expr $NUMBER - 1)
|
|
||||||
|
|
||||||
echo "$LIST" | ${pkgs.jq}/bin/jq -j -r ".[$NTH].login.password" | ${pkgs.wl-clipboard}/bin/wl-copy
|
|
||||||
'';
|
|
||||||
|
|
||||||
# very ugly stupid way of doing things but im still lazy
|
|
||||||
bwRofiOtp = pkgs.writeScript "bw-rofi-otp" ''
|
|
||||||
#!${pkgs.bash}/bin/bash
|
|
||||||
LIST=$(${pkgs.bitwarden-cli}/bin/bw list items)
|
|
||||||
USERLIST=$(echo "$LIST" | ${pkgs.jq}/bin/jq -r '.[] | "\(.name) - \(.login.username)"')
|
|
||||||
|
|
||||||
CHOSEN=$(echo "$USERLIST" | ${pkgs.rofi}/bin/rofi -dmenu -i)
|
|
||||||
NUMBER=$(echo "$USERLIST" | grep -n "^$CHOSEN$" | cut -d':' -f1)
|
|
||||||
NTH=$(expr $NUMBER - 1)
|
|
||||||
|
|
||||||
ID=$(echo "$LIST" | ${pkgs.jq}/bin/jq -j -r ".[$NTH].id")
|
|
||||||
|
|
||||||
${pkgs.bitwarden-cli}/bin/bw get totp $ID | ${pkgs.wl-clipboard}/bin/wl-copy
|
|
||||||
'';
|
|
||||||
|
|
||||||
emojiRofi = pkgs.writeScript "rofi-emoji" ''
|
|
||||||
line=$(${pkgs.coreutils}/bin/cat ${toString ../data/emojis.txt} | ${pkgs.rofi}/bin/rofi -dmenu -i)
|
|
||||||
${pkgs.coreutils}/bin/echo ''${line::1} | ${pkgs.wl-clipboard}/bin/wl-copy
|
|
||||||
'';
|
|
||||||
|
|
||||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
|
||||||
alphabet = ["Ctrl" "Alt" "Ctrl+Alt"];
|
alphabet = ["Ctrl" "Alt" "Ctrl+Alt" ];
|
||||||
genKeyAttrs = move:
|
genKeyAttrs = move:
|
||||||
lib.listToAttrs (
|
lib.listToAttrs (
|
||||||
map
|
map
|
||||||
@ -245,20 +232,18 @@ in {
|
|||||||
if move
|
if move
|
||||||
then "move container to "
|
then "move container to "
|
||||||
else ""
|
else ""
|
||||||
}workspace ${toString n}";
|
}workspace number ${toString n}";
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
(lib.lists.range 11 (10 * (builtins.length alphabet) + 10))
|
(lib.lists.range 11 (10 * (builtins.length alphabet) + 10))
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
lib.mkOptionDefault (
|
lib.mkOptionDefault (
|
||||||
genKeyAttrs true
|
|
||||||
// genKeyAttrs false
|
|
||||||
// (
|
|
||||||
let
|
let
|
||||||
volumeUp = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
volumeUp = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||||
volumeDown = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
volumeDown = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
"${modifier}+q" = "kill";
|
"${modifier}+q" = "kill";
|
||||||
|
|
||||||
"Print" = "exec ${scrsaveclip}";
|
"Print" = "exec ${scrsaveclip}";
|
||||||
@ -309,7 +294,7 @@ in {
|
|||||||
ripMusicAdvanced = pkgs.writeShellScript "rip-music-advanced.sh" ''
|
ripMusicAdvanced = pkgs.writeShellScript "rip-music-advanced.sh" ''
|
||||||
CURRENT=$(${pkgs.mpc_cli}/bin/mpc -f '%file%' current)
|
CURRENT=$(${pkgs.mpc_cli}/bin/mpc -f '%file%' current)
|
||||||
URLIFIED=$(${pkgs.gnused}/bin/sed 's/youtube:video:/https:\/\/youtube.com\/watch?v=/'<<<$CURRENT)
|
URLIFIED=$(${pkgs.gnused}/bin/sed 's/youtube:video:/https:\/\/youtube.com\/watch?v=/'<<<$CURRENT)
|
||||||
PARAMS=$(${pkgs.rofi}/bin/rofi -dmenu)
|
PARAMS=$(${config.programs.rofi.package}/bin/rofi -dmenu)
|
||||||
echo y | ${inputs.mudl.defaultPackage.${pkgs.system}}/bin/mudl "$URLIFIED" "$PARAMS"
|
echo y | ${inputs.mudl.defaultPackage.${pkgs.system}}/bin/mudl "$URLIFIED" "$PARAMS"
|
||||||
'';
|
'';
|
||||||
in "exec ${ripMusicAdvanced}";
|
in "exec ${ripMusicAdvanced}";
|
||||||
@ -322,7 +307,7 @@ in {
|
|||||||
|
|
||||||
if echo "$DL_OUT" | ${pkgs.gnugrep}/bin/grep -qE 'Album: $'; then
|
if echo "$DL_OUT" | ${pkgs.gnugrep}/bin/grep -qE 'Album: $'; then
|
||||||
${pkgs.libnotify}/bin/notify-send mudl 'Album name required'
|
${pkgs.libnotify}/bin/notify-send mudl 'Album name required'
|
||||||
ALBUM=$(${pkgs.rofi}/bin/rofi -dmenu)
|
ALBUM=$(${config.programs.rofi.package}/bin/rofi -dmenu)
|
||||||
echo y | ${inputs.mudl.defaultPackage.${pkgs.system}}/bin/mudl "$URLIFIED" "$ALBUM"
|
echo y | ${inputs.mudl.defaultPackage.${pkgs.system}}/bin/mudl "$URLIFIED" "$ALBUM"
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
@ -330,7 +315,7 @@ in {
|
|||||||
|
|
||||||
"${modifier}+m" = let
|
"${modifier}+m" = let
|
||||||
musicRofi = pkgs.writeShellScript "music-rofi" ''
|
musicRofi = pkgs.writeShellScript "music-rofi" ''
|
||||||
SONGN=$(${pkgs.mpc_cli}/bin/mpc -f "%position% - %artist% - %album% - %title%" playlist | ${pkgs.rofi}/bin/rofi -dmenu -i | ${pkgs.coreutils}/bin/cut -d " " -f 1)
|
SONGN=$(${pkgs.mpc_cli}/bin/mpc -f "%position% - %artist% - %album% - %title%" playlist | ${config.programs.rofi.package}/bin/rofi -dmenu -i | ${pkgs.coreutils}/bin/cut -d " " -f 1)
|
||||||
[ ! -z "$SONGN" ] && ${pkgs.mpc_cli}/bin/mpc play "$SONGN"
|
[ ! -z "$SONGN" ] && ${pkgs.mpc_cli}/bin/mpc play "$SONGN"
|
||||||
'';
|
'';
|
||||||
in "exec ${musicRofi}";
|
in "exec ${musicRofi}";
|
||||||
@ -338,12 +323,12 @@ in {
|
|||||||
"${config.wayland.windowManager.sway.config.modifier}+Shift+k" = lib.mkForce "exec ${pkgs.mpc_cli}/bin/mpc ls \"Local media/Tracks\" | ${pkgs.mpc_cli}/bin/mpc add";
|
"${config.wayland.windowManager.sway.config.modifier}+Shift+k" = lib.mkForce "exec ${pkgs.mpc_cli}/bin/mpc ls \"Local media/Tracks\" | ${pkgs.mpc_cli}/bin/mpc add";
|
||||||
"${config.wayland.windowManager.sway.config.modifier}+Shift+m" = let
|
"${config.wayland.windowManager.sway.config.modifier}+Shift+m" = let
|
||||||
mopidySearch = pkgs.writeShellScript "mopidy-search.sh" ''
|
mopidySearch = pkgs.writeShellScript "mopidy-search.sh" ''
|
||||||
QUERY=$(${pkgs.rofi}/bin/rofi -dmenu)
|
QUERY=$(${config.programs.rofi.package}/bin/rofi -dmenu)
|
||||||
[ -z "$QUERY" ] && exit
|
[ -z "$QUERY" ] && exit
|
||||||
RESULTS=$(${pkgs.mpc_cli}/bin/mpc search -f '%file% / %artist% - %title%' any "$QUERY")
|
RESULTS=$(${pkgs.mpc_cli}/bin/mpc search -f '%file% / %artist% - %title%' any "$QUERY")
|
||||||
USERLIST=$(echo "$RESULTS" | ${pkgs.gawk}/bin/awk -F' / ' '{print $2}')
|
USERLIST=$(echo "$RESULTS" | ${pkgs.gawk}/bin/awk -F' / ' '{print $2}')
|
||||||
|
|
||||||
CHOSEN=$(echo "$USERLIST" | ${pkgs.rofi}/bin/rofi -dmenu -i)
|
CHOSEN=$(echo "$USERLIST" | ${config.programs.rofi.package}/bin/rofi -dmenu -i)
|
||||||
[ -z "$CHOSEN" ] && exit
|
[ -z "$CHOSEN" ] && exit
|
||||||
NTH=$(echo "$USERLIST" | ${pkgs.gnugrep}/bin/grep -n "^$CHOSEN$" | cut -d':' -f1)
|
NTH=$(echo "$USERLIST" | ${pkgs.gnugrep}/bin/grep -n "^$CHOSEN$" | cut -d':' -f1)
|
||||||
|
|
||||||
@ -358,20 +343,19 @@ in {
|
|||||||
'';
|
'';
|
||||||
in "exec ${mopidySearch}";
|
in "exec ${mopidySearch}";
|
||||||
|
|
||||||
"${modifier}+p" = "exec ${bwRofi}";
|
"${modifier}+p" = "exec bash ${inputs.bwmenu}/bwmenu";
|
||||||
"${modifier}+t" = "exec ${bwRofiOtp}";
|
"${modifier}+e" = "exec bash ${inputs.bemoji}/bemoji -t";
|
||||||
|
|
||||||
"${modifier}+o" = "exec ${emojiRofi}";
|
|
||||||
|
|
||||||
"${modifier}+0" = "workspace 10";
|
"${modifier}+0" = "workspace 10";
|
||||||
"${modifier}+Shift+0" = "move container to workspace 10";
|
"${modifier}+Shift+0" = "move container to workspace 10";
|
||||||
|
|
||||||
"Ctrl+Alt+l" = "exec ${lockCommand}";
|
"Ctrl+Alt+l" = "exec ${lockCommand}";
|
||||||
}
|
}
|
||||||
)
|
// genKeyAttrs true
|
||||||
|
// genKeyAttrs false
|
||||||
);
|
);
|
||||||
|
|
||||||
menu = "${pkgs.rofi}/bin/rofi -show drun -show-icons -run-command '${pkgs.sway}/bin/swaymsg exec -- {cmd}'";
|
menu = "${config.programs.rofi.package}/bin/rofi -show drun -show-icons -run-command '${pkgs.sway}/bin/swaymsg exec -- {cmd}'";
|
||||||
|
|
||||||
bars = [];
|
bars = [];
|
||||||
|
|
||||||
@ -388,7 +372,10 @@ in {
|
|||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
systemd.enable = lib.mkDefault true;
|
systemd = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
target = "sway-session.target";
|
||||||
|
};
|
||||||
|
|
||||||
settings.mainbar = {
|
settings.mainbar = {
|
||||||
position = "left";
|
position = "left";
|
||||||
@ -596,7 +583,6 @@ in {
|
|||||||
services.mopidy = {
|
services.mopidy = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
extensionPackages = with pkgs; [
|
extensionPackages = with pkgs; [
|
||||||
mopidy-mpris
|
|
||||||
mopidy-youtube
|
mopidy-youtube
|
||||||
mopidy-local
|
mopidy-local
|
||||||
mopidy-mpd
|
mopidy-mpd
|
||||||
@ -677,6 +663,9 @@ in {
|
|||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
wtype
|
||||||
|
ydotool
|
||||||
|
keyutils
|
||||||
|
|
||||||
# ezpcusr stuff
|
# ezpcusr stuff
|
||||||
ezDrv
|
ezDrv
|
||||||
@ -700,6 +689,7 @@ in {
|
|||||||
|
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
|
package = pkgs.rofi-wayland;
|
||||||
terminal = lib.mkDefault "${pkgs.kermit-terminal}/bin/kermit";
|
terminal = lib.mkDefault "${pkgs.kermit-terminal}/bin/kermit";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -226,22 +226,22 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
ezcolors.baseColors = {
|
ezcolors.baseColors = {
|
||||||
base00 = "282936";
|
base00 = "1e0528";
|
||||||
base01 = "3a3c4e";
|
base01 = "1A092D";
|
||||||
base02 = "4d4f68";
|
base02 = "331354";
|
||||||
base03 = "626483";
|
base03 = "320f55";
|
||||||
base04 = "62d6e8";
|
base04 = "873582";
|
||||||
base05 = "e9e9f4";
|
base05 = "ffeeff";
|
||||||
base06 = "f1f2f8";
|
base06 = "ffeeff";
|
||||||
base07 = "f7f7fb";
|
base07 = "f8c0ff";
|
||||||
base08 = "ea51b2";
|
base08 = "00d9e9";
|
||||||
base09 = "b45bcf";
|
base09 = "aa00a3";
|
||||||
base0A = "00f769";
|
base0A = "955ae7";
|
||||||
base0B = "ebff87";
|
base0B = "05cb0d";
|
||||||
base0C = "a1efe4";
|
base0C = "b900b1";
|
||||||
base0D = "62d6e8";
|
base0D = "550068";
|
||||||
base0E = "b45bcf";
|
base0E = "8991bb";
|
||||||
base0F = "00f769";
|
base0F = "4d6fff";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
@ -27,9 +27,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.loginShellInit = lib.mkAfter ''
|
environment.loginShellInit = lib.mkAfter ''
|
||||||
[[ "$(tty)" == /dev/tty1 ]] && {
|
[[ "$(tty)" == /dev/tty1 ]] exec sway
|
||||||
exec sway
|
|
||||||
}
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
i18n.inputMethod = {
|
i18n.inputMethod = {
|
||||||
|
Loading…
Reference in New Issue
Block a user