make packages work

This commit is contained in:
Noa Aarts 2024-11-12 17:27:11 +01:00
parent c68860b185
commit 92da47be1c
Signed by: noa
GPG key ID: 1850932741EFF672
6 changed files with 77 additions and 73 deletions

View file

@ -133,5 +133,6 @@
nixosModules = { nixosModules = {
automapaper = ./modules/automapaper; automapaper = ./modules/automapaper;
}; };
packages = import ./packages { inherit nixpkgs; };
}; };
} }

View file

@ -202,47 +202,14 @@ in
"$mod" = "SUPER"; "$mod" = "SUPER";
bind = bind =
let let
wofi-power = ( wpkgs = inputs.self.packages.${pkgs.system};
pkgs.writeShellScriptBin "wofi-power" ''
lock="Lock"
poweroff="Poweroff"
reboot="Reboot"
sleep="Suspend"
logout="Log out"
selected_option=$(echo -e "$lock\n$sleep\n$reboot\n$logout\n$poweroff" | ${pkgs.wofi}/bin/wofi --dmenu -i -p "Powermenu")
if [ "$selected_option" == "$lock" ]
then
echo "lock"
swaylock
elif [ "$selected_option" == "$poweroff" ]
then
echo "poweroff"
poweroff
elif [ "$selected_option" == "$reboot" ]
then
echo "reboot"
reboot
elif [ "$selected_option" == "$sleep" ]
then
echo "sleep"
suspend
elif [ "$selected_option" == "$logout" ]
then
echo "logout"
hyprctl dispatch exit
else
echo "No match"
fi
''
);
in in
[ [
"$mod,Return,exec,${cfg.terminal}/bin/${cfg.terminal.pname}" "$mod,Return,exec,${cfg.terminal}/bin/${cfg.terminal.pname}"
"$mod,tab,cyclenext" "$mod,tab,cyclenext"
"SUPERSHIFT,Q,killactive" "SUPERSHIFT,Q,killactive"
"$mod,SPACE,exec,${pkgs.wofi}/bin/wofi --show drun" "$mod,SPACE,exec,${wpkgs.wofi-launch}/bin/wofi-launch"
"$mod,P,exec,${wofi-power}/wofi-power" "$mod,P,exec,${wpkgs.wofi-power}/bin/wofi-power"
"SUPERSHIFT,m,exit" "SUPERSHIFT,m,exit"
"$mod,H,movefocus,l" "$mod,H,movefocus,l"
"$mod,J,movefocus,u" "$mod,J,movefocus,u"

View file

@ -16,42 +16,13 @@ in
../common/colors.nix ../common/colors.nix
]; ];
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = with pkgs; [ home.packages =
(writeShellScriptBin "wofi-launch" '' let
${wofi}/bin/wofi --show drun wpkgs = inputs.self.packages.${pkgs.system};
'') in
(writeShellScriptBin "wofi-power" '' [
lock="Lock" wpkgs.wofi-launch
poweroff="Poweroff" wpkgs.wofi-power
reboot="Reboot"
sleep="Suspend"
logout="Log out"
selected_option=$(echo -e "$lock\n$sleep\n$reboot\n$logout\n$poweroff" | wofi --dmenu -i -p "Powermenu")
if [ "$selected_option" == "$lock" ]
then
echo "lock"
swaylock
elif [ "$selected_option" == "$poweroff" ]
then
echo "poweroff"
poweroff
elif [ "$selected_option" == "$reboot" ]
then
echo "reboot"
reboot
elif [ "$selected_option" == "$sleep" ]
then
echo "sleep"
suspend
elif [ "$selected_option" == "$logout" ]
then
echo "logout"
hyprctl dispatch exit
else
echo "No match"
fi
'')
]; ];
programs.wofi = { programs.wofi = {
enable = true; enable = true;

28
packages/default.nix Normal file
View file

@ -0,0 +1,28 @@
{ nixpkgs }:
let
allSystems = [
"x86_64-linux" # 64-bit Intel/AMD Linux
"aarch64-linux" # 64-bit ARM Linux
"x86_64-darwin" # 64-bit Intel macOS
"aarch64-darwin" # 64-bit ARM macOS
];
forAllSystems =
f:
nixpkgs.lib.genAttrs allSystems (
system:
f {
inherit system;
pkgs = import nixpkgs { inherit system; };
}
);
in
forAllSystems (
{ pkgs, system }:
let
call = path: import path { inherit pkgs system; };
in
{
wofi-launch = call ./wofi-launch.nix;
wofi-power = call ./wofi-power.nix;
}
)

4
packages/wofi-launch.nix Normal file
View file

@ -0,0 +1,4 @@
{ pkgs, ... }:
pkgs.writeShellScriptBin "wofi-launch" ''
${pkgs.wofi}/bin/wofi --show drun
''

33
packages/wofi-power.nix Normal file
View file

@ -0,0 +1,33 @@
{ pkgs, ... }:
pkgs.writeShellScriptBin "wofi-power" ''
lock="Lock"
poweroff="Poweroff"
reboot="Reboot"
sleep="Suspend"
logout="Log out"
selected_option=$(echo -e "$lock\n$sleep\n$reboot\n$logout\n$poweroff" | ${pkgs.wofi}/bin/wofi --dmenu -i -p "Powermenu")
if [ "$selected_option" == "$lock" ]
then
echo "lock"
swaylock
elif [ "$selected_option" == "$poweroff" ]
then
echo "poweroff"
poweroff
elif [ "$selected_option" == "$reboot" ]
then
echo "reboot"
reboot
elif [ "$selected_option" == "$sleep" ]
then
echo "sleep"
suspend
elif [ "$selected_option" == "$logout" ]
then
echo "logout"
hyprctl dispatch exit
else
echo "No match"
fi
''