21 Commits

Author SHA1 Message Date
4cfd9973cd mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-19 10:34:55 +07:00
c48012b5f4 mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-19 09:41:16 +07:00
a6b684e1ec mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-17 16:06:52 +07:00
833042a63d mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-17 09:08:07 +07:00
05af2e6729 mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-12 18:04:26 +07:00
dd5b0e6ce6 mob next [ci-skip] [ci skip] [skip ci]
lastFile:flake.lock
2026-03-12 17:19:29 +07:00
df33190e96 mob next [ci-skip] [ci skip] [skip ci]
lastFile:inventories/emmie.nix
2026-03-12 16:01:22 +07:00
6b65a8101b mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/personal-computer/syncthing.nix
2026-03-11 18:00:03 +07:00
d710272711 mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/personal-computer/syncthing.nix
2026-03-11 17:58:28 +07:00
d800b5b3ab mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/personal-computer/syncthing.nix
2026-03-11 17:54:46 +07:00
4a47b2f2d2 mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/personal-computer/users.nix
2026-03-11 09:12:33 +07:00
67498d9c2c mob next [ci-skip] [ci skip] [skip ci]
lastFile:machines/rana/disko.nix
2026-03-10 16:22:31 +07:00
7874021e74 update(inventory.json): Installed rana 2026-03-10 16:17:16 +07:00
5e84b97462 update(inventory.json): Installed rana 2026-03-10 16:06:41 +07:00
df4182ee41 mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-10 13:26:53 +07:00
be2f67f538 mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-09 16:28:13 +07:00
48361f4c51 mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-09 16:02:26 +07:00
97a25687be mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-09 15:59:47 +07:00
8ee55216ad mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/flake-module.nix
2026-03-09 13:43:27 +07:00
84d4a4e311 mob next [ci-skip] [ci skip] [skip ci]
lastFile:inventories/personal-computer.nix
2026-03-09 13:36:26 +07:00
b13bc8f11d mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/home-profiles/home-user/emmie.nix
2026-03-09 11:12:43 +07:00
9 changed files with 182 additions and 8 deletions

24
flake.lock generated
View File

@@ -221,6 +221,29 @@
"type": "github"
}
},
"plasma-manager": {
"inputs": {
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1772361940,
"narHash": "sha256-B1Cz+ydL1iaOnGlwOFld/C8lBECPtzhiy/pP93/CuyY=",
"owner": "nix-community",
"repo": "plasma-manager",
"rev": "a4b33606111c9c5dcd10009042bb710307174f51",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "plasma-manager",
"type": "github"
}
},
"root": {
"inputs": {
"clan-core": "clan-core",
@@ -230,6 +253,7 @@
"import-tree": "import-tree",
"liminix": "liminix",
"nixpkgs": "nixpkgs",
"plasma-manager": "plasma-manager",
"treefmt-nix": "treefmt-nix"
}
},

View File

@@ -19,6 +19,11 @@
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/home-manager";
};
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
import-tree.url = "github:vic/import-tree";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
treefmt-nix = {

View File

@@ -1,3 +1,8 @@
{ config, ... }:
let
username = "emmie";
userhome = "/home/${username}";
in
{
clan.inventory = {
tags = {
@@ -12,6 +17,11 @@
};
roles.peer.tags.emmie = { };
roles.peer.settings = {
folders = {
Syncthing = {
path = "${userhome}/Share/Syncthing";
};
};
extraDevices = {
pixel7a = {
id = "CEUJMEG-SOHXIJF-G2FT5QB-6MZW3EN-PONI3QN-HPEIOSU-IMSLGW7-XUU6BQK";
@@ -20,6 +30,14 @@
};
};
};
roles.peer.extraModules = [
{
config.services.syncthing = {
user = username;
dataDir = "${userhome}/Share";
};
}
];
};
};
};

View File

@@ -14,14 +14,9 @@
instances = {
emmie-home = {
module = {
name = "home-user";
name = "emmie-home";
input = "self";
};
roles.default.settings = {
username = "emmie";
kbLayout = "us,th";
kbOptions = "grp:win_space_toggle,grp:alt_shift_toggle";
};
roles.default.machines."rana" = { };
};
chocolate-home = {

View File

@@ -22,7 +22,7 @@
"installedAt": 1765343708
},
"rana": {
"installedAt": 1768294839
"installedAt": 1773134236
},
"petra": {
"installedAt": 1769064458

View File

@@ -53,6 +53,9 @@ in
zroot = {
type = "zpool";
rootFsOptions = {
encryption = "aes-256-gcm";
keyformat = "passphrase";
keylocation = "file:///tmp/secret.key";
mountpoint = "none";
compression = "lz4";
acltype = "posixacl";

View File

@@ -2,5 +2,6 @@
{
clan.modules = {
home-user = lib.modules.importApply ./home-user { };
emmie-home = lib.modules.importApply ./home-user/emmie.nix { };
};
}

View File

@@ -0,0 +1,128 @@
{ ... }:
{
_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, pkgs, ... }:
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";
};
programs.chromium = {
enable = true;
extraOpts = {
"BlockThirdPartyCookies" = true;
"ClearBrowsingDataOnExitList" = [
"download_history"
"cookies_and_other_site_data"
"cached_images_and_files"
"password_signin"
"autofill"
"site_settings"
"hosted_app_data"
];
"BraveRewardsDisabled" = true;
"BraveWalletDisabled" = true;
"BraveAIChatEnabled" = false;
"BraveNewsDisabled" = true;
"BraveSpeedreaderEnabled" = false;
"BraveWaybackMachineEnabled" = false;
"BraveStatsPingEnabled" = false;
"BraveWebDiscoveryEnabled" = false;
"BravePlaylistEnabled" = false;
"BraveVPNDisabled" = true;
"TorDisabled" = true;
"BraveP3AEnabled" = false;
"BraveTalkDisabled" = true;
"SyncDisabled" = false;
"PasswordManagerEnabled" = false;
"AutofillAddressEnabled" = false;
"AutofillCreditCardEnabled" = false;
"TranslateEnabled" = false;
"DnsOverHttpsMode" = "secure";
"DnsOverHttpsTemplates" = "https://dns.adguard-dns.com/dns-query";
};
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.${username} =
{
osConfig,
pkgs,
lib,
inputs,
...
}:
{
imports = [ inputs.plasma-manager.homeModules.plasma-manager ];
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
protonmail-desktop
];
};
programs.chromium.package = pkgs.brave;
programs.home-manager.enable = true;
services.syncthing.tray.enable = osConfig.services.syncthing.enable;
programs.plasma.enable = true;
programs.plasma.powerdevil = {
AC = {
autoSuspend.action = "shutDown";
autoSuspend.idleTimeout = 1800;
};
battery = {
autoSuspend.action = "shutDown";
autoSuspend.idleTimeout = 1800;
};
lowBattery = {
autoSuspend.action = "shutDown";
autoSuspend.idleTimeout = 1800;
};
};
};
home-manager.extraSpecialArgs = {
inherit inputs;
};
};
};
};
}

View File

@@ -4,7 +4,7 @@
security.polkit.extraConfig = ''
polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.accounts.change-own-password")) {
return polkit.Result.AUTH_SELF;
return polkit.Result.YES;
}
});
'';