summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsinanmohd <sinan@sinanmohd.com>2023-09-02 11:45:57 +0530
committersinanmohd <sinan@sinanmohd.com>2023-09-02 11:50:28 +0530
commite441dc43cf5c9707cf580c36805a5aaa66f33b3c (patch)
tree0b86984a3d818ede2c6c42bdb0c63e7e9246cbf1
parent06d4452b1d18fd60b0f6adae50992418053f3971 (diff)
module/userdata: init
-rw-r--r--configuration.nix9
-rw-r--r--modules/userdata.nix18
-rw-r--r--modules/wayland.nix6
3 files changed, 27 insertions, 6 deletions
diff --git a/configuration.nix b/configuration.nix
index f128856..27b351e 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -1,16 +1,16 @@
{ config, pkgs, lib, ... }:
let
- user = config.passthru.user;
+ user = config.userdata.user;
+ groups = config.userdata.groups;
in
{
imports = [
./hardware-configuration.nix # hw scan
+ ./modules/userdata.nix
./hosts/cez.nix
];
- passthru.user = "sinan";
-
# boot
boot = {
tmp.useTmpfs = true;
@@ -29,9 +29,8 @@ in
isNormalUser = true;
extraGroups = [
"wheel"
- "seat"
"adbusers"
- ];
+ ] ++ groups;
packages = with pkgs; [
yt-dlp
geoipWithDatabase
diff --git a/modules/userdata.nix b/modules/userdata.nix
new file mode 100644
index 0000000..71a5a96
--- /dev/null
+++ b/modules/userdata.nix
@@ -0,0 +1,18 @@
+{ lib, ... }:
+
+let
+ inherit (lib) mkOption types mdDoc;
+in
+{
+ options.userdata = {
+ user = mkOption {
+ type = types.str;
+ default = "sinan";
+ description = mdDoc "owner's username";
+ };
+ groups = mkOption {
+ type = types.listOf types.str;
+ description = mdDoc "Groups the owner should be in";
+ };
+ };
+}
diff --git a/modules/wayland.nix b/modules/wayland.nix
index 17b9279..7af2f51 100644
--- a/modules/wayland.nix
+++ b/modules/wayland.nix
@@ -1,5 +1,8 @@
{ config, pkgs, ... }:
+let
+ user = config.userdata.user;
+in
{
imports = [ ./seatd.nix ];
@@ -20,7 +23,7 @@
wob
wlr-randr
];
- users.users.${config.passthru.user}.packages = with pkgs; [
+ users.users.${user}.packages = with pkgs; [
zathura
mpv
imv
@@ -75,6 +78,7 @@
};
};
+ userdata.groups = [ "seat" ];
security.pam.services.swaylock.text = "auth include login";
hardware.opengl.enable = true;
}