mirror of
https://github.com/Moe1369/nix-fleet.git
synced 2026-04-24 23:59:07 +02:00
migrated
This commit is contained in:
24
modules/base/group-base.nix
Normal file
24
modules/base/group-base.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{ inputs, config, ... }: {
|
||||||
|
flake.nixosModules.base-sys-group = {
|
||||||
|
imports = with inputs.self.nixosModules; [
|
||||||
|
base-sys-boot
|
||||||
|
base-sys-firmware
|
||||||
|
base-sys-hm
|
||||||
|
base-sys-locale
|
||||||
|
base-sys-network
|
||||||
|
base-sys-nix-settings
|
||||||
|
base-sys-rtkit
|
||||||
|
base-sys-shellapps
|
||||||
|
base-sys-sshd
|
||||||
|
base-sys-version
|
||||||
|
base-sys-zsh
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.homeModules.base-usr-group = { ... }: {
|
||||||
|
imports = with config.flake.homeModules; [
|
||||||
|
base-usr-git-all
|
||||||
|
base-usr-zsh-all
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
13
modules/base/sys/boot.nix
Normal file
13
modules/base/sys/boot.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-boot = {
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.systemd-boot.consoleMode = "max";
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.loader.timeout = 1;
|
||||||
|
boot.consoleLogLevel = 0;
|
||||||
|
boot.initrd.verbose = false;
|
||||||
|
boot.initrd.enable = true;
|
||||||
|
boot.plymouth.enable = true;
|
||||||
|
boot.plymouth.theme = "bgrt";
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/base/sys/firmware.nix
Normal file
6
modules/base/sys/firmware.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-firmware = {
|
||||||
|
services.fwupd.enable = true;
|
||||||
|
hardware.enableAllFirmware = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
21
modules/base/sys/hm.nix
Normal file
21
modules/base/sys/hm.nix
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{ inputs, config, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.base-sys-hm = {
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
(
|
||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
verbose = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
backupFileExtension = "backup";
|
||||||
|
backupCommand = "rm";
|
||||||
|
overwriteBackup = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
19
modules/base/sys/locale.nix
Normal file
19
modules/base/sys/locale.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-locale = {
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
i18n.defaultLocale = "de_DE.UTF-8";
|
||||||
|
console.keyMap = "de";
|
||||||
|
services.xserver.xkb.layout = "de";
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "de_DE.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||||
|
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||||
|
LC_MONETARY = "de_DE.UTF-8";
|
||||||
|
LC_NAME = "de_DE.UTF-8";
|
||||||
|
LC_NUMERIC = "de_DE.UTF-8";
|
||||||
|
LC_PAPER = "de_DE.UTF-8";
|
||||||
|
LC_TELEPHONE = "de_DE.UTF-8";
|
||||||
|
LC_TIME = "de_DE.UTF-8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
7
modules/base/sys/network.nix
Normal file
7
modules/base/sys/network.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-network = {lib, host, ... }:{
|
||||||
|
networking.firewall.enable = true;
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
networking.hostName = host;
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/base/sys/nix-settings.nix
Normal file
6
modules/base/sys/nix-settings.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-nix-settings = {
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/base/sys/rtkit.nix
Normal file
5
modules/base/sys/rtkit.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-rtkit = {
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
11
modules/base/sys/shellapps.nix
Normal file
11
modules/base/sys/shellapps.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-shellapps = { pkgs, ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
wget
|
||||||
|
git
|
||||||
|
nil
|
||||||
|
yaml-language-server
|
||||||
|
tree
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/base/sys/sshd.nix
Normal file
5
modules/base/sys/sshd.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-sshd = { config, ... }: {
|
||||||
|
services.openssh.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/base/sys/version.nix
Normal file
5
modules/base/sys/version.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-version = {
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
};
|
||||||
|
}
|
||||||
12
modules/base/sys/zsh.nix
Normal file
12
modules/base/sys/zsh.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base-sys-zsh = { pkgs, ... }: {
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
programs.zsh.enableCompletion = true;
|
||||||
|
programs.zsh.syntaxHighlighting.enable = true;
|
||||||
|
programs.zsh.autosuggestions.enable = true;
|
||||||
|
programs.zsh.autosuggestions.async = true;
|
||||||
|
programs.zsh.ohMyZsh.enable = true;
|
||||||
|
programs.zsh.ohMyZsh.theme = "agnoster";
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
}
|
||||||
0
modules/base/usr/dotfiles/zsh-config
Normal file
0
modules/base/usr/dotfiles/zsh-config
Normal file
13
modules/base/usr/git-all.nix
Normal file
13
modules/base/usr/git-all.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.homeModules.base-usr-git-all = { ... }: {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings.user.name = "Mohamed Chrayed";
|
||||||
|
settings.user.email = "mohamed@chrayed.de";
|
||||||
|
settings = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
core.editor = "nano";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/base/usr/zsh-all.nix
Normal file
5
modules/base/usr/zsh-all.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.homeModules.base-usr-zsh-all = { ... }: {
|
||||||
|
home.file.".zshrc".source = ./dotfiles/zsh-config;
|
||||||
|
};
|
||||||
|
}
|
||||||
13
modules/desktop/group-desktop.nix
Normal file
13
modules/desktop/group-desktop.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.nixosModules.desktop-sys-group = {
|
||||||
|
imports = with inputs.self.nixosModules; [
|
||||||
|
desktop-sys-bluetooth
|
||||||
|
desktop-sys-fonts
|
||||||
|
desktop-sys-gpu-amd
|
||||||
|
desktop-sys-input
|
||||||
|
desktop-sys-printing
|
||||||
|
desktop-sys-sound
|
||||||
|
desktop-sys-miscapps
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/desktop/sys/bluetooth.nix
Normal file
6
modules/desktop/sys/bluetooth.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.desktop-sys-bluetooth = {
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/desktop/sys/fonts.nix
Normal file
8
modules/desktop/sys/fonts.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.desktop-sys-fonts = { pkgs-unstable, ... }: {
|
||||||
|
environment.systemPackages = with pkgs-unstable; [
|
||||||
|
ibm-plex
|
||||||
|
adwaita-fonts
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
16
modules/desktop/sys/gpu-amd.nix
Normal file
16
modules/desktop/sys/gpu-amd.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.desktop-sys-gpu-amd = { pkgs, ... }: {
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
boot.kernelModules = [ "amdgpu" ];
|
||||||
|
|
||||||
|
hardware.amdgpu.initrd.enable = true;
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
vulkan-tools
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/desktop/sys/input.nix
Normal file
5
modules/desktop/sys/input.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.desktop-sys-input = {
|
||||||
|
services.libinput.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
9
modules/desktop/sys/miscapps.nix
Normal file
9
modules/desktop/sys/miscapps.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.desktop-sys-miscapps = { pkgs, ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
vesktop
|
||||||
|
pciutils
|
||||||
|
aha
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/desktop/sys/printing.nix
Normal file
5
modules/desktop/sys/printing.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.desktop-sys-printing = {
|
||||||
|
services.printing.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
10
modules/desktop/sys/sound.nix
Normal file
10
modules/desktop/sys/sound.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.desktop-sys-sound = { ... }: {
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
19
modules/disks/sys/singledisk.nix
Normal file
19
modules/disks/sys/singledisk.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.disks-sys-singledisk = {
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-label/root";
|
||||||
|
fsType = "xfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-label/boot";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [{
|
||||||
|
device = "/var/lib/swapfile";
|
||||||
|
size = 16 * 1024;
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
}
|
||||||
7
modules/gaming/sys/controller.nix
Normal file
7
modules/gaming/sys/controller.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.gaming-sys-controller = { ... }: {
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="*Wireless Controller Touchpad", ENV{LIBINPUT_IGNORE_DEVICE}="1"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/gaming/sys/jovian.nix
Normal file
8
modules/gaming/sys/jovian.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.gaming-sys-jovian = { ... }:{
|
||||||
|
jovian.steam.enable = true;
|
||||||
|
jovian.steam.autoStart = true;
|
||||||
|
jovian.steam.user = deck;
|
||||||
|
jovian.steam.desktopSession = "gnome";
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/gaming/sys/lact.nix
Normal file
6
modules/gaming/sys/lact.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.gaming-sys-lact = {
|
||||||
|
services.lact.enable = true;
|
||||||
|
hardware.amdgpu.overdrive.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
17
modules/gaming/sys/steam.nix
Normal file
17
modules/gaming/sys/steam.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.gaming-sys-steam = { pkgs-unstable, ... }: {
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
extest.enable = true;
|
||||||
|
|
||||||
|
extraCompatPackages = with pkgs-unstable; [
|
||||||
|
proton-ge-bin
|
||||||
|
];
|
||||||
|
|
||||||
|
extraPackages = with pkgs-unstable; [
|
||||||
|
gamescope
|
||||||
|
mangohud
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/gnome/sys/gdm-mo.nix
Normal file
6
modules/gnome/sys/gdm-mo.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.gnome-sys-gdm-mo = { ... }:{
|
||||||
|
services.displayManager.autoLogin.enable = true;
|
||||||
|
services.displayManager.autoLogin.user = "mo";
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/gnome/sys/gdm.nix
Normal file
5
modules/gnome/sys/gdm.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.gnome-sys-gdm = { ... }:{
|
||||||
|
services.displayManager.gdm.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
16
modules/gnome/sys/gnome-apps.nix
Normal file
16
modules/gnome/sys/gnome-apps.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.gnome-sys-gnome-apps = { pkgs-unstable, ...}:{
|
||||||
|
environment.systemPackages = with pkgs-unstable; [
|
||||||
|
adw-gtk3
|
||||||
|
refine
|
||||||
|
nautilus
|
||||||
|
nautilus-python
|
||||||
|
sushi
|
||||||
|
gnome-text-editor
|
||||||
|
gnome-console
|
||||||
|
loupe
|
||||||
|
cine
|
||||||
|
tsukimi
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/gnome/sys/gnome.nix
Normal file
8
modules/gnome/sys/gnome.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.gnome-sys-gnome = { pkgs, ... }: {
|
||||||
|
services.desktopManager.gnome.enable = true;
|
||||||
|
services.gnome.core-apps.enable = false;
|
||||||
|
services.gnome.core-developer-tools.enable = false;
|
||||||
|
services.gnome.games.enable = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
122
modules/gnome/usr/gnome-mo.nix
Normal file
122
modules/gnome/usr/gnome-mo.nix
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.homeModules.gnome-usr-gnome-mo = { ... }: {
|
||||||
|
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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/hosts/computer-mo/hardware.nix
Normal file
8
modules/hosts/computer-mo/hardware.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.computer-mo = { system, ... }: {
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
|
boot.kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" ];
|
||||||
|
nixpkgs.hostPlatform = system;
|
||||||
|
hardware.cpu.amd.updateMicrocode = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
25
modules/hosts/computer-mo/imports.nix
Normal file
25
modules/hosts/computer-mo/imports.nix
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{ inputs, config, ... }: {
|
||||||
|
flake.nixosModules.computer-mo = { ... }: {
|
||||||
|
imports = with inputs.self.nixosModules; [
|
||||||
|
mo
|
||||||
|
base-sys-group
|
||||||
|
apps-sys-brave
|
||||||
|
gaming-sys-controller
|
||||||
|
desktop-sys-group
|
||||||
|
gnome-sys-gdm
|
||||||
|
gnome-sys-gdm-mo
|
||||||
|
gnome-sys-gnome
|
||||||
|
gnome-sys-gnome-apps
|
||||||
|
gaming-sys-lact
|
||||||
|
apps-sys-onepassword
|
||||||
|
security-sys-secureboot
|
||||||
|
disks-sys-singledisk
|
||||||
|
security-sys-sopsnix
|
||||||
|
gaming-sys-steam
|
||||||
|
];
|
||||||
|
home-manager.users.mo.imports = with config.flake.homeModules; [
|
||||||
|
base-usr-group
|
||||||
|
gnome-usr-gnome-mo
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/hosts/computer-mo/nixosConfigurations.nix
Normal file
6
modules/hosts/computer-mo/nixosConfigurations.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.nixosConfigurations."computer-mo" = inputs.self.lib.mkHost {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
host = "computer-mo";
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/platform/flake-parts.nix
Normal file
5
modules/platform/flake-parts.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.flakeModules.home-manager
|
||||||
|
];
|
||||||
|
}
|
||||||
14
modules/platform/mkhost.nix
Normal file
14
modules/platform/mkhost.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.lib.mkHost = { system, host, extraModules ? [] }:
|
||||||
|
inputs.nixpkgs.lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
specialArgs = {
|
||||||
|
inherit host system;
|
||||||
|
pkgs-unstable = import inputs.nixpkgs-unstable {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
modules = [ inputs.self.nixosModules.${host} ] ++ extraModules;
|
||||||
|
};
|
||||||
|
}
|
||||||
17
modules/platform/nixsettings.nix
Normal file
17
modules/platform/nixsettings.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
];
|
||||||
|
|
||||||
|
perSystem = { system, ... }: {
|
||||||
|
_module.args.pkgs = import inputs.nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
_module.args.pkgs-unstable = import inputs.nixpkgs-unstable {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
modules/security/sys/.sops.yaml
Normal file
9
modules/security/sys/.sops.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
keys:
|
||||||
|
- &computer-mo age1yw3dt8myjpq3hek6gadzy8jd04l30ladgva7p74ktl7plfkwqs8qmk8c4x
|
||||||
|
- &mo age1nkqrkx782x6hnn5l8trh2e4v5pgygkx2ql4w8m20pc9jzsq244zs8d44qw
|
||||||
|
creation_rules:
|
||||||
|
- path_regex: secrets/secrets.yaml$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *computer-mo
|
||||||
|
- *mo
|
||||||
32
modules/security/sys/secrets/secrets.yaml
Normal file
32
modules/security/sys/secrets/secrets.yaml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
users:
|
||||||
|
mo:
|
||||||
|
password: ENC[AES256_GCM,data:fMGtx/NHXyw+zEeedTwnWTsW7SsiheGWAix1kGhPugVn+i9jaa4XazvIRvy4/TKR7naKHUXdeXJtpRvnNIusfZi0vxC6OT82lA==,iv:EVKCYKOj2GOE4FznqNPFXO0vMFYgJSYvTc+7xoFvMaU=,tag:NsMd2OBP4XLynSdRofkpEA==,type:str]
|
||||||
|
intern:
|
||||||
|
public: ENC[AES256_GCM,data:jbuP/i/iK/baGnHrVsXY4OQy0FYiTfOCKSXLd+8DscvMC4gndUpJBH2Jz2JOjMo/W/T5ZLvLfcqzC+d8pe1BofDN7qglc2VIT5nS4+CXq9U=,iv:7tBQilMyisvsAzWh5nAzY7Nyd/ucngt4+Wzn/0Wa8Y8=,tag:QK//7g44v0q2tO8d6VcBrA==,type:str]
|
||||||
|
extern:
|
||||||
|
public: ENC[AES256_GCM,data:Z7WsJxQWrnhLi+Lim9RIZvteyath+Z+e/17fAtvQT+2IZ4D5C1XRpmRG7D0knAMueXciK2sRPgAmkOVNAo7msDFnAqybb879Oyd7ms1dd6I=,iv:cmNClicrACt1lyvTrZRMiZv1EjbGl62GtHK/I2DVgiE=,tag:tH6nnWXowfSrJc8S9gpi+w==,type:str]
|
||||||
|
private: ENC[AES256_GCM,data:GVoLC4n6NGYzHqY6MFPsnquJmrkpmWbrGvDvjmFr8Z1aCr9I1ltKZd2RrrrRJ33KFh/U3x+vwirmdpSOXB8cDynau4XaP9cS+Hgs6LlYHMmAsWiiT5axjTmRvihgNE4mgWpIBZkeI7vrUamdiMt2Bis2JS9qXdLORxyB0Fo9ieQ0B47H17Y75t9AACfpGIRWAd9TGXtycKqxZ5yYmpwmE+Psxhh1VZCk3FPCVt/hxcwd37qmUnbaJKvcyk0J3/fD/JTn6wiNHbLsBpOrk59WclVIosGMI/UWzq24uSEP0WPd4ULyY3jOTIQmh6krsWfjuS3ytTyDJCDocT9zcOJC2GFgTOLSzOzvuQC4LegMuwxchWq7/1jMdLg/DOXG6XuaiVspHhgdsQodJGjz74z7w1TkObNRSMdm9oqbBzt1HWUf/fIYZv57QIPLprMS3H7+qTYan+DjSR7vq0xizTFNzvoMDhhWwGkDkjLROrKCNIVJPHYKWD53p+8Q+wpSnrmAKoOfYKARtsV7vGt/6A5o8z0K2fvZm1FIk9BBbRHan2zbYuqTeMeWbPwuZec5KWyyhB24omY7yMNauuQ04TJEXIUsEEh5CskjsJPW8pr6b1STvkINNZCKSsUZW48xwGi/,iv:UWwcQhaF0KR+waF7wHLEA9T0+K53TYoghs+9LrU8/jo=,tag:l4ndlXfLqdHu/zNF5e+YOw==,type:str]
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- recipient: age1yw3dt8myjpq3hek6gadzy8jd04l30ladgva7p74ktl7plfkwqs8qmk8c4x
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDMzF6WTZXRitScFpKdG1m
|
||||||
|
aHBnaThnTmkyanYrL0pIWGlSRXhlTUVzQ1RFCnJYZXBXeHBnN3dWSjFUbDdCb2tZ
|
||||||
|
NU5ZTE82VXltMVJLT3YzSVRIRWpUWkUKLS0tIHhtcno4WmJ6d0Y2NWkrOTZiWkNS
|
||||||
|
Y2xSUE0veVdCaERFUXpVeHdoVUd5V2MKV3DDB8WfAJkZ91MdWzz5Yi0D2u8ozeEi
|
||||||
|
AQY7by2kpV4oJWG96zu6grR1FU/jNqaC+qTCtIcb3/e7pK9pHdstow==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1nkqrkx782x6hnn5l8trh2e4v5pgygkx2ql4w8m20pc9jzsq244zs8d44qw
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvTFcwZnB5RGNNZWQyY2JR
|
||||||
|
ekg1c05BSU9Qay9RYlkxT3pCWlB4T2VJd1VJCmpuc08yZlhZRS93cnpoS0lBeFVY
|
||||||
|
ME1xQUtIcDc0aHJqVmJjUy9BbjhCMG8KLS0tIHpsMGVLSlhKc3JUTlhnTE1HbVUv
|
||||||
|
RVVGdEM3UFg5Y0ZhQmlJTGg1eUQxU1UK0U3aR79JWeFyvQRDVVmyICh1UTDIIeai
|
||||||
|
6E87FDE9XRhAbneR5sHw4ujnZCSyX7njfDMpN23dpWX3smRRKVIsNQ==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2026-03-03T15:55:44Z"
|
||||||
|
mac: ENC[AES256_GCM,data:PLOC5V43pfPcAzE1ZHAFrRedhNkxU4KXO9NU4Hw6PyrYoy9UiTN8H4bJEle5k9YH70hoqk/mAO4rM7B5UZUuz17JktoSaW0AESqi1V9H9LlWPKtJVTXlLm/OeZ456ExdHbocfZ+wKTNRwM1jVhzqqUZfAskuflRQjpIS5sOuJJ8=,iv:E8KIP+WyRt0VmpkfPHKEszYzUwoZAn4/oSShisBMqL0=,tag:Yrfg4uaqnwPirD3E9J5uSg==,type:str]
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.12.1
|
||||||
16
modules/security/sys/secureboot.nix
Normal file
16
modules/security/sys/secureboot.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.nixosModules.security-sys-secureboot = { pkgs, lib, ... }: {
|
||||||
|
imports = [
|
||||||
|
inputs.lanzaboote.nixosModules.lanzaboote
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.sbctl ];
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = lib.mkForce false;
|
||||||
|
|
||||||
|
boot.lanzaboote = {
|
||||||
|
enable = true;
|
||||||
|
pkiBundle = "/var/lib/sbctl";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
modules/security/sys/sops-nix.nix
Normal file
9
modules/security/sys/sops-nix.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.nixosModules.security-sys-sopsnix = { pkgs, ... }: {
|
||||||
|
imports = [ inputs.sops-nix.nixosModules.sops ];
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.age pkgs.sops ];
|
||||||
|
|
||||||
|
sops.defaultSopsFile = ./secrets/secrets.yaml;
|
||||||
|
};
|
||||||
|
}
|
||||||
9
modules/security/sys/sopsnix.nix
Normal file
9
modules/security/sys/sopsnix.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.nixosModules.security-sys-sopsnix = { pkgs, ... }: {
|
||||||
|
imports = [ inputs.sops-nix.nixosModules.sops ];
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.age pkgs.sops ];
|
||||||
|
|
||||||
|
sops.defaultSopsFile = ./secrets/secrets.yaml;
|
||||||
|
};
|
||||||
|
}
|
||||||
23
modules/users/mo.nix
Normal file
23
modules/users/mo.nix
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.nixosModules.mo = { pkgs, config, ... }: {
|
||||||
|
home-manager.extraSpecialArgs = {};
|
||||||
|
|
||||||
|
sops.secrets."users/mo/password" = {
|
||||||
|
neededForUsers = true;
|
||||||
|
};
|
||||||
|
users.mutableUsers = false;
|
||||||
|
users.users.mo = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Mohamed Chrayed";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "video" "audio" ];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
hashedPasswordFile = config.sops.secrets."users/mo/password".path;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.mo = {
|
||||||
|
home.username = "mo";
|
||||||
|
home.homeDirectory = "/home/mo";
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user