summary refs log tree commit diff
path: root/host/Rory-devenv/configuration.nix
blob: ae1fe1a89e8dfa77f30c4d7e3d0f781ed7f6719f (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
{ config, pkgs, lib, ... }:

{
  imports =
    [
      ../../modules/base-server.nix
    ];

  networking = {
    hostName = "Rory-devenv";
    interfaces.ens18.ipv4.addresses = [ { 
      address = "192.168.1.254";
      prefixLength = 24;
    } ];
    interfaces.ens19.ipv4.addresses = [ {
      address = "10.10.10.254";
      prefixLength = 16;
    } ];
  };

  systemd.tmpfiles.rules = [  "d /data/pg 0750 postgres postgres" ];

  services = {
    postgresql = {
      enable = true;
      package = pkgs.postgresql_14;
      enableTCPIP = true;
      authentication = pkgs.lib.mkOverride 10 ''
        # TYPE, DATABASE, USER, ADDRESS, METHOD
        local all all trust
        host all all 127.0.0.1/32 trust
        host all all ::1/128 trust
        host all all 0.0.0.0/0 md5
      '';
      # initialScript = pkgs.writeText "backend-initScript" ''
      #   CREATE ROLE nixcloud WITH LOGIN PASSWORD 'nixcloud' CREATEDB;
      #   CREATE DATABASE nixcloud;
      #   GRANT ALL PRIVILEGES ON DATABASE nixcloud TO nixcloud;
      # '';

      # we dont care about data here - this is a dev env
      #dataDir = "/data/pg";
      settings = {
        "max_connections" = "100";
        "shared_buffers" = "128MB";
        "max_wal_size" = "1GB";
        "min_wal_size" = "80MB";
      };
    };
    xserver = {
      enable = true;
      desktopManager.plasma5 = {
        enable = true;
        #phonon-backend = "gstreamer";
        excludePackages = with pkgs.libsForQt5; [ konsole print-manager khelpcenter oxygen okular gwenview elisa ];
      };
      displayManager.sddm.enable = true;
      displayManager.sddm.autoLogin = {
        enable = true;
        user = "Rory";
      };
      libinput.enable = true;
      videoDrivers = [ "qxl" ];
    };
    qemuGuest.enable = true;
    spice-vdagentd.enable = true;
  };

  environment.systemPackages = with pkgs; [
    zsh
    gnome-console
    kitty
    feh
    lsd
    sshfs
    cinnamon.nemo
    firefox-bin
    udisks
    gparted
    glxinfo
    vscode-with-extensions
    nodejs
  ];
  fonts.fonts = with pkgs; [
    (nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
  ];

  system.stateVersion = "22.11"; # DO NOT EDIT!
}