From b13bc8f11d0a6bf60a65e54c542edb0ad96e27d7 Mon Sep 17 00:00:00 2001 From: kurogeek Date: Mon, 9 Mar 2026 11:12:43 +0700 Subject: [PATCH] mob next [ci-skip] [ci skip] [skip ci] lastFile:modules/clan/home-profiles/home-user/emmie.nix --- modules/clan/home-profiles/flake-module.nix | 1 + .../clan/home-profiles/home-user/emmie.nix | 72 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 modules/clan/home-profiles/home-user/emmie.nix diff --git a/modules/clan/home-profiles/flake-module.nix b/modules/clan/home-profiles/flake-module.nix index c6c6121..ccbd2a6 100644 --- a/modules/clan/home-profiles/flake-module.nix +++ b/modules/clan/home-profiles/flake-module.nix @@ -2,5 +2,6 @@ { clan.modules = { home-user = lib.modules.importApply ./home-user { }; + emmie = lib.modules.importApply ./home-user/emmie { }; }; } diff --git a/modules/clan/home-profiles/home-user/emmie.nix b/modules/clan/home-profiles/home-user/emmie.nix new file mode 100644 index 0000000..d750f2d --- /dev/null +++ b/modules/clan/home-profiles/home-user/emmie.nix @@ -0,0 +1,72 @@ +{ ... }: +{ + _class = "clan.service"; + manifest.name = "emmie-home-manager"; + manifest.description = "Emmie's home-manager profile generator"; + manifest.readme = "Emmie's home-manager profile generator"; + manifest.categories = [ "System" ]; + + roles.default = { + description = "a default role for the user"; + perInstance = + { ... }: + { + nixosModule = + { inputs, ... }: + let + username = "emmie"; + in + { + imports = [ inputs.home-manager.nixosModules.home-manager ]; + + users.users.${username} = { + initialPassword = ""; + isNormalUser = true; + extraGroups = [ + "audio" + "video" + "networkmanager" + ]; + }; + + services.xserver = { + enable = true; + xkb.layout = "us,th"; + xkb.options = "grp:win_space_toggle,grp:alt_shift_toggle"; + }; + + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.${username} = + { + osConfig, + pkgs, + lib, + ... + }: + { + home = { + homeDirectory = lib.mkForce "/home/${username}"; + stateVersion = osConfig.system.stateVersion; + packages = with pkgs; [ + libreoffice-fresh + element-desktop + signal-desktop + brave + firefox + keepassxc + vlc + thunderbird + wasabiwallet + ]; + }; + programs.home-manager.enable = true; + services.syncthing.tray.enable = osConfig.services.syncthing.enable; + }; + home-manager.extraSpecialArgs = { + inherit inputs; + }; + }; + }; + }; +}