aboutsummaryrefslogtreecommitdiff
path: root/hosts/the-meowchine/default.nix
blob: 4043a9316317a21cc64d496c262016863350f31d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
{
  config,
  lib,
  pkgs,
  ...
}:
{
	environment.systemPackages = with pkgs; [
		wireguard-tools
	];

  home-manager.users.rosa = {
    imports = [ ../../modules/user ];
    desktop.sessions.sway.enable = true;
    editors.kakoune.enable = true;
    home = {
      homeDirectory = "/home/rosa";
      packages = with pkgs; [
        audacity
        blockbench
        feishin
        gimp
        wine64
      ];

      stateVersion = "23.05";
      username = "rosa";
    };

    programs = {
      fuzzel.settings.main.font = lib.mkForce "Fira Code:size=14"; # idk what the issue is.
      iamb.enable = true;
      prismlauncher.enable = true;
      vesktop.enable = true;
    };
  };

  networking = {
	  useNetworkd = true;
	  wireless.iwd.enable = true;
  };

  programs = {
    gpu-screen-recorder.enable = true;
    steam.enable = true;
    sway.enable = true;
  };

  security.doas.enable = true;
  system = {
    enableDesktopDefaults = true;
    stateVersion = "23.05";
  };

  systemd.network = {
	  enable = true;
	  netdevs."90-wg0" = {
		  enable = true;
		  netdevConfig = {
			  Kind = "wireguard";
			  Name = "wg0";
		  };

		  wireguardConfig = {
			  PrivateKeyFile = "/etc/wireguard/the-meowchine.key";
			  RouteTable = "main";
		  };

		  wireguardPeers = [
			  {
				  AllowedIPs = [ "10.6.6.0/24" ];
				  Endpoint = "51.79.54.109:51820";
				  PersistentKeepalive = 25;
				  PublicKey = "ChnzJG0HJcgk3OhgTzoPZ9EOyhuCH1EAknaQ9VF7N0I=";
			  }
		  ];
	  };

	  networks = {
		  "89-wireless" = {
			  DHCP = "yes";
			  matchConfig.Name = "wlan0";
			  networkConfig.IgnoreCarrierLoss = "3s";
		  };

		  "90-wg0" = {
			  address = [ "10.6.6.3/24" ];
			  matchConfig.Name = "wg0";
		  };
	  };
  };

  users.users.rosa.enable = true;
}