greenhouse

kore

my public infrastructure monorepo

git clone [email protected]:kore.git

kore / nixos / roles / workstation.nix39 lines · 1064B · 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    nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
19      "claude-code"
20    ];
21
22    systemd.services.wipe-trash = {
23      restartIfChanged = false;
24      wantedBy = [ "multi-user.target" ];
25      serviceConfig = {
26        Type = "oneshot";
27        RemainAfterExit = true;
28        ExecStart = pkgs.writeShellScript "" ''
29          find '/home/lostduk' -mindepth 1 -maxdepth 1 \
30            ! -name 'documents' \
31            ! -name '.gnupg' \
32            ! -name '.password-store' \
33            -exec rm -r {} +
34        '';
35      };
36    };
37  })];
38}
39