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_layout = "fr,us";
|
||||||
xkb_options = "grp:alt_shift_toggle,compose:caps";
|
xkb_options = "grp:alt_shift_toggle,compose:caps";
|
||||||
|
xkb_numlock = "enabled";
|
||||||
};
|
};
|
||||||
"${inputs.kb.builtin}" = {
|
"${inputs.kb.builtin}" = {
|
||||||
xkb_layout = "fr";
|
xkb_layout = "fr";
|
||||||
};
|
};
|
||||||
"${inputs.kb.keychron}" = {
|
"${inputs.kb.keychron}" = {
|
||||||
xkb_layout = "us";
|
xkb_layout = "us";
|
||||||
xkb_numlock = "enabled";
|
|
||||||
};
|
};
|
||||||
"${inputs.kb.keychron_bt}" = {
|
"${inputs.kb.keychron_bt}" = {
|
||||||
xkb_layout = "us";
|
xkb_layout = "us";
|
||||||
xkb_numlock = "enabled";
|
};
|
||||||
|
"7504:24926:ZMK_Project_TOTEM_Keyboard" = {
|
||||||
|
xkb_layout = "us";
|
||||||
};
|
};
|
||||||
"type:touchpad" = {
|
"type:touchpad" = {
|
||||||
tap = "enabled";
|
tap = "enabled";
|
||||||
|
|
|
@ -74,7 +74,6 @@
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
steam.enable = true;
|
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
thunderbird.enable = true;
|
thunderbird.enable = true;
|
||||||
|
@ -176,7 +175,6 @@
|
||||||
glib
|
glib
|
||||||
wireguard-tools
|
wireguard-tools
|
||||||
dconf
|
dconf
|
||||||
pwvucontrol
|
|
||||||
xdg-utils
|
xdg-utils
|
||||||
brightnessctl
|
brightnessctl
|
||||||
pop-icon-theme
|
pop-icon-theme
|
||||||
|
|
|
@ -50,7 +50,6 @@
|
||||||
digikam
|
digikam
|
||||||
fragments
|
fragments
|
||||||
element-desktop
|
element-desktop
|
||||||
libreoffice
|
|
||||||
loupe
|
loupe
|
||||||
seahorse
|
seahorse
|
||||||
gimp
|
gimp
|
||||||
|
@ -59,6 +58,8 @@
|
||||||
protonmail-bridge-gui
|
protonmail-bridge-gui
|
||||||
varia
|
varia
|
||||||
signal-desktop
|
signal-desktop
|
||||||
|
onlyoffice-desktopeditors
|
||||||
|
picard
|
||||||
|
|
||||||
# Proprietary
|
# Proprietary
|
||||||
postman
|
postman
|
||||||
|
|
|
@ -3,5 +3,6 @@
|
||||||
./networking
|
./networking
|
||||||
./roles
|
./roles
|
||||||
./outputs.nix
|
./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