greenhouse

kore

my public infrastructure monorepo

git clone [email protected]:kore.git

kore / nixos / roles / workstation.nix44 lines · 1198B · 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          set -e
26
27          find '/home/lostduk' -mindepth 1 -maxdepth 1 \
28            ! -name 'documents' \
29            ! -name '.gnupg' \
30            ! -name '.password-store' \
31            ! -name '.config' \
32            -exec rm -r {} +
33
34          if [ -d /home/lostduk/.config ]; then
35            find /home/lostduk/.config -mindepth 1 -maxdepth 1 \
36              ! -name 'opencode' \
37              -exec rm -r {} +
38          fi
39        '';
40      };
41    };
42  })];
43}
44