Add hostConfig variable to store host information

This commit is contained in:
Yorick Barbanneau 2023-09-03 01:01:33 +02:00
parent 9bc37a8d8c
commit ba4ffd6bf1
5 changed files with 63 additions and 27 deletions

View file

@ -18,6 +18,11 @@ in rec {
inherit stateVersion; inherit stateVersion;
hostname = "mrmeeseeks"; hostname = "mrmeeseeks";
username = "ephase"; username = "ephase";
hostConfig = {
gaming = true;
desktop = true;
laptop = false;
};
}; };
modules = [ modules = [
./nixos/default.nix ./nixos/default.nix

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, hostConfig, ... }:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
emojione emojione

View file

@ -1,5 +1,7 @@
{ ... }: { hostConfig, ... }:
{ let
cfg = hostConfig;
in {
imports = [ imports = [
./sway.nix ./sway.nix
./mako.nix ./mako.nix
@ -7,5 +9,9 @@
./swaylock.nix ./swaylock.nix
./swayidle.nix ./swayidle.nix
./fuzzel.nix ./fuzzel.nix
]; ] ++ (
if hostConfig.laptop then
[ ./kanshi.nix ]
else []
);
} }

View file

@ -1,5 +1,4 @@
{ config, pkgs, lib, stateVersion, hostname, username, ... }: { config, pkgs, lib, stateVersion, hostname, username, hostConfig, ... }:
{ {
imports = imports =
[ # Include the results of the hardware scan. [ # Include the results of the hardware scan.
@ -12,11 +11,28 @@
./includes/system/lvm.nix ./includes/system/lvm.nix
./includes/system/doas.nix ./includes/system/doas.nix
./includes/system/neovim.nix ./includes/system/neovim.nix
./includes/desktop/swaylock.nix ] ++ (
./includes/desktop/pipewire.nix if hostConfig.desktop then
./includes/desktop/xdg-portal.nix [
./includes/gaming/steam.nix ./includes/desktop/swaylock.nix
]; ./includes/desktop/pipewire.nix
./includes/desktop/xdg-portal.nix
]
else []
) ++ (
if hostConfig.gaming then
[
./includes/gaming/steam.nix
]
else []
) ++ (
if hostConfig.laptop then
[
./includes/hardware/iwd.nix
]
else []
);
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@ -39,20 +55,26 @@
]; ];
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
users.${username} = { extraSpecialArgs = {
home.stateVersion = stateVersion; inherit hostConfig;
programs.home-manager.enable = true; };
imports = [ users.${username} = {
../modules/home/desktop home.stateVersion = stateVersion;
../modules/home/webcord.nix programs.home-manager.enable = true;
../modules/home/cli imports = [
../modules/home/firefox ../modules/home/desktop
../modules/home/foot.nix ../modules/home/webcord.nix
../modules/home/lutris.nix ../modules/home/cli
../modules/home/zathura.nix ../modules/home/firefox
]; ../modules/home/foot.nix
../modules/home/zathura.nix
] ++ (
if hostConfig.gaming then
[ ../modules/home/lutris.nix ]
else []
);
}; };
}; };

View file

@ -0,0 +1,3 @@
{
networking.wireless.iwd.enable = true;
}