Changed how additonal home manager modules are imported. Started work on desktop environment specific specialisations. Started actually configuring hyprland

This commit is contained in:
2025-11-11 10:59:44 +01:00
parent 12daec0fee
commit ee522bd869
12 changed files with 312 additions and 90 deletions

View File

@ -3,6 +3,8 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nixos-hardware.url = "github:NixOS/nixos-hardware"; #To Provide Framework13 hardware modules
home-manager.url = "github:nix-community/home-manager/release-25.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
@ -13,54 +15,66 @@
stylix.url = "github:nix-community/stylix";
stylix.inputs.nixpkgs.follows = "nixpkgs";
quickshell = {
url = "github:outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs";
inputs.quickshell.follows = "quickshell";
};
nix-flatpak.url = "github:gmodena/nix-flatpak";
grub2-themes.url = "github:vinceliuice/grub2-themes";
};
outputs = inputs@{ nixpkgs, home-manager, nixos-hardware ,stylix, zen-browser, grub2-themes, nix-flatpak, ... }:
let
username = "cookiez";
version = "25.05";
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
outputs = inputs@{ nixpkgs, home-manager, stylix, zen-browser, grub2-themes, nix-flatpak, ... }:
let
username = "cookiez";
version = "25.05";
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
hyprlandEnabled = false;
plasmaEnabled = true;
hyprlandEnabled = true;
plasmaEnabled = false;
in
{
nixosConfigurations = {
#Replace the below with your hostname!!! Like: {hostname} = nixpkgs.lib.nixosSystem {
nixos = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs username version hyprlandEnabled;
};
modules = [
./configuration.nix
./firefox.nix
./boot-splash.nix
./zsh.nix
./neovim.nix
./packages.nix
grub2-themes.nixosModules.default
nix-flatpak.nixosModules.nix-flatpak
stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.${username} = ./home.nix;
home-manager.backupFileExtension = "backup"; # Automatically backs up conflicting files during activation
home-manager.extraSpecialArgs = { inherit inputs username version hyprlandEnabled; system = "x86_64-linux"; };
}
#Conditional Modules!
] ++ (if hyprlandEnabled then [ ./hyprland/hyprland.nix ] else [ ]) ++ [
] ++ (if plasmaEnabled then [ ./plasma/kde-plasma.nix ] else [ ]) ++ [
];
framework13 = true;
in
{
nixosConfigurations = {
#Replace the below with your hostname!!! Like: {hostname} = nixpkgs.lib.nixosSystem {
nixos = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs username version;
};
modules = [
./configuration.nix
./firefox.nix
./boot-splash.nix
./zsh.nix
./neovim.nix
./packages.nix
grub2-themes.nixosModules.default
nix-flatpak.nixosModules.nix-flatpak
stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.${username} = ./home.nix;
home-manager.backupFileExtension = "backup"; # Automatically backs up conflicting files during activation
home-manager.extraSpecialArgs = { inherit inputs username version; system = "x86_64-linux"; };
}
#Conditional Modules!
] ++ (if hyprlandEnabled then [ ./hyprland/hyprland.nix ] else [ ]) ++ [
] ++ (if plasmaEnabled then [ ./plasma/plasma.nix ] else [ ]) ++ [
] ++ (if framework13 then [ nixos-hardware.nixosModules.framework-13-7040-amd ] else [ ]) ++ [
];
};
};
};
}