1
0
Fork 0

Autostart

This commit is contained in:
Malte Brandy 2020-10-19 15:32:40 +02:00
parent ee3d4bc34f
commit d6fb0e2c1c
No known key found for this signature in database
GPG key ID: 226A2D41EF5378C9
5 changed files with 41 additions and 16 deletions

View file

@ -7,6 +7,11 @@ let
}; };
in { in {
apollo = let apollo = let
makeAutostart = name:
{ config, ... }: {
config.home.file.".config/autostart/${name}.desktop".source =
"${config.home.path}/share/applications/${name}.desktop";
};
setStartpage = startpage: setStartpage = startpage:
{ ... }: { { ... }: {
programs.firefox.profiles."fz2sm95u.default".settings = { programs.firefox.profiles."fz2sm95u.default".settings = {
@ -15,18 +20,15 @@ in {
}; };
makeBlock = list: makeBlock = list:
{ pkgs, lib, ... }: { { pkgs, lib, ... }: {
systemd.user = { systemd.user.services.blockserver = {
services.blockserver = { Unit.Description = "Serve a blocklist";
Unit = { Description = "Serve a blocklist"; }; Service = {
Service = { ExecStart = "${pkgs.python3}/bin/python -m http.server 8842 -d ${
ExecStart = "${pkgs.python3}/bin/python -m http.server 8842 -d ${ pkgs.writeTextDir "blocklist" (lib.concatStringsSep "\r\n" list)
pkgs.writeTextDir "blocklist" }";
(lib.concatStringsSep "\r\n" list) Restart = "always";
}";
Restart = "always";
};
Install = { WantedBy = [ "default.target" ]; };
}; };
Install.WantedBy = [ "default.target" ];
}; };
}; };
tinkerPages = [ tinkerPages = [
@ -81,6 +83,8 @@ in {
./roles/chat.nix ./roles/chat.nix
(setStartpage "https://stats.maralorn.de/d/health-status") (setStartpage "https://stats.maralorn.de/d/health-status")
(makeBlock [ ]) (makeBlock [ ])
(makeAutostart "firefox")
(makeAutostart "chat")
]; ];
in { in {
unrestricted = apolloConfig unrestricted; unrestricted = apolloConfig unrestricted;
@ -90,6 +94,9 @@ in {
./roles/pythia.nix ./roles/pythia.nix
(setStartpage "https://habitica.com") (setStartpage "https://habitica.com")
(makeBlock (tinkerPages ++ leisurePages)) (makeBlock (tinkerPages ++ leisurePages))
(makeAutostart "firefox")
(makeAutostart "kassandra")
(makeAutostart "kassandra2")
]; ];
research = apolloConfig [ research = apolloConfig [
./roles/research.nix ./roles/research.nix

View file

@ -17,6 +17,13 @@ let
terminalDesktopItem = name: namedTerminalDesktopItem name name; terminalDesktopItem = name: namedTerminalDesktopItem name name;
in { in {
home.packages = map superSimpleDesktopItem [ "kassandra2" ] home.packages = map superSimpleDesktopItem [ "kassandra2" "gw2" "chat" ]
++ map terminalDesktopItem [ "maintenance" "ncmpcpp" "kassandra" "hotkeys" "vim" "gw2" "chat" ]; ++ map terminalDesktopItem [
"maintenance"
"ncmpcpp"
"kassandra"
"hotkeys"
"vim"
"select-mode"
];
} }

View file

@ -52,7 +52,7 @@ in {
''; '';
quickUpdateMode = pkgs.writeHaskellScript { quickUpdateMode = pkgs.writeHaskellScript {
name = "quick-update-mode"; name = "quick-update-mode";
bins = [ updateModes pkgs.git pkgs.home-manager pkgs.nix-output-monitor]; bins = [ updateModes pkgs.git pkgs.home-manager pkgs.nix-output-monitor ];
} '' } ''
getMode :: IO Text getMode :: IO Text
getMode = decodeUtf8 <$> (cat "/home/maralorn/volatile/mode" |> captureTrim) getMode = decodeUtf8 <$> (cat "/home/maralorn/volatile/mode" |> captureTrim)
@ -66,7 +66,13 @@ in {
''; '';
selectMode = pkgs.writeHaskellScript { selectMode = pkgs.writeHaskellScript {
name = "select-mode"; name = "select-mode";
bins = [ pkgs.dialog activateMode pkgs.ncurses pkgs.sway pkgs.gnome3.gnome-session ]; bins = [
pkgs.dialog
activateMode
pkgs.ncurses
pkgs.sway
pkgs.gnome3.gnome-session
];
} '' } ''
main = do main = do
mode <- decodeUtf8 <$> (dialog "--menu" "Select Mode" "20" "80" "5" ${ mode <- decodeUtf8 <$> (dialog "--menu" "Select Mode" "20" "80" "5" ${
@ -75,7 +81,8 @@ in {
clear clear
writeFile "/home/maralorn/volatile/mode" mode writeFile "/home/maralorn/volatile/mode" mode
activate_mode activate_mode
concurrently_ (swaymsg "exit") gnome_session_quit void $ (try $ swaymsg "exit" :: IO (Either SomeException ()))
void $ (try $ gnome_session_quit "--no-prompt" :: IO (Either SomeException ()))
''; '';
inherit (pkgs.gnome3) nautilus; inherit (pkgs.gnome3) nautilus;

View file

@ -1,6 +1,9 @@
if [[ -n "$SSH_CONNECTION" && -z "$TMUX" ]] { if [[ -n "$SSH_CONNECTION" && -z "$TMUX" ]] {
exec mytmux exec mytmux
} }
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
exec sway
fi
mkdir -p /var/run/user/$UID/tmp/downloads mkdir -p /var/run/user/$UID/tmp/downloads
setopt prompt_subst setopt prompt_subst

View file

@ -21,6 +21,7 @@ self: super: {
{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TupleSections #-} {-# LANGUAGE TupleSections #-}
{-# LANGUAGE PartialTypeSignatures #-}
import Shh import Shh
import Relude import Relude