Assorted ezpcusr fixes

This commit is contained in:
notgne2 2022-11-02 19:52:41 -07:00
parent 5d1544dad7
commit 63137c2f6f
Signed by: notgne2
SSH Key Fingerprint: SHA256:qlFCAimT/PvNIG3u+aYT9pIqFCWgu6sNsWjpV1vHLIE
6 changed files with 117 additions and 1652 deletions

View File

@ -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

View File

@ -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 = ''

View File

@ -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 let
// genKeyAttrs false volumeUp = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
// ( volumeDown = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
let in
volumeUp = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%"; {
volumeDown = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
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";
}; };
}; };

View File

@ -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 = {

View File

@ -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 = {