From 61d59a331851dbfbdbe19c82567a53a4b924eba9 Mon Sep 17 00:00:00 2001 From: albert <albert@sysctl.io> Date: Mon, 13 Jan 2025 18:05:14 +0100 Subject: [PATCH] Update containers, add Jared as a user --- nixos/containers/jared-rdesktop/default.nix | 23 ----------------- nixos/containers/jared-rdesktop/mounts.nix | 20 --------------- nixos/containers/rdesktop/default.nix | 1 + nixos/hosts/nuc-server/containers.nix | 2 +- nixos/users/jared/default.nix | 28 +++++++++++++++++++++ nixos/users/jared/desktop.nix | 11 ++++++++ 6 files changed, 41 insertions(+), 44 deletions(-) delete mode 100644 nixos/containers/jared-rdesktop/default.nix delete mode 100644 nixos/containers/jared-rdesktop/mounts.nix create mode 100644 nixos/users/jared/default.nix create mode 100644 nixos/users/jared/desktop.nix diff --git a/nixos/containers/jared-rdesktop/default.nix b/nixos/containers/jared-rdesktop/default.nix deleted file mode 100644 index 00fa17a1..00000000 --- a/nixos/containers/jared-rdesktop/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ pkgs, desktop, username, ... }: { - imports = [ - ../../users/${username} - ../../common/desktops/${desktop} - ../../common/packages - ../../common/modules/fonts.nix - ../../common/software/cli/scripts.nix - ]; - - hardware.pulseaudio.extraModules = [ pkgs.pulseaudio-module-xrdp ]; - - services.xrdp = { - enable = true; - openFirewall = true; - audio = { - enable = true; - package = pkgs.pulseaudio-module-xrdp; - }; - }; - environment.systemPackages = with pkgs; [ - signal-desktop - ]; -} diff --git a/nixos/containers/jared-rdesktop/mounts.nix b/nixos/containers/jared-rdesktop/mounts.nix deleted file mode 100644 index c78567d8..00000000 --- a/nixos/containers/jared-rdesktop/mounts.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - "/etc/nixos/git" = { - hostPath = "/etc/nixos/git"; - mountPoint = "/etc/nixos/git"; - isReadOnly = false; - }; - "/shared" = { - hostPath = "/Storage/Data/Docker/sysctl.io/guacamole/guacd/shared"; - mountPoint = "/shared"; - isReadOnly = false; - }; - "/home/albert/.ssh/id_ed25519" = { - mountPoint = "/home/albert/.ssh/id_ed25519"; - isReadOnly = true; - }; - "/home/albert/.ssh/id_ed25519.pub" = { - mountPoint = "/home/albert/.ssh/id_ed25519.pub"; - isReadOnly = true; - }; -} diff --git a/nixos/containers/rdesktop/default.nix b/nixos/containers/rdesktop/default.nix index 525920b3..0c007ad7 100644 --- a/nixos/containers/rdesktop/default.nix +++ b/nixos/containers/rdesktop/default.nix @@ -8,6 +8,7 @@ ../../common/software/cli/scripts.nix ../../common/services/tailscale-autoconnect.nix ../../common/services/syncthing.nix + ../../users/jared/default.nix ]; hardware.pulseaudio.extraModules = [ pkgs.pulseaudio-module-xrdp ]; diff --git a/nixos/hosts/nuc-server/containers.nix b/nixos/hosts/nuc-server/containers.nix index aa29f4f8..7dc2818b 100644 --- a/nixos/hosts/nuc-server/containers.nix +++ b/nixos/hosts/nuc-server/containers.nix @@ -4,7 +4,7 @@ let in { containers = { - rdesktop = libx.mkContainer { hostname = "jared-rdesktop"; ip = "2"; unfree = true; desktop = "gnome"; }; + rdesktop = libx.mkContainer { hostname = "rdesktop"; ip = "2"; unfree = true; desktop = "gnome"; }; }; # Networking config diff --git a/nixos/users/jared/default.nix b/nixos/users/jared/default.nix new file mode 100644 index 00000000..c163a85d --- /dev/null +++ b/nixos/users/jared/default.nix @@ -0,0 +1,28 @@ +{ config, desktop, lib, pkgs, ... }: +let + ifExists = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups; +in { + # Define a user account. + imports = [ ] ++ lib.optional (builtins.isString desktop) ./desktop.nix; + + users = { + mutableUsers = false; + users.jared = { + isNormalUser = true; + description = "Jared Coppeland"; + # video is required for the "light" command to work + extraGroups = [ "networkmanager" ] + ++ ifExists [ "keys" ] + ++ ifExists [ "audio" ] + ++ ifExists [ "video" ]; + shell = pkgs.fish; + # mkpasswd -m sha-512 + hashedPassword = "$6$5CTica.d8BNST2Yg$V85MzLwAAPdoubpwWD8yR2ntxsxgxGhBwYRsXLQ/Vo8krlN1skoTyjfNVjt94EO/0muF3R2UkLlA6YWi1blbD1"; + }; + groups.jared = { + gid = 1001; + name = "jared"; + members = [ "jared" ]; + }; + }; +} diff --git a/nixos/users/jared/desktop.nix b/nixos/users/jared/desktop.nix new file mode 100644 index 00000000..95f7d878 --- /dev/null +++ b/nixos/users/jared/desktop.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: { + # Steam, Vintage Story areu nfree. + environment.systemPackages = [ + pkgs.signal-desktop + + ]; + + imports = [ + ../../common/software/gui/firefox.nix + ]; +}