kore / nixos / roles / workstation.nix35 lines · 955B · raw
1{ inputs, outputs, config, pkgs, lib, ... }:
2
3let
4 roleName = "workstation";
5 roleEnabled = lib.elem roleName config.kore.currentHost.roles;
6in {
7 imports = [ inputs.home-manager.nixosModules.home-manager ];
8
9 config = lib.mkMerge [{} (lib.mkIf roleEnabled {
10 home-manager = {
11 useGlobalPkgs = true;
12 useUserPackages = true;
13 extraSpecialArgs = { inherit inputs outputs; };
14
15 users.lostduk = outputs.homeConfigurations.${config.networking.hostName};
16 };
17
18 systemd.services.wipe-trash = {
19 restartIfChanged = false;
20 wantedBy = [ "multi-user.target" ];
21 serviceConfig = {
22 Type = "oneshot";
23 RemainAfterExit = true;
24 ExecStart = pkgs.writeShellScript "" ''
25 find '/home/lostduk' -mindepth 1 -maxdepth 1 \
26 ! -name 'documents' \
27 ! -name '.gnupg' \
28 ! -name '.password-store' \
29 -exec rm -r {} +
30 '';
31 };
32 };
33 })];
34}
35