From ddebfefef98c7e1dd2737544a624f841133d0e7b Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Tue, 28 Dec 2021 12:48:47 +0100 Subject: [PATCH] fix autostart --- .gitignore | 1 + home-manager/configs/qtile/autostart.sh | 7 +++++++ home-manager/configs/qtile/config.py | 18 ++++++++++++++++-- home-manager/desktop.nix | 3 ++- home-manager/software/keeweb/default.nix | 15 +-------------- home-manager/software/keeweb/keeweb.sh | 2 ++ home-manager/software/signal/default.nix | 15 +-------------- home-manager/software/signal/signal.sh | 2 ++ home-manager/software/telegram/default.nix | 16 ++-------------- home-manager/software/telegram/telegram.sh | 2 ++ 10 files changed, 36 insertions(+), 45 deletions(-) create mode 100755 home-manager/configs/qtile/autostart.sh create mode 100755 home-manager/software/keeweb/keeweb.sh create mode 100755 home-manager/software/signal/signal.sh create mode 100755 home-manager/software/telegram/telegram.sh diff --git a/.gitignore b/.gitignore index dfbaacd..6afae0a 100644 --- a/.gitignore +++ b/.gitignore @@ -85,3 +85,4 @@ tags __pycache__/ venv/ +nohup.out diff --git a/home-manager/configs/qtile/autostart.sh b/home-manager/configs/qtile/autostart.sh new file mode 100755 index 0000000..a99275f --- /dev/null +++ b/home-manager/configs/qtile/autostart.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +scripts=$(ls -1 ~/.config/qtile/autostart.d/*.sh) +for i in $scripts +do + source $i +done diff --git a/home-manager/configs/qtile/config.py b/home-manager/configs/qtile/config.py index 300a055..8c210e6 100644 --- a/home-manager/configs/qtile/config.py +++ b/home-manager/configs/qtile/config.py @@ -1,6 +1,13 @@ +import os +import subprocess + from typing import List # noqa: F401 -from libqtile import bar, layout, widget +from libqtile import bar +from libqtile import hook +from libqtile import layout +from libqtile import widget + from libqtile.config import Click, Drag, Group, Key, Match, Screen from libqtile.lazy import lazy from libqtile.utils import guess_terminal @@ -29,7 +36,7 @@ keys = [ Key([mod], "d", lazy.spawn("rofi -show drun")), Key([mod], "e", lazy.spawn("nautilus")), Key([mod], "p", lazy.spawn("autorandr -c")), - Key([mod], "r", lazy.spawn("rofi -matching-negate-char \0 -show run")), + Key([mod], "r", lazy.spawn("rofi -matching-negate-char '\0' -show run")), Key([mod], "w", lazy.spawn("firefox")), Key([mod], "Tab", lazy.spawn("rofi -show window")), @@ -192,6 +199,13 @@ cursor_warp = False auto_fullscreen = True focus_on_window_activation = "smart" + +@hook.subscribe.startup_once +def autostart(): + home = os.path.expanduser('~/.config/qtile/autostart.sh') + subprocess.run([home]) + + floating_layout = layout.Floating(float_rules=[ # Run the utility of `xprop` to see the wm class and name of an X client. *layout.Floating.default_float_rules, diff --git a/home-manager/desktop.nix b/home-manager/desktop.nix index 29ab58c..8843e84 100644 --- a/home-manager/desktop.nix +++ b/home-manager/desktop.nix @@ -35,7 +35,8 @@ programs.git.userEmail = "andreas@zweili.ch"; # raw config files - home.file.".config/qtile".source = ./configs/qtile; + home.file.".config/qtile/config.py".source = ./configs/qtile/config.py; + home.file.".config/qtile/autostart.sh".source = ./configs/qtile/autostart.sh; home.file.".config/terminator".source = ./configs/terminator; home.file.".local/share/applications/steam.desktop".source = ./desktop/applications/steam.desktop; diff --git a/home-manager/software/keeweb/default.nix b/home-manager/software/keeweb/default.nix index 953c825..f61c287 100644 --- a/home-manager/software/keeweb/default.nix +++ b/home-manager/software/keeweb/default.nix @@ -4,18 +4,5 @@ keeweb ]; - systemd.user.services.keeweb = { - Unit = { - description = "KeeWeb"; - partOf = [ "graphical-session.target" ]; - wantedBy = [ "graphical-session.target" ]; - }; - Service = { - Type = "simple"; - ExecStart = "${pkgs.keeweb}/bin/keeweb"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - KillMode = "process"; - Restart = "on-failure"; - }; - }; + home.file.".config/qtile/autostart.d/keeweb.sh".source = ./keeweb.sh; } diff --git a/home-manager/software/keeweb/keeweb.sh b/home-manager/software/keeweb/keeweb.sh new file mode 100755 index 0000000..dcf7206 --- /dev/null +++ b/home-manager/software/keeweb/keeweb.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +nohup keeweb & diff --git a/home-manager/software/signal/default.nix b/home-manager/software/signal/default.nix index d7cee48..cf22319 100644 --- a/home-manager/software/signal/default.nix +++ b/home-manager/software/signal/default.nix @@ -4,18 +4,5 @@ unstable.signal-desktop ]; - systemd.user.services.signal-desktop = { - Unit = { - description = "Signal Desktop"; - partOf = [ "graphical-session.target" ]; - wantedBy = [ "graphical-session.target" ]; - }; - Service = { - Type = "simple"; - ExecStart = "${pkgs.unstable.signal-desktop}/bin/signal-desktop"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - KillMode = "process"; - Restart = "on-failure"; - }; - }; + home.file.".config/qtile/autostart.d/signal.sh".source = ./signal.sh; } diff --git a/home-manager/software/signal/signal.sh b/home-manager/software/signal/signal.sh new file mode 100755 index 0000000..d2c340a --- /dev/null +++ b/home-manager/software/signal/signal.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +nohup signal-desktop & diff --git a/home-manager/software/telegram/default.nix b/home-manager/software/telegram/default.nix index 4e86d9a..03b2fed 100644 --- a/home-manager/software/telegram/default.nix +++ b/home-manager/software/telegram/default.nix @@ -4,18 +4,6 @@ unstable.tdesktop ]; - systemd.user.services.telegram-desktop = { - Unit = { - description = "Telegram Desktop"; - partOf = [ "graphical-session.target" ]; - wantedBy = [ "graphical-session.target" ]; - }; - Service = { - Type = "simple"; - ExecStart = "${pkgs.unstable.tdesktop}/bin/telegram-desktop"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - KillMode = "process"; - Restart = "on-failure"; - }; - }; + home.file.".config/qtile/autostart.d/telegram.sh".source = ./telegram.sh; + } diff --git a/home-manager/software/telegram/telegram.sh b/home-manager/software/telegram/telegram.sh new file mode 100755 index 0000000..bae1d75 --- /dev/null +++ b/home-manager/software/telegram/telegram.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +nohup telegram-desktop &