diff options
Diffstat (limited to 'modules/home-manager/personal/gui')
| -rw-r--r-- | modules/home-manager/personal/gui/default.nix | 25 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/redshift.nix | 6 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/safeeyes.nix | 5 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/x/default.nix | 20 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/x/i3/bar/default.nix | 25 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/x/i3/default.nix | 70 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/x/i3/keybindings.nix | 36 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/x/i3/startup.nix | 35 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/x/idlehook.nix | 10 |
9 files changed, 128 insertions, 104 deletions
diff --git a/modules/home-manager/personal/gui/default.nix b/modules/home-manager/personal/gui/default.nix index c0d63ce..6c023da 100644 --- a/modules/home-manager/personal/gui/default.nix +++ b/modules/home-manager/personal/gui/default.nix @@ -3,17 +3,21 @@ lib, pkgs, ... -} @ extraArgs: let +}@extraArgs: +let cfg = config.personal.gui; -in { - imports = [./redshift.nix ./safeeyes.nix ./x]; +in +{ + imports = [ + ./redshift.nix + ./safeeyes.nix + ./x + ]; options.personal.gui = { - enable = - lib.mkEnableOption "GUI" - // { - default = extraArgs.osConfig.personal.gui.enable or false; - }; + enable = lib.mkEnableOption "GUI" // { + default = extraArgs.osConfig.personal.gui.enable or false; + }; }; config = lib.mkIf cfg.enable { @@ -43,7 +47,10 @@ in { home.packages = lib.optional config.dconf.enable pkgs.dconf - ++ (with pkgs; [keepassxc pavucontrol]); + ++ (with pkgs; [ + keepassxc + pavucontrol + ]); programs.firefox.enable = true; }; } diff --git a/modules/home-manager/personal/gui/redshift.nix b/modules/home-manager/personal/gui/redshift.nix index 2242ad2..cdd8ba0 100644 --- a/modules/home-manager/personal/gui/redshift.nix +++ b/modules/home-manager/personal/gui/redshift.nix @@ -8,10 +8,8 @@ day = lib.mkDefault 2500; night = lib.mkDefault 2500; }; - latitude = - extraArgs.osConfig.location.latitude or (lib.mkDefault "48.856614"); - longitude = - extraArgs.osConfig.location.longitude or (lib.mkDefault "2.3522219"); + latitude = extraArgs.osConfig.location.latitude or (lib.mkDefault "48.856614"); + longitude = extraArgs.osConfig.location.longitude or (lib.mkDefault "2.3522219"); settings.redshift.transition = lib.mkDefault 0; }; } diff --git a/modules/home-manager/personal/gui/safeeyes.nix b/modules/home-manager/personal/gui/safeeyes.nix index 17a3bd6..a7ea874 100644 --- a/modules/home-manager/personal/gui/safeeyes.nix +++ b/modules/home-manager/personal/gui/safeeyes.nix @@ -1,9 +1,10 @@ -{...}: { +{ ... }: +{ services = { safeeyes.enable = true; snixembed = { enable = true; - beforeUnits = ["safeeyes.service"]; + beforeUnits = [ "safeeyes.service" ]; }; }; } diff --git a/modules/home-manager/personal/gui/x/default.nix b/modules/home-manager/personal/gui/x/default.nix index bb1c4bb..2331258 100644 --- a/modules/home-manager/personal/gui/x/default.nix +++ b/modules/home-manager/personal/gui/x/default.nix @@ -2,17 +2,21 @@ config, lib, ... -} @ extraArgs: let +}@extraArgs: +let cfg = config.personal.x; -in { - imports = [./i3 ./idlehook.nix ./picom.nix]; +in +{ + imports = [ + ./i3 + ./idlehook.nix + ./picom.nix + ]; options.personal.x = { - enable = - lib.mkEnableOption "X" - // { - default = extraArgs.osConfig.services.xserver.enable or false; - }; + enable = lib.mkEnableOption "X" // { + default = extraArgs.osConfig.services.xserver.enable or false; + }; }; config = lib.mkIf (cfg.enable && config.personal.gui.enable) { diff --git a/modules/home-manager/personal/gui/x/i3/bar/default.nix b/modules/home-manager/personal/gui/x/i3/bar/default.nix index a6d910f..132e850 100644 --- a/modules/home-manager/personal/gui/x/i3/bar/default.nix +++ b/modules/home-manager/personal/gui/x/i3/bar/default.nix @@ -3,26 +3,29 @@ lib, pkgs, ... -}: let - statusPackage = - pkgs.personal.barista.override {i3statusGo = ./i3status.go;}; -in { +}: +let + statusPackage = pkgs.personal.barista.override { i3statusGo = ./i3status.go; }; +in +{ xsession.windowManager.i3.config.bars = [ - ({ + ( + { statusCommand = "${statusPackage}/bin/i3status"; } - // (config.lib.stylix.i3.targets.i3.exportedBarConfig or {colors.background = "#111111";}) + // (config.lib.stylix.i3.targets.i3.exportedBarConfig or { colors.background = "#111111"; }) // { fonts = { - names = ["roboto"]; + names = [ "roboto" ]; size = 11.0; }; - }) + } + ) ]; - home.packages = with pkgs; - lib.optionals - (config.xsession.enable && config.xsession.windowManager.i3.enable) [ + home.packages = + with pkgs; + lib.optionals (config.xsession.enable && config.xsession.windowManager.i3.enable) [ material-design-icons roboto ]; diff --git a/modules/home-manager/personal/gui/x/i3/default.nix b/modules/home-manager/personal/gui/x/i3/default.nix index 17019cb..483a0d4 100644 --- a/modules/home-manager/personal/gui/x/i3/default.nix +++ b/modules/home-manager/personal/gui/x/i3/default.nix @@ -3,18 +3,21 @@ lib, pkgs, ... -} @ extraArgs: let +}@extraArgs: +let cfg = config.personal.x.i3; -in { - imports = [./bar ./keybindings.nix ./startup.nix]; +in +{ + imports = [ + ./bar + ./keybindings.nix + ./startup.nix + ]; options.personal.x.i3 = { - enable = - lib.mkEnableOption "i3" - // { - default = - extraArgs.osConfig.services.xserver.windowManager.i3.enable or false; - }; + enable = lib.mkEnableOption "i3" // { + default = extraArgs.osConfig.services.xserver.windowManager.i3.enable or false; + }; }; config = lib.mkIf cfg.enable { @@ -24,27 +27,30 @@ in { config = { assigns = - lib.optionalAttrs (config.personal.profiles.multimedia - && (extraArgs.osConfig.programs.steam.enable or true)) { - "8: multimedia" = [ - {class = "^Steam$";} - {title = "Netflix";} - {title = "MUBI";} - {title = "Deezer";} - ]; - } - // lib.optionalAttrs config.personal.profiles.social { - "9: social" = - [{class = "^Mail$";} {class = "^thunderbird$";}] - ++ lib.optionals config.personal.identities.personal [ - {class = "^signal$";} - {class = "^Signal$";} - {title = "^Signal";} - ] - ++ lib.optionals config.personal.identities.work [ - {class = "^zulip";} - {class = "^Zulip";} + lib.optionalAttrs + (config.personal.profiles.multimedia && (extraArgs.osConfig.programs.steam.enable or true)) + { + "8: multimedia" = [ + { class = "^Steam$"; } + { title = "Netflix"; } + { title = "MUBI"; } + { title = "Deezer"; } ]; + } + // lib.optionalAttrs config.personal.profiles.social { + "9: social" = [ + { class = "^Mail$"; } + { class = "^thunderbird$"; } + ] + ++ lib.optionals config.personal.identities.personal [ + { class = "^signal$"; } + { class = "^Signal$"; } + { title = "^Signal"; } + ] + ++ lib.optionals config.personal.identities.work [ + { class = "^zulip"; } + { class = "^Zulip"; } + ]; } // { "10: passwords" = [ @@ -64,11 +70,7 @@ in { floating = { titlebar = lib.mkDefault false; border = lib.mkDefault ( - if - config.services.picom.enable - && config.services.picom.shadow - then 0 - else lib.mkOptionDefault + if config.services.picom.enable && config.services.picom.shadow then 0 else lib.mkOptionDefault ); }; gaps = { diff --git a/modules/home-manager/personal/gui/x/i3/keybindings.nix b/modules/home-manager/personal/gui/x/i3/keybindings.nix index c15075f..d28e9fb 100644 --- a/modules/home-manager/personal/gui/x/i3/keybindings.nix +++ b/modules/home-manager/personal/gui/x/i3/keybindings.nix @@ -3,7 +3,8 @@ lib, pkgs, ... -}: let +}: +let # i3 pretty-printing exec = script: ''exec "${script}";''; execRofiShow = modi: exec "${rofiShow} ${modi}"; @@ -19,13 +20,15 @@ rofiPulseSelect = "${pkgs.rofi-pulse-select}/bin/rofi-pulse-select"; rofiBluetooth = "${pkgs.rofi-bluetooth}/bin/rofi-bluetooth"; rofiPowerMenu = "${pkgs.rofi-power-menu}/bin/rofi-power-menu"; -in { +in +{ xsession.windowManager.i3.config = { inherit modifier; modes = lib.mkOptionDefault { # launching apps - launch = mkTempMode ({ + launch = mkTempMode ( + { "e" = exec "emacsclient --create-frame"; "b" = exec "$BROWSER"; } @@ -38,18 +41,19 @@ in { "t" = execRofiShow "top"; "w" = execRofiShow "window"; "Escape" = ""; - }); + } + ); }; - keybindings = lib.mkOptionDefault ({ + keybindings = lib.mkOptionDefault ( + { "${modifier}+space" = "mode launch"; } // lib.optionalAttrs config.programs.rofi.enable { "${modifier}+F1" = exec "${rofiPulseSelect} sink"; "${modifier}+F4" = exec "${rofiPulseSelect} source"; "${modifier}+Print" = exec rofiBluetooth; - "${modifier}+Delete" = - exec "${rofiShow} menu -modi menu:${rofiPowerMenu}"; + "${modifier}+Delete" = exec "${rofiShow} menu -modi menu:${rofiPowerMenu}"; "${modifier}+p" = "move workspace to output right"; } // { @@ -60,22 +64,18 @@ in { # media keys "XF86MonBrightnessUp" = exec "${brightnessctl} set 5%+"; "XF86MonBrightnessDown" = exec "${brightnessctl} set 5%-"; - "XF86AudioRaiseVolume" = - exec "${volumectl} set-sink-volume @DEFAULT_SINK@ +5%"; - "XF86AudioLowerVolume" = - exec "${volumectl} set-sink-volume @DEFAULT_SINK@ -5%"; + "XF86AudioRaiseVolume" = exec "${volumectl} set-sink-volume @DEFAULT_SINK@ +5%"; + "XF86AudioLowerVolume" = exec "${volumectl} set-sink-volume @DEFAULT_SINK@ -5%"; "XF86AudioMute" = "exec ${volumectl} set-sink-mute @DEFAULT_SINK@ toggle"; - "Shift+XF86AudioRaiseVolume" = - exec "${volumectl} set-source-volume @DEFAULT_SOURCE@ +5%"; - "Shift+XF86AudioLowerVolume" = - exec "${volumectl} set-source-volume @DEFAULT_SOURCE@ -5%"; - "XF86AudioMicMute" = - exec "${volumectl} set-source-mute @DEFAULT_SOURCE@ toggle"; + "Shift+XF86AudioRaiseVolume" = exec "${volumectl} set-source-volume @DEFAULT_SOURCE@ +5%"; + "Shift+XF86AudioLowerVolume" = exec "${volumectl} set-source-volume @DEFAULT_SOURCE@ -5%"; + "XF86AudioMicMute" = exec "${volumectl} set-source-mute @DEFAULT_SOURCE@ toggle"; "XF86KbdBrightnessUp" = '' exec {brightnessctlKbd} set \ $(( $(${brightnessctlKbd} max) - $(${brightnessctlKbd} get) )) ''; "Print" = exec screenshot; - }); + } + ); }; } diff --git a/modules/home-manager/personal/gui/x/i3/startup.nix b/modules/home-manager/personal/gui/x/i3/startup.nix index c42a542..223660a 100644 --- a/modules/home-manager/personal/gui/x/i3/startup.nix +++ b/modules/home-manager/personal/gui/x/i3/startup.nix @@ -2,24 +2,27 @@ config, lib, ... -}: { - xsession.windowManager.i3.config.startup = let - autostart = { - command, - always ? false, - notification ? false, - }: { - inherit command always notification; - }; - autostartIf = cond: args: lib.optional cond (autostart args); - in +}: +{ + xsession.windowManager.i3.config.startup = + let + autostart = + { + command, + always ? false, + notification ? false, + }: + { + inherit command always notification; + }; + autostartIf = cond: args: lib.optional cond (autostart args); + in [ - (autostart {command = "rfkill block bluetooth";}) - (autostart {command = "keepassxc";}) + (autostart { command = "rfkill block bluetooth"; }) + (autostart { command = "keepassxc"; }) ] - ++ autostartIf config.programs.thunderbird.enable {command = "thunderbird";} - ++ autostartIf - (config.personal.profiles.social && config.personal.identities.personal) { + ++ autostartIf config.programs.thunderbird.enable { command = "thunderbird"; } + ++ autostartIf (config.personal.profiles.social && config.personal.identities.personal) { command = "signal-desktop"; } ++ autostartIf (with config.personal.identities; work && !personal) { diff --git a/modules/home-manager/personal/gui/x/idlehook.nix b/modules/home-manager/personal/gui/x/idlehook.nix index 129a9f8..9915a3c 100644 --- a/modules/home-manager/personal/gui/x/idlehook.nix +++ b/modules/home-manager/personal/gui/x/idlehook.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; -in { +in +{ config.services.xidlehook = { enable = lib.mkDefault config.personal.x.enable; not-when-fullscreen = lib.mkDefault true; |
