global settings

This commit is contained in:
Mohamed Chrayed 2024-08-10 17:44:43 +02:00
parent 97fa1e39b4
commit eb134c8e79
22 changed files with 152 additions and 30 deletions

107
flake.nix
View File

@ -15,17 +15,29 @@
}; };
outputs = { self, nixpkgs, home-manager, jovian, plasma-manager, ...}: outputs = { self, nixpkgs, home-manager, jovian, plasma-manager, ...}:
let let
# Different Devices
host-computer = "computer-mo";
host-server = "server";
host-konsole = "konsole";
host-steamdeck = "steamdeck";
user-computer = "mo";
user-server = "administrator";
user-konsole = "deck";
user-steamdeck = "deck";
lib = nixpkgs.lib; lib = nixpkgs.lib;
host = "computer-mo";
user = "mo";
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs {inherit system;}; pkgs = import nixpkgs {inherit system;};
in { in {
nixosConfigurations = { nixosConfigurations = {
${host} = lib.nixosSystem { ${host-computer} = lib.nixosSystem {
specialArgs = {inherit user host;}; specialArgs = {inherit user-computer host-computer;};
modules = [ modules = [
./hosts/${host}/system-imports.nix ./hosts/${host-computer}/system-imports.nix
./global/system-imports.nix
jovian.nixosModules.jovian jovian.nixosModules.jovian
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
@ -33,11 +45,94 @@
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup"; home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = {inherit pkgs;}; home-manager.extraSpecialArgs = {inherit pkgs;};
home-manager.users.${user}.imports = [./hosts/${host}/user-imports.nix]; home-manager.users.${user-computer}.imports = [
./hosts/${host-computer}/user-imports.nix
./global/user-imports.nix
];
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager]; home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager];
} }
]; ];
}; };
}; };
nixosConfigurations = {
${host-server} = lib.nixosSystem {
specialArgs = {inherit user-server host-server;};
modules = [
./hosts/${host-server}/system-imports.nix
./global/system-imports.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = {inherit pkgs;};
home-manager.users.${user-server}.imports = [
./hosts/${user-server}/user-imports.nix
./global/user-imports.nix
];
}
];
};
};
nixosConfigurations = {
${host-konsole} = lib.nixosSystem {
specialArgs = {inherit user-konsole host-konsole;};
modules = [
./hosts/${host-konsole}/system-imports.nix
./global/system-imports.nix
jovian.nixosModules.jovian
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = {inherit pkgs;};
home-manager.users.${user-konsole}.imports = [
./hosts/${user-konsole}/user-imports.nix
./global/user-imports.nix
];
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager];
}
];
};
};
nixosConfigurations = {
${host-steamdeck} = lib.nixosSystem {
specialArgs = {inherit user-steamdeck host-steamdeck;};
modules = [
./hosts/${host-steamdeck}/system-imports.nix
./global/system-imports.nix
jovian.nixosModules.jovian
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = {inherit pkgs;};
home-manager.users.${user-steamdeck}.imports = [
./hosts/${user-steamdeck}/user-imports.nix
./global/user-imports.nix
];
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager];
}
];
};
};
}; };
} }

15
global/system-imports.nix Normal file
View File

@ -0,0 +1,15 @@
{ ... }:
{
imports =
[
# Packages
./system-packages/sys.pkg-dev.nix
# Settings
./system-settings/sys.set-boot.nix
./system-settings/sys.set-dev.nix
./system-settings/sys.set-locale.nix
./system-settings/sys.set-networking.nix
./system-settings/sys.set-system.nix
./system-settings/sys.set-updates.nix
];
}

View File

@ -0,0 +1,4 @@
{ ... }:
{
programs.zsh.enable = true;
}

View File

@ -0,0 +1,10 @@
{ ... }:
{
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.plymouth.enable = true;
boot.plymouth.theme = "bgrt";
boot.consoleLogLevel = 0;
boot.kernelParams = [ "quiet" "udev.log_level=0" ];
boot.initrd.verbose = false;
}

View File

@ -1,6 +1,5 @@
{ lib, host, ... }: { lib, host, ... }:
{ {
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
networking.hostName = host;
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
} }

