summaryrefslogtreecommitdiff
path: root/nixos/profiles/workstation/default.nix
blob: 719268741d4d760770fba9c76e9878d01837c27a (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
{ config, pkgs, ... }:

let
  npins = import ../../npins;
  nixGit = import (pkgs.fetchFromGitHub {
    owner = "NixOS";
    repo = "nix";
    rev = "7a8a28629c61c75af010ff0a5a88c16c4ce536c7";
    sha256 = "sha256-oqG9AFPXBneKVmiWa9b9ai0hGZqHVKVFaFLdBZitSUA=";
  });
in
{
  imports = [
    ../common
    <top/shared/basics-physical.nix>
    ./graphical.nix
    ./dev.nix
    ./create.nix
  ];

  environment.systemPackages = [
    pkgs.npins
    (pkgs.callPackage "${npins.agenix}/pkgs/agenix.nix" {})
  ];

  environment.sessionVariables = {
    # Tell .zshrc to source zshrc-workstation.sh.
    MYNIX_PROFILE = "workstation";
  };

  # Age defaults to this anyway when openssh is enabled.
  # We're setting this here for workstations where openssh is disabled.
  age.identityPaths = ["/etc/ssh/ssh_host_ed25519_key"];

  # Using nix from git for --raw support in nix-instantiate --eval.
  # FUTURE: remove once upgrading to NixOS 25.05
  nix.package = nixGit.packages.${builtins.currentSystem}.default;
}