From 6e1a81b5e3b8fae531cc8d5bfbaf31ddcc0efa99 Mon Sep 17 00:00:00 2001 From: nichkara Date: Fri, 5 Sep 2025 19:12:40 +0200 Subject: [PATCH] Introduce components --- configuration.nix | 25 ++++++++++++++++++++----- devel/ada.nix | 3 +++ devel/asic.nix | 3 +++ devel/c.nix | 3 +++ devel/haskell.nix | 3 +++ devel/java.nix | 3 +++ devel/rust.nix | 3 +++ office/office.nix | 3 +++ 8 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 devel/ada.nix create mode 100644 devel/asic.nix create mode 100644 devel/c.nix create mode 100644 devel/haskell.nix create mode 100644 devel/java.nix create mode 100644 devel/rust.nix create mode 100644 office/office.nix diff --git a/configuration.nix b/configuration.nix index 6704be3..9aedaa2 100755 --- a/configuration.nix +++ b/configuration.nix @@ -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; diff --git a/devel/ada.nix b/devel/ada.nix new file mode 100644 index 0000000..b997c71 --- /dev/null +++ b/devel/ada.nix @@ -0,0 +1,3 @@ +{ + ada.packages = []; +} diff --git a/devel/asic.nix b/devel/asic.nix new file mode 100644 index 0000000..3472c9f --- /dev/null +++ b/devel/asic.nix @@ -0,0 +1,3 @@ +{ + asic.packages = []; +} diff --git a/devel/c.nix b/devel/c.nix new file mode 100644 index 0000000..668e70f --- /dev/null +++ b/devel/c.nix @@ -0,0 +1,3 @@ +{ + c.packages = []; +} diff --git a/devel/haskell.nix b/devel/haskell.nix new file mode 100644 index 0000000..00fd6fb --- /dev/null +++ b/devel/haskell.nix @@ -0,0 +1,3 @@ +{ + haskell.packages = []; +} diff --git a/devel/java.nix b/devel/java.nix new file mode 100644 index 0000000..262e804 --- /dev/null +++ b/devel/java.nix @@ -0,0 +1,3 @@ +{ + java.packages = []; +} diff --git a/devel/rust.nix b/devel/rust.nix new file mode 100644 index 0000000..b654597 --- /dev/null +++ b/devel/rust.nix @@ -0,0 +1,3 @@ +{ + rust.packages = []; +} diff --git a/office/office.nix b/office/office.nix new file mode 100644 index 0000000..f94f00f --- /dev/null +++ b/office/office.nix @@ -0,0 +1,3 @@ +{ + office.packages = []; +}