switch to getExe and getExe' throughout the config
This commit is contained in:
parent
dee4671179
commit
0ce061fa31
16 changed files with 144 additions and 74 deletions
|
@ -1,8 +1,11 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
inherit (lib) getExe';
|
||||
in {
|
||||
age.secrets.anki-user-credentials.file = ../../../secrets/anki-user-credentials.age;
|
||||
|
||||
systemd.services.anki-sync-server = {
|
||||
|
@ -14,7 +17,7 @@
|
|||
Type = "simple";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "anki-sync-server";
|
||||
ExecStart = "${pkgs.anki-bin}/bin/anki --syncserver";
|
||||
ExecStart = "${getExe' pkgs.anki-bin "anki"} --syncserver";
|
||||
Environment = ''SYNC_BASE="/var/lib/anki-sync-server" SYNC_HOST="127.0.0.1" SYNC_PORT="27701"'';
|
||||
EnvironmentFile = config.age.secrets.anki-user-credentials.path;
|
||||
Restart = "always";
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
inherit (lib) getExe getExe';
|
||||
in {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
nix.settings = {
|
||||
|
@ -34,7 +36,7 @@
|
|||
};
|
||||
|
||||
environment.sessionVariables = {
|
||||
CHROME_EXECUTABLE = "${pkgs.ungoogled-chromium}/bin/chromium";
|
||||
CHROME_EXECUTABLE = getExe pkgs.ungoogled-chromium;
|
||||
};
|
||||
|
||||
hardware = {
|
||||
|
@ -181,7 +183,7 @@
|
|||
extraSettings = let
|
||||
inherit (config.myOptions.other.system) username;
|
||||
hmCfg = config.home-manager.users.${username};
|
||||
inherit (inputs.nixpkgs-wayland.packages.${pkgs.system}) swww;
|
||||
swww = getExe inputs.nixpkgs-wayland.packages.${pkgs.system}.swww;
|
||||
nix_wallpaper = pkgs.fetchurl {
|
||||
url = "https://i.ibb.co/vZ5JF95/nix-Wallpaper.png";
|
||||
hash = "sha256-BqOBvRFXFrX/QLI70OLAIcpbbiUH/jUMK97yqCfY+mI=";
|
||||
|
@ -191,18 +193,21 @@
|
|||
out_dir = "${hmCfg.xdg.dataHome}/hypr";
|
||||
out_path = "${out_dir}/nix.png";
|
||||
|
||||
iio-hyprland = inputs.iio-hyprland.packages.${pkgs.system}.default;
|
||||
iio-hyprland = getExe inputs.iio-hyprland.packages.${pkgs.system}.default;
|
||||
|
||||
mkdir = getExe' pkgs.coreutils-full "mkdir";
|
||||
sleep = getExe' pkgs.coreutils-full "sleep";
|
||||
in {
|
||||
exec-once = [
|
||||
"${iio-hyprland}/bin/iio-hyprland"
|
||||
"${pkgs.wvkbd}/bin/wvkbd-mobintl --hidden -L 500"
|
||||
"${iio-hyprland}"
|
||||
"${getExe pkgs.wvkbd} --hidden -L 500"
|
||||
|
||||
"${pkgs.coreutils-full}/bin/mkdir -p ${out_dir}"
|
||||
"${pkgs.imagemagick}/bin/magick ${nix_wallpaper} ${poz_layer} -layers flatten ${out_path}"
|
||||
"${mkdir} -p ${out_dir}"
|
||||
"${getExe pkgs.imagemagick} ${nix_wallpaper} ${poz_layer} -layers flatten ${out_path}"
|
||||
];
|
||||
exec = [
|
||||
# wait a bit then set the wallpapers
|
||||
"sleep 0.5 && ${swww}/bin/swww img -o eDP-1 ${out_path}"
|
||||
"${sleep} 0.5 && ${swww} img -o eDP-1 ${out_path}"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,12 +1,26 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.myOptions.other.system) username;
|
||||
|
||||
iio-hyprland = inputs.iio-hyprland.packages.${pkgs.system}.default;
|
||||
inherit (lib) getExe getExe';
|
||||
|
||||
iio-hyprland = getExe inputs.iio-hyprland.packages.${pkgs.system}.default;
|
||||
wpctl = getExe' pkgs.wireplumber "wpctl";
|
||||
brightnessctl = getExe pkgs.brightnessctl;
|
||||
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
|
||||
hyprctl = getExe' hyprland "hyprctl";
|
||||
rg = getExe pkgs.ripgrep;
|
||||
wc = getExe' pkgs.coreutils-full "wc";
|
||||
kill = getExe' pkgs.util-linux "kill";
|
||||
pkill = getExe' pkgs.procps "pkill";
|
||||
pidof = getExe' pkgs.procps "pidof";
|
||||
asusctl = getExe' config.services.asusd.package "asusctl";
|
||||
sed = getExe pkgs.gnused;
|
||||
in {
|
||||
home-manager.users.${username} = {
|
||||
programs.waybar = {
|
||||
|
@ -27,7 +41,7 @@ in {
|
|||
format-icons = {
|
||||
default = ["" "" ""];
|
||||
};
|
||||
on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
on-click = "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
sort-by-name = true;
|
||||
|
@ -78,8 +92,8 @@ in {
|
|||
format-icons = [ "" "" "" "" "" "" "" ];
|
||||
#on-scroll-up = "~/Scripts/bright.sh s +1%";
|
||||
#on-scroll-down = "~/Scripts/bright.sh s 1%-";
|
||||
on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl set +1%";
|
||||
on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl set 1%-";
|
||||
on-scroll-up = "${brightnessctl} set +1%";
|
||||
on-scroll-down = "${brightnessctl} set 1%-";
|
||||
smooth-scrolling-threshold = 1;
|
||||
};
|
||||
battery = {
|
||||
|
@ -139,7 +153,7 @@ in {
|
|||
"custom/launcher" = {
|
||||
format = " ";
|
||||
on-click = "~/.config/rofi/launchers/type-2/launcher.sh";
|
||||
on-click-right = "pkill rofi";
|
||||
on-click-right = "${pkill} rofi";
|
||||
};
|
||||
"custom/power" = {
|
||||
format = "";
|
||||
|
@ -189,28 +203,28 @@ in {
|
|||
};
|
||||
};
|
||||
"custom/power_profile" = {
|
||||
exec = "asusctl profile -p | sed s:'Active profile is'::";
|
||||
exec = "${asusctl} profile -p | ${sed} s:'Active profile is'::";
|
||||
interval = 30;
|
||||
format = "{}";
|
||||
format-alt-click = "click-right";
|
||||
format-alt = "";
|
||||
on-click = "asusctl profile -n; pkill -SIGRTMIN+8 waybar";
|
||||
on-click = "${asusctl} profile -n; ${pkill} -SIGRTMIN+8 waybar";
|
||||
signal = 8;
|
||||
};
|
||||
"custom/xwayland" = {
|
||||
exec = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl clients | ${pkgs.ripgrep}/bin/rg -e 'xwayland: [1]' | ${pkgs.coreutils-full}/bin/wc -l";
|
||||
exec = "${hyprctl} clients | ${rg} -e 'xwayland: [1]' | ${wc} -l";
|
||||
interval = 1;
|
||||
format = "X {}";
|
||||
};
|
||||
"custom/rot" = {
|
||||
exec = "${pkgs.procps}/bin/pidof iio-hyprland > /dev/null; if [ $? -eq '0' ]; then echo -n ''; else echo -n ''; fi";
|
||||
exec = "${pidof} iio-hyprland > /dev/null; if [ $? -eq '0' ]; then echo -n ''; else echo -n ''; fi";
|
||||
interval = 1;
|
||||
on-click = "${pkgs.procps}/bin/pkill iio-hyprland || ${iio-hyprland}/bin/iio-hyprland & disown";
|
||||
on-click = "${pkill} iio-hyprland || ${iio-hyprland} & disown";
|
||||
format = " {}";
|
||||
};
|
||||
"custom/wvkbd" = {
|
||||
# RTMIN
|
||||
on-click = "${pkgs.util-linux}/bin/kill -s 34 $(${pkgs.procps}/bin/pidof wvkbd-mobintl)";
|
||||
on-click = "${kill} -s 34 $(${pidof} wvkbd-mobintl)";
|
||||
format = "";
|
||||
};
|
||||
mpd = {
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
inherit (lib) getExe;
|
||||
in {
|
||||
nixpkgs.config = {
|
||||
permittedInsecurePackages = [
|
||||
"python-2.7.18.6"
|
||||
|
@ -34,7 +37,7 @@
|
|||
security.polkit.enable = true;
|
||||
|
||||
environment.sessionVariables = {
|
||||
CHROME_EXECUTABLE = "${pkgs.ungoogled-chromium}/bin/chromium";
|
||||
CHROME_EXECUTABLE = getExe pkgs.ungoogled-chromium;
|
||||
};
|
||||
|
||||
services = {
|
||||
|
@ -127,11 +130,11 @@
|
|||
];
|
||||
extraSettings = {
|
||||
exec = let
|
||||
inherit (inputs.nixpkgs-wayland.packages.${pkgs.system}) swww;
|
||||
swww = getExe inputs.nixpkgs-wayland.packages.${pkgs.system}.swww;
|
||||
in [
|
||||
# wait a bit then set the wallpapers
|
||||
"sleep 0.5 && ${swww}/bin/swww img -o eDP-1 ${./catppuccin-wall0.png}"
|
||||
"sleep 0.5 && ${swww}/bin/swww img -o HDMI-A-1 ${./catppuccin-wall1.png}"
|
||||
"sleep 0.5 && ${swww} img -o eDP-1 ${./catppuccin-wall0.png}"
|
||||
"sleep 0.5 && ${swww} img -o HDMI-A-1 ${./catppuccin-wall1.png}"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,10 +1,20 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.myOptions.other.system) username;
|
||||
|
||||
inherit (lib) getExe getExe';
|
||||
|
||||
wpctl = getExe' pkgs.wireplumber "wpctl";
|
||||
brightnessctl = getExe pkgs.brightnessctl;
|
||||
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
|
||||
hyprctl = getExe' hyprland "hyprctl";
|
||||
rg = getExe pkgs.ripgrep;
|
||||
wc = getExe' pkgs.coreutils-full "wc";
|
||||
in {
|
||||
home-manager.users.${username} = {
|
||||
programs.waybar = {
|
||||
|
@ -25,7 +35,7 @@ in {
|
|||
format-icons = {
|
||||
default = ["" "" ""];
|
||||
};
|
||||
on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
on-click = "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
sort-by-name = true;
|
||||
|
@ -76,8 +86,8 @@ in {
|
|||
format-icons = [ "" "" "" "" "" "" "" ];
|
||||
#on-scroll-up = "~/Scripts/bright.sh s +1%";
|
||||
#on-scroll-down = "~/Scripts/bright.sh s 1%-";
|
||||
on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl set +1%";
|
||||
on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl set 1%-";
|
||||
on-scroll-up = "${brightnessctl} set +1%";
|
||||
on-scroll-down = "${brightnessctl} set 1%-";
|
||||
smooth-scrolling-threshold = 1;
|
||||
};
|
||||
battery = {
|
||||
|
@ -196,7 +206,7 @@ in {
|
|||
signal = 8;
|
||||
};
|
||||
"custom/xwayland" = {
|
||||
exec = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl clients | ${pkgs.ripgrep}/bin/rg -e 'xwayland: [1]' | ${pkgs.coreutils-full}/bin/wc -l";
|
||||
exec = "${hyprctl} clients | ${rg} -e 'xwayland: [1]' | ${wc} -l";
|
||||
interval = 1;
|
||||
format = "X {}";
|
||||
};
|
||||
|
|
|
@ -7,8 +7,10 @@
|
|||
cfg = config.myOptions.programs.git;
|
||||
inherit (config.myOptions.other.system) username;
|
||||
|
||||
inherit (lib) mkEnableOption mkIf mkOption;
|
||||
inherit (lib) getExe mkEnableOption mkIf mkOption;
|
||||
inherit (lib.types) nullOr str;
|
||||
|
||||
delta = getExe pkgs.delta;
|
||||
in {
|
||||
options.myOptions.programs.git = {
|
||||
enable = mkEnableOption "git";
|
||||
|
@ -47,7 +49,7 @@ in {
|
|||
extraConfig = {
|
||||
core = {
|
||||
inherit (cfg) editor;
|
||||
pager = "${pkgs.delta}/bin/delta";
|
||||
pager = "${delta}";
|
||||
};
|
||||
init.defaultBranch = cfg.defaultBranch;
|
||||
push.autoSetupRemote = true;
|
||||
|
@ -58,7 +60,7 @@ in {
|
|||
gpg.format = "ssh";
|
||||
user.signingkey = mkIf (cfg.signingKey != null) "key::${cfg.signingKey}";
|
||||
merge.conflictstyle = "zdiff3";
|
||||
interactive.diffFilter = "${pkgs.delta}/bin/delta --color-only";
|
||||
interactive.diffFilter = "${delta} --color-only";
|
||||
diff.algorithm = "histogram";
|
||||
transfer.fsckobjects = true;
|
||||
fetch.fsckobjects = true;
|
||||
|
|
|
@ -8,7 +8,10 @@
|
|||
cfg = config.myOptions.programs.foot;
|
||||
inherit (config.myOptions.other.system) username;
|
||||
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
inherit (lib) getExe getExe' mkEnableOption mkIf;
|
||||
|
||||
notify-send = getExe pkgs.libnotify;
|
||||
xdg-open = getExe' pkgs.xdg-utils "xdg-open";
|
||||
in {
|
||||
options.myOptions.programs.foot = {
|
||||
enable = mkEnableOption "foot";
|
||||
|
@ -44,7 +47,7 @@ in {
|
|||
pad = "5x5 center";
|
||||
resize-delay-ms = 100;
|
||||
|
||||
notify = "${pkgs.libnotify}/bin/notify-send -a \${app-id} -i \${app-id} \${title} \${body}";
|
||||
notify = "${notify-send} -a \${app-id} -i \${app-id} \${title} \${body}";
|
||||
|
||||
bold-text-in-bright = "no";
|
||||
word-delimiters = ",│`|:\"'()[]{}<>";
|
||||
|
@ -53,7 +56,7 @@ in {
|
|||
bell = {
|
||||
urgent = "yes";
|
||||
notify = "yes";
|
||||
command = "${pkgs.libnotify}/bin/notify-send bell";
|
||||
command = "${notify-send} bell";
|
||||
command-focused = "no";
|
||||
};
|
||||
scrollback = {
|
||||
|
@ -63,7 +66,7 @@ in {
|
|||
indicator-format = "line";
|
||||
};
|
||||
url = {
|
||||
launch = "${pkgs.xdg-utils}/bin/xdg-open \${url}";
|
||||
launch = "${xdg-open} \${url}";
|
||||
label-letters = "sadfjklewcmpgh";
|
||||
osc8-underline = "always";
|
||||
protocols = "http, https, ftp, ftps, file, gemini, gopher, irc, ircs";
|
||||
|
|
|
@ -9,7 +9,9 @@
|
|||
hmCfg = config.home-manager.users.${username};
|
||||
inherit (config.myOptions.other.system) username;
|
||||
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
inherit (lib) getExe' mkEnableOption mkIf;
|
||||
|
||||
loginctl = getExe' pkgs.systemd "loginctl";
|
||||
in {
|
||||
options.myOptions.programs.hypr.idle = {
|
||||
enable = mkEnableOption "hiper bezczynny";
|
||||
|
@ -23,7 +25,7 @@ in {
|
|||
settings = {
|
||||
general = {
|
||||
lock_cmd = lib.getExe hmCfg.programs.hyprlock.package;
|
||||
before_sleep_cmd = "${pkgs.systemd}/bin/loginctl lock-session";
|
||||
before_sleep_cmd = "${loginctl} lock-session";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
|
||||
pkill = getExe' pkgs.procps "pkill";
|
||||
tee = getExe' pkgs.coreutils-full "tee";
|
||||
sleep = getExe' pkgs.coreutils-full "sleep";
|
||||
xdg-user-dir = getExe' pkgs.xdg-user-dirs "xdg-user-dir";
|
||||
xdg-open = getExe' pkgs.xdg-utils "xdg-open";
|
||||
notify-send = getExe pkgs.libnotify;
|
||||
|
@ -60,7 +61,7 @@
|
|||
pamixer = getExe pkgs.pamixer;
|
||||
brightnessctl = getExe pkgs.brightnessctl;
|
||||
rg = getExe pkgs.ripgrep;
|
||||
gawk = getExe pkgs.gawk;
|
||||
awk = getExe pkgs.gawk;
|
||||
mpv = getExe pkgs.mpv;
|
||||
in {
|
||||
options.myOptions.programs.hypr.land = {
|
||||
|
@ -408,8 +409,8 @@ in {
|
|||
"$mainMod SHIFT, G, changegroupactive, f"
|
||||
"$mainMod CONTROL, G, changegroupactive, b"
|
||||
|
||||
"$mainMod, minus, exec, ${hyprctl} keyword misc:cursor_zoom_factor \"$(${hyprctl} getoption misc:cursor_zoom_factor | ${rg} float | ${gawk} '{print $2 + 0.05}')\""
|
||||
"$mainMod, apostrophe, exec, ${hyprctl} keyword misc:cursor_zoom_factor \"$(${hyprctl} getoption misc:cursor_zoom_factor | ${rg} float | ${gawk} '{if($2 != 1) {print $2 - 0.05}}')\""
|
||||
"$mainMod, minus, exec, ${hyprctl} keyword misc:cursor_zoom_factor \"$(${hyprctl} getoption misc:cursor_zoom_factor | ${rg} float | ${awk} '{print $2 + 0.05}')\""
|
||||
"$mainMod, apostrophe, exec, ${hyprctl} keyword misc:cursor_zoom_factor \"$(${hyprctl} getoption misc:cursor_zoom_factor | ${rg} float | ${awk} '{if($2 != 1) {print $2 - 0.05}}')\""
|
||||
];
|
||||
|
||||
# locked
|
||||
|
@ -488,7 +489,7 @@ in {
|
|||
(mkIf config.services.asusd.enable "[workspace special:rog silent;tile] ${rog-control-center}")
|
||||
"[workspace special:keepassxc silent;tile] ${keepassxc}"
|
||||
|
||||
(mkIf config.myOptions.programs.foot.server "sleep 0.5 && ${systemctl} --user restart foot.service")
|
||||
(mkIf config.myOptions.programs.foot.server "${sleep} 0.5 && ${systemctl} --user restart foot.service")
|
||||
|
||||
"${hyprctl} setcursor Bibata-Modern-Classic 24"
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
}: let
|
||||
cfg = config.services.anki-sync-server;
|
||||
|
||||
inherit (lib) mkEnableOption mkIf mkOption;
|
||||
inherit (lib) getExe' mkEnableOption mkIf mkOption;
|
||||
inherit (lib.types) bool package port str;
|
||||
in {
|
||||
options.services.anki-sync-server = {
|
||||
|
@ -50,7 +50,7 @@ in {
|
|||
Type = "simple";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "anki-sync-server";
|
||||
ExecStart = "${cfg.package}/bin/anki --syncserver";
|
||||
ExecStart = "${getExe' cfg.package "anki"} --syncserver";
|
||||
Environment = ''SYNC_BASE="/var/lib/anki-sync-server" SYNC_HOST="${cfg.host}" SYNC_PORT="${cfg.port}"'';
|
||||
EnvironmentFile = config.age.secrets.anki-user-credentials.path;
|
||||
Restart = "always";
|
||||
|
|
|
@ -8,7 +8,9 @@
|
|||
cfg = config.myOptions.services.dunst;
|
||||
inherit (config.myOptions.other.system) username;
|
||||
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
inherit (lib) getExe getExe' mkEnableOption mkIf;
|
||||
|
||||
xdg-open = getExe' pkgs.xdg-utils "xdg-open";
|
||||
in {
|
||||
options.myOptions.services.dunst.enable = mkEnableOption "dunst";
|
||||
|
||||
|
@ -59,8 +61,8 @@ in {
|
|||
max_icon_size = 32;
|
||||
sticky_history = "yes";
|
||||
history_length = 20;
|
||||
dmenu = "${pkgs.rofi-wayland}/bin/rofi";
|
||||
browser = "${pkgs.xdg-utils}/bin/xdg-open";
|
||||
dmenu = "${getExe pkgs.rofi-wayland}";
|
||||
browser = "${xdg-open}";
|
||||
always_run_script = true;
|
||||
title = "Dunst";
|
||||
class = "dunst";
|
||||
|
|
|
@ -8,12 +8,17 @@
|
|||
cfg = config.myOptions.services.greetd;
|
||||
inherit (config.myOptions.other.system) username;
|
||||
|
||||
inherit (lib) mkEnableOption mkIf mkOption;
|
||||
inherit (lib) getExe getExe' mkEnableOption mkIf mkOption;
|
||||
inherit (lib.types) listOf str;
|
||||
inherit (lib.strings) concatStringsSep;
|
||||
|
||||
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
|
||||
|
||||
hyprctl = getExe' hyprland "hyprctl";
|
||||
Hyprland = getExe' hyprland "Hyprland";
|
||||
|
||||
greeter = getExe pkgs.greetd.${cfg.greeter};
|
||||
|
||||
hyprlandConfig = pkgs.writeText "greetd-hyprland-config" ''
|
||||
misc {
|
||||
force_default_wallpaper=0
|
||||
|
@ -27,8 +32,8 @@
|
|||
|
||||
workspace=1,default:true,gapsout:0,gapsin:0,border:false,decorate:false
|
||||
|
||||
exec-once=[workspace 1;fullscreen;noanim] ${pkgs.greetd.${cfg.greeter}}/bin/${cfg.greeter} -l; ${hyprland}/bin/hyprctl dispatch exit
|
||||
exec-once=${hyprland}/bin/hyprctl dispatch focuswindow ${cfg.greeter}
|
||||
exec-once=[workspace 1;fullscreen;noanim] ${greeter} -l; ${hyprctl} dispatch exit
|
||||
exec-once=${hyprctl} dispatch focuswindow ${cfg.greeter}
|
||||
'';
|
||||
in {
|
||||
options.myOptions.services.greetd = {
|
||||
|
@ -47,7 +52,7 @@ in {
|
|||
services.greetd = {
|
||||
enable = true;
|
||||
settings.default_session = {
|
||||
command = "${hyprland}/bin/Hyprland --config ${hyprlandConfig}";
|
||||
command = "${Hyprland} --config ${hyprlandConfig}";
|
||||
user = username;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,10 +6,13 @@
|
|||
}: let
|
||||
cfg = config.myOptions.services.ssh;
|
||||
|
||||
inherit (lib) mkEnableOption mkIf mkMerge mkOption;
|
||||
inherit (lib) getExe' mkEnableOption mkIf mkMerge mkOption;
|
||||
inherit (lib.types) attrsOf bool nullOr number str submodule;
|
||||
inherit (lib.strings) concatStrings;
|
||||
inherit (lib.attrsets) mapAttrsToList;
|
||||
|
||||
ksshaskpass = getExe' pkgs.libsForQt5.ksshaskpass "ksshaskpass";
|
||||
ssh-agent = getExe' pkgs.openssh "ssh-agent";
|
||||
in {
|
||||
options.myOptions.services.ssh = {
|
||||
daemon = mkOption {
|
||||
|
@ -81,7 +84,7 @@ in {
|
|||
(mkIf cfg.agent.enable {
|
||||
programs.ssh = {
|
||||
enableAskPassword = true;
|
||||
askPassword = "${pkgs.libsForQt5.ksshaskpass}/bin/ksshaskpass";
|
||||
askPassword = ksshaskpass;
|
||||
extraConfig = ''
|
||||
AddKeysToAgent yes
|
||||
|
||||
|
@ -108,7 +111,7 @@ in {
|
|||
description = "SSH key agent";
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.openssh}/bin/ssh-agent -D -a $SSH_AUTH_SOCK";
|
||||
ExecStart = "${ssh-agent} -D -a $SSH_AUTH_SOCK";
|
||||
};
|
||||
environment = {
|
||||
SSH_AUTH_SOCK = "%t/ssh-agent.socket";
|
||||
|
|
|
@ -8,7 +8,10 @@
|
|||
cfg = config.myOptions.programs.helix;
|
||||
inherit (config.myOptions.other.system) username;
|
||||
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
inherit (lib) getExe getExe' mkEnableOption mkIf;
|
||||
|
||||
clangd = getExe' pkgs.clang-tools "clangd";
|
||||
css-languageserver = getExe pkgs.nodePackages.vscode-css-languageserver-bin;
|
||||
in {
|
||||
options.myOptions.programs.helix.enable = mkEnableOption "helix";
|
||||
|
||||
|
@ -71,11 +74,11 @@ in {
|
|||
config.nil.formatting.command = [ "${lib.getExe pkgs.alejandra}" "-q" ];
|
||||
};
|
||||
clangd = {
|
||||
command = "${pkgs.clang-tools}/bin/clangd";
|
||||
command = clangd;
|
||||
clangd.fallbackFlags = [ "-std=c++2b" ];
|
||||
};
|
||||
vscode-css-language-server = {
|
||||
command = "${pkgs.nodePackages.vscode-css-languageserver-bin}/bin/css-languageserver";
|
||||
command = css-languageserver;
|
||||
args = [ "--stdio" ];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,25 +1,31 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.udev.extraRules = let
|
||||
inherit (lib) getExe getExe';
|
||||
asusctl = getExe' config.services.asusd.package "asusctl";
|
||||
supergfxctl = getExe' config.services.asusd.package "supergfxctl";
|
||||
cpupower = getExe config.boot.kernelPackages.cpupower;
|
||||
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
|
||||
hyprctl = getExe' hyprland "hyprctl";
|
||||
|
||||
power_supply = pkgs.writeShellScript "on_power_supply" ''
|
||||
${pkgs.asusctl}/bin/asusctl profile -P Performance
|
||||
#${pkgs.supergfxctl}/bin/supergfxctl -m Hybrid
|
||||
${config.boot.kernelPackages.cpupower}/bin/cpupower frequency-set -g performance
|
||||
${hyprland}/bin/hyprctl keyword decoration:blur:enabled true
|
||||
${hyprland}/bin/hyprctl keyword animations:enabled true
|
||||
${asusctl} profile -P Performance
|
||||
#${supergfxctl} -m Hybrid
|
||||
${cpupower}/bin/cpupower frequency-set -g performance
|
||||
${hyprctl} keyword decoration:blur:enabled true
|
||||
${hyprctl} keyword animations:enabled true
|
||||
'';
|
||||
battery = pkgs.writeShellScript "on_battery" ''
|
||||
${pkgs.asusctl}/bin/asusctl profile -P Quiet
|
||||
#${pkgs.supergfxctl}/bin/supergfxctl -m Integrated
|
||||
${config.boot.kernelPackages.cpupower}/bin/cpupower frequency-set -g powersave
|
||||
${hyprland}/bin/hyprctl keyword decoration:blur:enabled false
|
||||
${hyprland}/bin/hyprctl keyword animations:enabled false
|
||||
${asusctl} profile -P Quiet
|
||||
#${supergfxctl} -m Integrated
|
||||
${cpupower}/bin/cpupower frequency-set -g powersave
|
||||
${hyprctl} keyword decoration:blur:enabled false
|
||||
${hyprctl} keyword animations:enabled false
|
||||
'';
|
||||
in ''
|
||||
SUBSYSTEM=="power_supply",ENV{POWER_SUPPLY_ONLINE}=="1",RUN+="${power_supply}"
|
||||
|
|
|
@ -1,17 +1,25 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
powerManagement = {
|
||||
powerManagement = let
|
||||
inherit (lib) getExe getExe';
|
||||
mpc = getExe pkgs.mpc-cli;
|
||||
sleep = getExe' pkgs.coreutils-full "sleep";
|
||||
|
||||
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
|
||||
hyprctl = getExe' hyprland "hyprctl";
|
||||
in{
|
||||
enable = true;
|
||||
powerDownCommands = ''
|
||||
${pkgs.mpc-cli}/bin/mpc pause
|
||||
${pkgs.coreutils-full}/bin/sleep 1
|
||||
${mpc} pause
|
||||
${sleep} 1
|
||||
'';
|
||||
powerUpCommands = ''
|
||||
${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl dispatch dpms off HDMI-A-1
|
||||
${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl dispatch dpms on HDMI-A-1
|
||||
${hyprctl} dispatch dpms off HDMI-A-1
|
||||
${hyprctl} dispatch dpms on HDMI-A-1
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue