mirror of
https://github.com/Moe1369/nix-fleet.git
synced 2026-04-24 15:59:06 +02:00
user dynamic
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
nix-settings
|
nix-settings
|
||||||
security
|
security
|
||||||
shellapps
|
shellapps
|
||||||
|
user
|
||||||
version
|
version
|
||||||
zsh
|
zsh
|
||||||
];
|
];
|
||||||
|
|||||||
15
modules/base/users/user.nix
Normal file
15
modules/base/users/user.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
128
modules/gnome/gnome-de/gnome-settings.nix
Normal file
128
modules/gnome/gnome-de/gnome-settings.nix
Normal 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";
|
||||||
|
#};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{ inputs, ...}:
|
{ inputs, config, user, ... }: {
|
||||||
{
|
|
||||||
flake.nixosModules.computer-mo = {
|
flake.nixosModules.computer-mo = {
|
||||||
imports = with inputs.self.nixosModules; [
|
imports = with inputs.self.nixosModules; [
|
||||||
base
|
base
|
||||||
@@ -10,5 +9,9 @@
|
|||||||
gnome
|
gnome
|
||||||
mo
|
mo
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home-manager.users.${user}.imports = with config.flake.homeManagerModules; [
|
||||||
|
gnome-settings
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
flake.lib.mkHost = { system, user, host, extraModules ? [] }:
|
flake.lib.mkHost = { system, user, host, extraModules ? [] }:
|
||||||
|
let
|
||||||
|
fullnames = {
|
||||||
|
mo = "Mohamed Chrayed";
|
||||||
|
nadine = "Nadine Peukert";
|
||||||
|
administrator = "Administrator";
|
||||||
|
};
|
||||||
|
in
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit user host;
|
inherit user host;
|
||||||
|
fullname = fullnames.${user};
|
||||||
pkgs-unstable = import inputs.nixpkgs-unstable {
|
pkgs-unstable = import inputs.nixpkgs-unstable {
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
|
|||||||
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user