aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/interactive/configuration.nix
blob: c7765795454a3d9934dff34f6550933ce55f7405 (plain)
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
{ pkgs, ... }:
{
  system.stateVersion = "23.05";

  users.users = {
    alice = {
      isNormalUser = true;
      description = "Alice Foobar";
      password = "foobar";
      uid = 1000;
      extraGroups = [
        "wheel"
        "sharefs"
      ];
    };
    untrusted = {
      isNormalUser = true;
      description = "Untrusted user";
      password = "foobar";
      uid = 1001;
    };
  };

  home-manager.users.alice.home.stateVersion = "24.11";

  security = {
    sudo.wheelNeedsPassword = false;
    rtkit.enable = true;
    pam.loginLimits = [
      {
        domain = "@users";
        item = "rtprio";
        type = "-";
        value = 1;
      }
    ];
  };

  services = {
    getty.autologinUser = "alice";
    pipewire = {
      enable = true;
      alsa.enable = true;
      alsa.support32Bit = true;
      pulse.enable = true;
      jack.enable = true;
    };
  };

  environment.variables = {
    SWAYSOCK = "/tmp/sway-ipc.sock";
    WLR_RENDERER = "pixman";
  };

  programs = {
    sway.enable = true;

    bash.loginShellInit = ''
      if [ "$(tty)" = "/dev/tty1" ]; then
        set -e

        mkdir -p ~/.config/sway
        (sed s/Mod4/Mod1/ /etc/sway/config &&
        echo 'output * bg ${pkgs.nixos-artwork.wallpapers.simple-light-gray.gnomeFilePath} fill') > ~/.config/sway/config

        sway --validate
        systemd-cat --identifier=session sway && touch /tmp/sway-exit-ok
      fi
    '';
  };
}