From d4c0f93e1d61960e6bd534ad29fc84a1190a8ff4 Mon Sep 17 00:00:00 2001 From: Quentin Aristote Date: Mon, 20 Sep 2021 21:37:34 +0200 Subject: use lib.optional* functions --- home/config/i3/keybindings.nix | 23 +++++++++-------------- home/config/i3/startup.nix | 40 +++++++++++++--------------------------- 2 files changed, 22 insertions(+), 41 deletions(-) (limited to 'home/config') diff --git a/home/config/i3/keybindings.nix b/home/config/i3/keybindings.nix index b35dc8a..5efdeaa 100644 --- a/home/config/i3/keybindings.nix +++ b/home/config/i3/keybindings.nix @@ -34,20 +34,15 @@ in { $(( $(${brightnessctlKbd} max) - $(${brightnessctlKbd} get) )) ''; "Print" = "exec xfce4-screenshooter"; - } // (if backgroundImage != null then { + } // (lib.optionalAttrs (backgroundImage != null) { "${modifier}+l" = "exec ${lockscreen}/bin/lockscreen.sh"; - } else - { }) // (if config.programs.alacritty.enable then { - "${modifier}+Return" = "exec ${pkgs.alacritty}/bin/alacritty"; - } else - { }) // (if config.programs.rofi.enable then { - "${modifier}+d" = ''exec "${rofi} -modi drun,run,window -show drun"''; - "${modifier}+Shift+d" = "exec ${rofi} -show window"; - } else - { }) // (if config.services.emacs.client.enable then { - "${modifier}+Control+r" = - "exec systemctl --user restart emacs.service"; - } else - { })); + }) // (lib.optionalAttrs config.programs.alacritty.enable { + "${modifier}+Return" = "exec ${pkgs.alacritty}/bin/alacritty"; + }) // (lib.optionalAttrs config.programs.rofi.enable { + "${modifier}+d" = ''exec "${rofi} -modi drun,run,window -show drun"''; + "${modifier}+Shift+d" = "exec ${rofi} -show window"; + }) // (lib.optionalAttrs config.services.emacs.client.enable { + "${modifier}+Control+r" = "exec systemctl --user restart emacs.service"; + })); }; } diff --git a/home/config/i3/startup.nix b/home/config/i3/startup.nix index 3c7cdf3..cdad53c 100644 --- a/home/config/i3/startup.nix +++ b/home/config/i3/startup.nix @@ -6,31 +6,17 @@ in { autostart = { command, always ? false, notification ? false }: { inherit command always notification; }; - in (if (config.services.redshift.enable) then - [ (autostart { command = "systemctl --user start redshift"; }) ] - else - [ ]) ++ (if background-image != null then - [ - (autostart { - command = "${pkgs.feh}/bin/feh --bg-scale ${background-image}"; - }) - ] - else - [ ]) ++ (if config.services.screen-locker.enable then - [ - (autostart { - command = - "systemctl --user xidlehook.service"; - }) - ] - else - [ ]) ++ (if config.services.emacs.enable then - [ (autostart { command = "systemctl --user start emacs.service"; }) ] - else - [ ]) ++ [ - # Launch frequently used apps - (autostart { command = "thunderbird"; }) - (autostart { command = "signal-desktop"; }) - (autostart { command = ''i3-msg "workspace 10; exec keepassxc"''; }) - ]; + in (lib.optional config.services.redshift.enable + (autostart { command = "systemctl --user start redshift"; })) +++ (lib.optional (background-image != null) (autostart { + command = "${pkgs.feh}/bin/feh --bg-scale ${background-image}"; + })) ++ (lib.optional config.services.xidlehook.enable + (autostart { command = "systemctl --user xidlehook.service"; })) + ++ (lib.optional config.services.emacs.enable + (autostart { command = "systemctl --user start emacs.service"; })) ++ [ + # Launch frequently used apps + (autostart { command = "thunderbird"; }) + (autostart { command = "signal-desktop"; }) + (autostart { command = ''i3-msg "workspace 10; exec keepassxc"''; }) + ]; } -- cgit v1.2.3