user dynamic

This commit is contained in:
2026-03-03 11:14:11 +01:00
parent 5d0cf3bad7
commit ca813f3eb2
6 changed files with 157 additions and 18 deletions

View File

@@ -9,6 +9,7 @@
nix-settings
security
shellapps
user
version
zsh
];

View File

@@ -0,0 +1,15 @@
{ inputs, ... }: {
flake.nixosModules.user = { pkgs, user, fullname, ... }: {
users.users.${user} = {
isNormalUser = true;
description = fullname;
extraGroups = [ "networkmanager" "wheel" "video" "audio" ];
shell = pkgs.zsh;
};
home-manager.users.${user} = {
home.username = user;
home.homeDirectory = "/home/${user}";
home.stateVersion = "25.11";
};
};
}

View File

@@ -0,0 +1,128 @@
{ inputs, ... }: {
flake.homeManagerModules.gnome = { user, ... }: {
dconf.settings = {
"org/gnome/shell/keybindings" = {
focus-active-notification = [];
open-new-window-application-1 = [];
open-new-window-application-2 = [];
open-new-window-application-3 = [];
open-new-window-application-4 = [];
open-new-window-application-5 = [];
open-new-window-application-6 = [];
open-new-window-application-7 = [];
open-new-window-application-8 = [];
open-new-window-application-9 = [];
toggle-message-tray = ["<Super>N"];
};
"org/gnome/settings-daemon/plugins/media-keys" = {
help = [];
home = ["<Super>E"];
screenreader = [];
magnifier = [];
magnifier-zoom-in = [];
magnifier-zoom-out = [];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
command = ["kgx --tab"];
name = ["Console"];
};
"org/gnome/desktop/wm/keybindings" = {
activate-window-menu = [];
always-on-top = ["<Super>T"];
begin-move = ["<Super>M"];
begin-resize = ["<Super>R"];
close = ["<Super>Q"];
cycle-group = [];
cycle-group-backward = [];
cycle-panels = [];
cycle-panels-backward = [];
cycle-windows = [];
cycle-windows-backward = [];
lower = [];
maximize = [];
maximize-horizontally = [];
minimize = ["<Super>Down"];
move-to-monitor-down = [];
move-to-monitor-left = [];
move-to-monitor-right = [];
move-to-monitor-up = [];
move-to-workspace-1 = [];
move-to-workspace-down = [];
move-to-workspace-last = [];
move-to-workspace-left = [];
move-to-workspace-right = [];
move-to-workspace-up = [];
show-desktop = ["<Super>D"];
switch-applications = ["<Alt>Tab"];
switch-applications-backward = ["<Shift><Alt>Tab"];
switch-group = ["<Super>Tab"];
switch-group-backward = ["<Shift><Super>Tab"];
panel-run-dialog = ["<Alt>Space"];
switch-input-source = [];
switch-input-source-backward = [];
switch-panels = [];
switch-panels-backward = [];
switch-to-workspace-1 = [];
switch-to-workspace-down = [];
switch-to-workspace-last = [];
switch-to-workspace-left = [];
switch-to-workspace-right = [];
switch-to-workspace-up = [];
toggle-fullscreen = ["<Super>F"];
toggle-maximized = ["<Super>Up"];
toggle-on-all-workspaces = ["<Super>S"];
unmaximize = [];
};
"org/gnome/mutter" = {
experimental-features = ["variable-refresh-rate"];
center-new-windows = true;
edge-tiling = true;
dynamic-workspaces = true;
};
"org/gnome/desktop/interface" = {
font-name = "IBM Plex Sans 11";
document-font-name = "IBM Plex Sans 11";
monospace-font-name = "IBM Plex Mono 11";
gtk-theme = "adw-gtk3";
enable-hot-corners = false;
cursor-theme = "Adwaita";
};
"org/gnome/shell/extensions/rounded-window-corners-reborn" = {
border-width = -2;
skip-libadwaita-app = false;
};
"org/gnome/shell/extensions/clipboard-indicator" = {
toggle-menu = ["<Super>V"];
};
"org/gnome/shell/extensions/azwallpaper" = {
slideshow-use-absolute-time-for-duration = true;
};
"org/gnome/desktop/background" = {
color-shading-type = "solid";
picture-options = "zoom";
};
"org/gnome/shell/extensions/nightthemeswitcher/commands" = {
enabled = true;
sunrise = "gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3' && gsettings set org.gnome.desktop.interface color-scheme 'default'";
sunset = "gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark' && gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'";
};
"org/gnome/shell" = {
enabled-extensions = [
"light-style@gnome-shell-extensions.gcampax.github.com"
"clipboard-indicator@tudmotu.com"
"AlphabeticalAppGrid@stuarthayhurst"
"rounded-window-corners@fxgn"
"appindicatorsupport@rgcjonas.gmail.com"
"nightthemeswitcher@romainvigier.fr"
"azwallpaper@azwallpaper.gitlab.com"
];
};
};
#home.file.wallpaper = {
# recursive = true;
# source = ../../../assets;
# target = "Bilder/Wallpaper";
#};
};
}

View File

@@ -1,5 +1,4 @@
{ inputs, ...}:
{
{ inputs, config, user, ... }: {
flake.nixosModules.computer-mo = {
imports = with inputs.self.nixosModules; [
base
@@ -10,5 +9,9 @@
gnome
mo
];
home-manager.users.${user}.imports = with config.flake.homeManagerModules; [
gnome-settings
];
};
}

View File

@@ -1,9 +1,17 @@
{ inputs, ... }: {
flake.lib.mkHost = { system, user, host, extraModules ? [] }:
let
fullnames = {
mo = "Mohamed Chrayed";
nadine = "Nadine Peukert";
administrator = "Administrator";
};
in
inputs.nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit user host;
fullname = fullnames.${user};
pkgs-unstable = import inputs.nixpkgs-unstable {
inherit system;
config.allowUnfree = true;

View File

@@ -1,16 +0,0 @@
{ inputs, ... }: {
flake.nixosModules.mo = { pkgs, ... }: {
users.users.mo = {
isNormalUser = true;
description = "Mohamed Chrayed";
extraGroups = [ "networkmanager" "wheel" "video" "audio" ];
shell = pkgs.zsh;
};
home-manager.users.mo = {
home.username = "mo";
home.homeDirectory = "/home/mo";
home.stateVersion = "25.11";
};
};
}