Introduce components

This commit is contained in:
nichkara 2025-09-05 19:12:40 +02:00
parent b1bb2f2611
commit 6e1a81b5e3
8 changed files with 41 additions and 5 deletions

View File

@ -7,18 +7,25 @@
{
# Optionals
on_desktop_computer = false;
desktop_setup = lib.optionals (config.on_desktop_computer == "true\n") [./desktop_environment.nix];
desktop_computer = true;
office = true;
devel.rust = true;
devel.c = true;
devel.haskell = false;
devel.java = false;
devel.ada = true;
devel.asic = false;
desktop_setup = lib.optionals (config.desktop_computer) [./desktop_environment.nix];
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
] ++ config.desktop_setup;
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos"; # Define your hostname.
networking.hostName = "amelia"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Enable networking
@ -62,6 +69,14 @@
# List packages installed in system profile. To search, run:
# $ nix search wget
pkg.office = lib.optionals (config.office) config.components.office.packages;
pkg.devel.rust = lib.optionals (config.devel.rust) config.components.devel.rust.packages;
pkg.devel.c = lib.optionals (config.devel.c) config.components.devel.c.packages;
pkg.devel.haskell = lib.optionals (config.devel.haskell) config.components.devel.haskell.packages;
pkg.devel.java = lib.optionals (config.devel.java) config.components.devel.java.packages;
pkg.devel.ada = lib.optionals (config.devel.ada) config.components.devel.ada.packages;
pkg.devel.asic = lib.optionals (config.devel.asic) config.components.devel.asic.packages;
additional_packages = config.pkg.office ++ config.pkg.devel.rust ++ config.pkg.devel.c ++ config.pkg.devel.haskell ++ config.pkg.devel.java ++ config.pkg.devel.ada ++ config.pkg.devel.asic;
environment.systemPackages = with pkgs; [
vim
wget
@ -71,7 +86,7 @@
networkmanager
kitty
hyfetch
];
] ++ config.additional_packages;
programs.zsh = {
enable = true;

3
devel/ada.nix Normal file
View File

@ -0,0 +1,3 @@
{
ada.packages = [];
}

3
devel/asic.nix Normal file
View File

@ -0,0 +1,3 @@
{
asic.packages = [];
}

3
devel/c.nix Normal file
View File

@ -0,0 +1,3 @@
{
c.packages = [];
}

3
devel/haskell.nix Normal file
View File

@ -0,0 +1,3 @@
{
haskell.packages = [];
}

3
devel/java.nix Normal file
View File

@ -0,0 +1,3 @@
{
java.packages = [];
}

3
devel/rust.nix Normal file
View File

@ -0,0 +1,3 @@
{
rust.packages = [];
}

3
office/office.nix Normal file
View File

@ -0,0 +1,3 @@
{
office.packages = [];
}