summaryrefslogtreecommitdiff
path: root/nixos/profiles/workstation/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/profiles/workstation/default.nix')
-rw-r--r--nixos/profiles/workstation/default.nix54
1 files changed, 38 insertions, 16 deletions
diff --git a/nixos/profiles/workstation/default.nix b/nixos/profiles/workstation/default.nix
index 8a77434..fee6a86 100644
--- a/nixos/profiles/workstation/default.nix
+++ b/nixos/profiles/workstation/default.nix
@@ -1,6 +1,7 @@
-{ config, pkgs, ... }:
+{ config, lib, pkgs, ... }:
let
+ cfg = config.workstation;
npins = import ../../npins;
nixGit = import (pkgs.fetchFromGitHub {
owner = "NixOS";
@@ -10,6 +11,12 @@ let
});
in
{
+ options.workstation = {
+ username = lib.mkOption {
+ type = lib.types.str;
+ };
+ };
+
imports = [
../common
<top/shared/basics-physical.nix>
@@ -18,23 +25,38 @@ in
./create.nix
];
- environment.systemPackages = [
- pkgs.npins
- (pkgs.callPackage "${npins.agenix}/pkgs/agenix.nix" {})
+ config = {
+ users.users.${cfg.username} = {
+ isNormalUser = true;
+ extraGroups = [
+ "wheel"
+ "networkmanager"
+ ];
+ };
- pkgs.unzip
- ];
+ services.getty = {
+ autologinUser = cfg.username;
+ autologinOnce = true; # only in the first tty once per boot
+ };
- environment.sessionVariables = {
- # Tell .zshrc to source zshrc-workstation.sh.
- MYNIX_PROFILE = "workstation";
- };
+ environment.systemPackages = [
+ pkgs.npins
+ (pkgs.callPackage "${npins.agenix}/pkgs/agenix.nix" {})
- # 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"];
+ pkgs.unzip
+ ];
- # 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;
+ 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;
+ };
}