summaryrefslogtreecommitdiff
path: root/configuration/home-manager/hostnet.nix
blob: b8f64181a162f41deb086e734b278243d86a3fe6 (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
{ config, pkgs, ... }:
let
  nodePkgs = pkgs.nodePackages;
  homeDir = "${config.home.homeDirectory}";
  llamaDir = "${homeDir}/.llama";
  apache2Dir = "${homeDir}/.apache2";
  httpd = "${pkgs.apacheHttpd}/bin/httpd";
in {
  home.packages = [
    pkgs.pre-commit
    nodePkgs.webpack
    nodePkgs.webpack-cli

    (pkgs.writeShellScriptBin "use-toolbox" ''
      source ${config.home.homeDirectory}/projects/toolbox/var/bootstrap.zsh
    '')
  ];

  programs = {
    rbenv = {
      enable = true;
      enableZshIntegration = true;
      plugins = [{
        name = "ruby-build";
        src = pkgs.fetchFromGitHub {
          owner = "rbenv";
          repo = "ruby-build";
          rev = "v20230717";
          hash = "sha256-kvdANiz9R5pQMTBRHvxC5bfBewIhXc+sgRbe7V2rVU8=";
        };
      }];
    };
  };

  systemd.user.services.llama = {
    Unit.Description = "Hostnet Apache LLama";
    Service = {
      ExecStartPre = "${llamaDir}/se-vhosts.sh";
      ExecStart = "${httpd} -f ${llamaDir}/apache2.conf -DFOREGROUND";
      RestartSec = "2";
      Restart = "always";
      Environment = [
        "APACHE_RUN_DIR=${apache2Dir}"
        "APACHE_CONFDIR=${llamaDir}"
        "APACHE_RUN_USER=${config.home.username}"
        "APACHE_RUN_GROUP=${config.home.username}"
        "APACHE_PID_FILE=${homeDir}/.apache2.pid"
        "APACHE_RUN_FILE=${apache2Dir}/run"
        "APACHE_LOCK_FILE=${apache2Dir}/lock"
        "APACHE_LOG_FILE=${apache2Dir}/log"
      ];
    };
    Install.WantedBy = [ "default.target" ];
  };
}