blob: df5730880f20c9ec89d3f0c70d3fdd06dd15f704 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# SPDX-FileCopyrightText: 2020 Serokell <https://serokell.io/>
#
# SPDX-License-Identifier: MPL-2.0
nixpkgs:
let
pkgs = nixpkgs.legacyPackages.x86_64-linux;
generateSystemd = type: name: config:
(nixpkgs.lib.nixosSystem {
modules = [{ systemd."${type}s".${name} = config; }];
system = "x86_64-linux";
}).config.systemd.units."${name}.${type}".text;
mkService = generateSystemd "service";
service = pkgs.writeTextFile {
name = "hello.service";
text = mkService "hello" {
unitConfig.WantedBy = [ "multi-user.target" ];
path = [ pkgs.hello ];
script = "hello";
};
};
in pkgs.writeShellScriptBin "activate" ''
mkdir -p $HOME/.config/systemd/user
rm $HOME/.config/systemd/user/hello.service
ln -s ${service} $HOME/.config/systemd/user/hello.service
systemctl --user daemon-reload
systemctl --user restart hello
''
|