11
global/user-imports.nix Normal file
View File

@ -0,0 +1,11 @@
{ ... }:
{
imports = [
# Home-Manager Packages
./user-packages/usr.pkg-dev.nix
# Home-Manager Settings
./user-settings/usr.set-dev.nix
./user-settings/usr.set-system.nix
];
}

View File

@ -17,15 +17,11 @@
./system-settings/sys.set-boot.nix ./system-settings/sys.set-boot.nix
./system-settings/sys.set-controller.nix ./system-settings/sys.set-controller.nix
./system-settings/sys.set-desktop.nix ./system-settings/sys.set-desktop.nix
./system-settings/sys.set-dev.nix
./system-settings/sys.set-filesystems.nix ./system-settings/sys.set-filesystems.nix
./system-settings/sys.set-hardware.nix ./system-settings/sys.set-hardware.nix
./system-settings/sys.set-locale.nix ./system-settings/sys.set-hostname.nix
./system-settings/sys.set-networking.nix
./system-settings/sys.set-steam.nix ./system-settings/sys.set-steam.nix
./system-settings/sys.set-system.nix
./system-settings/sys.set-systemd.nix ./system-settings/sys.set-systemd.nix
./system-settings/sys.set-updates.nix
./system-settings/sys.set-users.nix ./system-settings/sys.set-users.nix
]; ];
} }

View File

@ -1,6 +1,5 @@
{ ... }: { ... }:
{ {
services.xserver.enable = false;
services.desktopManager.plasma6.enable = true; services.desktopManager.plasma6.enable = true;
services.displayManager.sddm.wayland.enable = true; services.displayManager.sddm.wayland.enable = true;
services.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;

View File

@ -1,7 +1,5 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
programs.zsh.enable = true;
environment.systemPackages = environment.systemPackages =
(with pkgs; [ (with pkgs; [
kdePackages.kate kdePackages.kate

View File

@ -2,15 +2,8 @@
{ {
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.initrd.verbose = false;
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.plymouth.enable = true;
boot.plymouth.theme = "bgrt";
boot.consoleLogLevel = 0;
boot.kernelParams = [ "quiet" "udev.log_level=0" "amd_pstate=guided" ];
boot.extraModprobeConfig = '' boot.extraModprobeConfig = ''
options amdgpu ppfeaturemask=0xFFF7FFFF options amdgpu ppfeaturemask=0xFFF7FFFF
''; '';

View File

@ -1,5 +1,6 @@
{ user, ... }: { user, ... }:
{ {
services.xserver.enable = false;
services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.enable = true;
services.displayManager.autoLogin.user = user; services.displayManager.autoLogin.user = user;
} }

View File

@ -0,0 +1,4 @@
{ host-computer, ... }:
{
networking.hostName = host-computer;
}

View File

@ -1,8 +1,8 @@
{ user, ... }: { user-computer, ... }:
{ {
jovian.steam = { jovian.steam = {
autoStart = false; autoStart = false;
user = user; user = user-computer;
desktopSession = "plasma"; desktopSession = "plasma";
}; };

View File

@ -1,6 +1,6 @@
{ user, ... }: { user-computer, ... }:
{ {
users.users.${user} = { users.users.${user-computer} = {
isNormalUser = true; isNormalUser = true;
description = "Mohamed Chrayed"; description = "Mohamed Chrayed";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = [ "networkmanager" "wheel" ];

View File

@ -3,13 +3,10 @@
{ {
imports = [ imports = [
# Home-Manager Packages # Home-Manager Packages
./user-packages/usr.pkg-dev.nix
./user-packages/usr.pkg-desktop.nix ./user-packages/usr.pkg-desktop.nix
# Home-Manager Settings # Home-Manager Settings
./user-settings/usr.set-dotfiles.nix
./user-settings/usr.set-customization.nix ./user-settings/usr.set-customization.nix
./user-settings/usr.set-dev.nix ./user-settings/usr.set-dotfiles.nix
./user-settings/usr.set-desktop.nix ./user-settings/usr.set-desktop.nix
./user-settings/usr.set-system.nix
]; ];
} }