From e2abe10c2813b1feec4798cee2309b99ad9ce37b Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 23 May 2023 19:02:35 +0200 Subject: [PATCH] feat(nix): add salut service and nm-applet --- nix/home-manager/lib.nix | 2 +- nix/home-manager/profiles/sway-desktop.nix | 26 ++++++----------- nix/home-manager/profiles/wayland-desktop.nix | 8 +++++ nix/home-manager/programs/salut.nix | 29 +++++++++++++++++-- nix/home-manager/programs/waybar.nix | 14 ++++----- 5 files changed, 50 insertions(+), 29 deletions(-) diff --git a/nix/home-manager/lib.nix b/nix/home-manager/lib.nix index 3801ee0..b731c1d 100644 --- a/nix/home-manager/lib.nix +++ b/nix/home-manager/lib.nix @@ -2,7 +2,7 @@ in { mkSimpleTrayService = {execStart}: { Unit = { - Description = "pasystray applet"; + Description = ""; After = ["graphical-session-pre.target"]; PartOf = ["graphical-session.target"]; }; diff --git a/nix/home-manager/profiles/sway-desktop.nix b/nix/home-manager/profiles/sway-desktop.nix index b37e995..96b4d51 100644 --- a/nix/home-manager/profiles/sway-desktop.nix +++ b/nix/home-manager/profiles/sway-desktop.nix @@ -20,27 +20,19 @@ in { ]; services = { - blueman-applet.enable = true; - flameshot.enable = true; + # TODO: doesn't work with 2 screens + # flameshot.enable = true; }; home.packages = [ pkgs.swayidle pkgs.swaylock - packages'.yofi - pkgs.fuzzel - - # required by any bar that has a tray plugin - pkgs.libappindicator-gtk3 - - ## themes pkgs.gnome.adwaita-icon-theme pkgs.hicolor-icon-theme pkgs.gnome-icon-theme - ## fonts pkgs.dejavu_fonts # just a basic good fond pkgs.font-awesome_5 # needed by i3status-rust @@ -49,7 +41,6 @@ in { pkgs.roboto pkgs.ttf_bitstream_vera - # from the wiki pkgs.noto-fonts pkgs.noto-fonts-cjk pkgs.noto-fonts-cjk-sans @@ -66,13 +57,14 @@ in { pkgs.dina-font pkgs.monoid pkgs.hermit - - # by colemickens + # found on colemickens' repo pkgs.gelasio # metric-compatible with Georgia pkgs.powerline-symbols pkgs.iosevka-comfy.comfy-fixed - + # experimental stuff + packages'.yofi + pkgs.fuzzel ]; wayland.windowManager.sway = { @@ -89,9 +81,9 @@ in { input = { "type:keyboard" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - xkb_options = "nodeadkeys"; + xkb_layout = config.home.keyboard.layout; + xkb_variant = config.home.keyboard.variant; + xkb_options = builtins.concatStringsSep "," config.home.keyboard.options; }; "type:touchpad" = { diff --git a/nix/home-manager/profiles/wayland-desktop.nix b/nix/home-manager/profiles/wayland-desktop.nix index 836296e..ddda4a2 100644 --- a/nix/home-manager/profiles/wayland-desktop.nix +++ b/nix/home-manager/profiles/wayland-desktop.nix @@ -20,7 +20,15 @@ in { # pinentry-program "${wayprompt}/bin/pinentry-wayprompt" # ''; + services = { + blueman-applet.enable = true; + network-manager-applet.enable = true; + }; + home.packages = with pkgs; [ + # required by network-manager-applet + pkgs.networkmanagerapplet + wlr-randr wayout wl-clipboard diff --git a/nix/home-manager/programs/salut.nix b/nix/home-manager/programs/salut.nix index 767949b..a4e3e0d 100644 --- a/nix/home-manager/programs/salut.nix +++ b/nix/home-manager/programs/salut.nix @@ -4,14 +4,39 @@ lib, packages', ... -}: { +}: +# useful testing command: +# for i in `seq 0 10`; do nix shell nixpkgs#libnotify --command notify-send notifiiiiiii "$i"; sleep 1; done + +let + inherit (import ../lib.nix {}) mkSimpleTrayService; +in +{ home.packages = [ packages'.salut ]; - home.file.".config/salut/config.ini" = { + xdg.configFile."salut/config.ini" = { enable = true; text = '' + [notifications] + timeout = 5 + + [window] + auto-hide = true + anchor = bottom + + [mode] + single = true + do-not-disturb = false + + [style] + preference = dark ''; + onChange = "${pkgs.systemd}/bin/systemctl --user restart salut"; + }; + + systemd.user.services.salut = mkSimpleTrayService { + execStart = "${packages'.salut}/bin/salut"; }; } diff --git a/nix/home-manager/programs/waybar.nix b/nix/home-manager/programs/waybar.nix index 132f945..00c91fb 100644 --- a/nix/home-manager/programs/waybar.nix +++ b/nix/home-manager/programs/waybar.nix @@ -1,6 +1,11 @@ { pkgs, config, repoFlake, ... }: { + home.packages = [ + # required by any bar that has a tray plugin + pkgs.libappindicator-gtk3 + ]; + programs.waybar = { enable = true; package = repoFlake.inputs.nixpkgs-wayland.outputs.packages.${pkgs.stdenv.hostPlatform.system}.waybar; @@ -67,15 +72,6 @@ }; "clock#date".format = "{:%d %b %Y}"; clock.format = "{:%H:%M %p}"; - - # "custom/hello-from-waybar" = { - # format = "hello {}"; - # max-length = 40; - # interval = "once"; - # exec = pkgs.writeShellScript "hello-from-waybar" '' - # echo "from within waybar" - # ''; - # }; }; }; };