1
0

thomas.nix 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. { config, lib, pkgs, ... }:
  2. {
  3. users.users.thomas = {
  4. isNormalUser = true;
  5. extraGroups = [
  6. "keys"
  7. "wheel"
  8. "users"
  9. "storage"
  10. ];
  11. shell = config.programs.fish.package;
  12. hashedPasswordFile = config.age.secrets."odin/users/thomas".path;
  13. openssh.authorizedKeys.keys = [
  14. "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5o7LT5wPYWgI8Mvr6RKOv+BcsbQgU7PCw2hheVu17alwF1uFUsAYV5BVQu+uv9uEm/UDsCNhfM6TwI0A1prdmtBz4pKiwXbj7fcdp6DcVOgTsPfawbXEpivtJvlhEatyTsR26MjHKnqpT0BxPvj6Ug6pvRkCYW5d2bWXiY9murmAX6Q5kSyNunkB8PdRTH+S47f7eOdCJY63VBOkkiG8M7XyPwFCDTYiHhbMZcejIdY9mB6kYnMQVRHDznQWiQxrcaE1fD/TY3db9GDcOVoo2aDBOZX7WT2+me67sU8dEK9+nSyhWDzBbEs8knu87ZlKPFwhl4slenRniKhbf22OpicXArtEcjEj0GyDJH5e+ZCIQ4eSQanA7TxnKFlDuaf+Qqx55UT+ya4vJJeik7nkzbRHaE9IoWhhiOaOnaN6kHIxuxB6z7EL3Gk7f78+I/qBaj5df6fgnXM3JBXKa5bRH2wqoSetJAo6EGpEgmU2huB1ktiGlO7BlF5XwSw6cb/KT7NSIXhncgLkCzsDVXxecVQv1FnPISBcp3+ti01ADVf2trgpPDbNTWV40Rgiefie0o2fc6KWAFfum1j5N3WWU+XVVmRjDmKKHiEJBLNKDAe0rQf+tryPW4c5GIN7aFoB+8dYFAuUyLd7Fu3vhZdmcckN5ryHunEc0dKPIiuoVZw=="
  15. ];
  16. };
  17. systemd.services.setup-home-manager =
  18. let
  19. git = lib.getExe' pkgs.git "git";
  20. nix = lib.getExe' pkgs.nix "nix";
  21. in
  22. {
  23. description = "Setup home-manager configuration for thomas";
  24. after = [ "network-online.target" ];
  25. wants = [ "network-online.target" ];
  26. wantedBy = [ "multi-user.target" ];
  27. serviceConfig = {
  28. Type = "oneshot";
  29. RemainAfterExit = true;
  30. User = "thomas";
  31. Group = "users";
  32. };
  33. path = [ pkgs.git pkgs.nix ];
  34. script = ''
  35. if [ ! -d "/home/thomas/workspace/control/home" ]; then
  36. echo "Setting up home environment..."
  37. mkdir -p "/home/thomas/workspace/control"
  38. cd "/home/thomas/workspace/control"
  39. ${git} clone https://codeberg.org/control/home.git
  40. cd home
  41. ${nix} run github:nix-community/home-manager -- switch -b backup --flake .#thomas@odin
  42. fi
  43. '';
  44. };
  45. }