Compare commits
2 commits
07abb75bd6
...
8d9697d309
Author | SHA1 | Date | |
---|---|---|---|
8d9697d309 | |||
c4a76d610c |
5 changed files with 80 additions and 5 deletions
|
@ -182,17 +182,19 @@ lib.mkIf osConfig.programs.sway.enable {
|
|||
"*" = {
|
||||
xkb_layout = "fr,us";
|
||||
xkb_options = "grp:alt_shift_toggle,compose:caps";
|
||||
xkb_numlock = "enabled";
|
||||
};
|
||||
"${inputs.kb.builtin}" = {
|
||||
xkb_layout = "fr";
|
||||
};
|
||||
"${inputs.kb.keychron}" = {
|
||||
xkb_layout = "us";
|
||||
xkb_numlock = "enabled";
|
||||
};
|
||||
"${inputs.kb.keychron_bt}" = {
|
||||
xkb_layout = "us";
|
||||
xkb_numlock = "enabled";
|
||||
};
|
||||
"7504:24926:ZMK_Project_TOTEM_Keyboard" = {
|
||||
xkb_layout = "us";
|
||||
};
|
||||
"type:touchpad" = {
|
||||
tap = "enabled";
|
||||
|
|
|
@ -74,7 +74,6 @@
|
|||
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
steam.enable = true;
|
||||
fish.enable = true;
|
||||
firefox.enable = true;
|
||||
thunderbird.enable = true;
|
||||
|
@ -176,7 +175,6 @@
|
|||
glib
|
||||
wireguard-tools
|
||||
dconf
|
||||
pwvucontrol
|
||||
xdg-utils
|
||||
brightnessctl
|
||||
pop-icon-theme
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
digikam
|
||||
fragments
|
||||
element-desktop
|
||||
libreoffice
|
||||
loupe
|
||||
seahorse
|
||||
gimp
|
||||
|
@ -59,6 +58,8 @@
|
|||
protonmail-bridge-gui
|
||||
varia
|
||||
signal-desktop
|
||||
onlyoffice-desktopeditors
|
||||
picard
|
||||
|
||||
# Proprietary
|
||||
postman
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
./networking
|
||||
./roles
|
||||
./outputs.nix
|
||||
./users
|
||||
];
|
||||
}
|
||||
|
|
73
options/system/users/default.nix
Normal file
73
options/system/users/default.nix
Normal file
|
@ -0,0 +1,73 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkOption;
|
||||
inherit (lib.types)
|
||||
attrsOf
|
||||
submodule
|
||||
str
|
||||
package
|
||||
either
|
||||
;
|
||||
|
||||
cfg = config.modules.system.users;
|
||||
file = submodule (
|
||||
{ name, config, ... }:
|
||||
{
|
||||
options = {
|
||||
path = mkOption {
|
||||
type = either package null;
|
||||
default = null;
|
||||
};
|
||||
|
||||
content = mkOption {
|
||||
type = either str null;
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
in
|
||||
{
|
||||
options.modules.system.users = mkOption {
|
||||
default = { };
|
||||
type = attrsOf (
|
||||
submodule (
|
||||
{ name, config, ... }:
|
||||
{
|
||||
options = {
|
||||
name = mkOption {
|
||||
type = str;
|
||||
default = name;
|
||||
};
|
||||
|
||||
files = mkOption {
|
||||
type = attrsOf file;
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
config =
|
||||
let
|
||||
toDeriv =
|
||||
b: a: if a.content != null then pkgs.writers.writeText (lib.my.slugify b) a.content else a.path;
|
||||
in
|
||||
{
|
||||
systemd.tmpfiles.rules = lib.flatten (
|
||||
lib.mapAttrsToList (
|
||||
name: value:
|
||||
lib.mapAttrsToList (target: value: [
|
||||
"L+ /home/${name}/${target} - - - - ${toDeriv target value}"
|
||||
]) value.files
|
||||
) cfg
|
||||
);
|
||||
};
|
||||
}
|
Loading…
Add table
Reference in a new issue