aya.nix 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. { config, lib, pkgs, inputs, ... }:
  2. let
  3. email = "badya65@gmail.com";
  4. user = "aya";
  5. username = "badbayan";
  6. in {
  7. users.users.${user} = {
  8. description = username;
  9. extraGroups = [ "wheel" "audio" "video" "kvm" "tss" "libvirtd" "networkmanager" "adbusers" ];
  10. initialPassword = user;
  11. isNormalUser = true;
  12. openssh.authorizedKeys.keys = import inputs.self.modules.keys.aya;
  13. };
  14. networking.firewall.allowedUDPPorts = [ 4242 ];
  15. nix.buildMachines = builtins.concatLists [
  16. (lib.optionals (config.networking.hostName != "yama") [{
  17. hostName = "10.0.0.1";
  18. maxJobs = 8;
  19. protocol = "ssh-ng";
  20. publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSVB2anVMK0hoRHdnb2dqYmJQbE1CSmxXbllOelloOGx0V3ZTTDB0NTg3MXEgcm9vdEB5YW1hCg==";
  21. speedFactor = 2;
  22. sshKey = "/root/.ssh/id_ed25519";
  23. sshUser = "nixbuilder";
  24. supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
  25. system = "x86_64-linux";
  26. }])
  27. ];
  28. environment = {
  29. gnome.excludePackages = with pkgs; [ gnome-text-editor ];
  30. systemPackages = with pkgs; [
  31. gdb
  32. sccache
  33. ];
  34. };
  35. home-manager.users.${user} = {
  36. imports = with inputs.self.modules.home; lib.optionals (config.roles.desktop != null) [
  37. dicts
  38. emacs
  39. nethack
  40. obs
  41. ];
  42. programs.git = {
  43. userEmail = email;
  44. userName = username;
  45. };
  46. dconf.settings = lib.mkIf (config.roles.desktop == "gnome") {
  47. "org/gnome/shell" = {
  48. enabled-extensions = [
  49. "AlphabeticalAppGrid@stuarthayhurst"
  50. "BingWallpaper@ineffable-gmail.com"
  51. "caffeine@patapon.info"
  52. # "overviewbackground@github.com.orbitcorrection"
  53. ];
  54. favorite-apps = [
  55. "google-chrome.desktop"
  56. "element-desktop.desktop"
  57. "foot.desktop"
  58. "emacs.desktop"
  59. "org.gnome.Nautilus.desktop"
  60. ];
  61. };
  62. "org/gnome/shell/extensions/bingwallpaper" = {
  63. set-background = false;
  64. };
  65. "org/gtk/gtk4/settings/file-chooser" = {
  66. show-hidden = true;
  67. };
  68. "org/gtk/settings/file-chooser" = {
  69. show-hidden = true;
  70. };
  71. };
  72. home.packages = lib.mkIf (config.roles.desktop != null) (with pkgs; [
  73. audacity
  74. crawlTiles
  75. eartag
  76. easyeffects
  77. element-desktop
  78. gimp
  79. google-chrome
  80. infra-arcana
  81. lan-mouse
  82. librewolf-wayland
  83. remmina
  84. telegram-desktop
  85. virt-manager
  86. ]);
  87. };
  88. }