IN PROGRESS COMMIT. does not currently build.

Attempting to make nixos config that incorperates a non-nixos HM config.
This commit is contained in:
Gabe Venberg 2024-04-03 17:50:53 -05:00
parent be670ea374
commit fe1ed3e1be
14 changed files with 237 additions and 172 deletions

View file

@ -0,0 +1,21 @@
{
config,
pkgs,
lib,
...
}: {
home.stateVersion = "23.11"; # Please read the comment before changing.
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# enable flakes
nix =
lib.mkIf config.targets.genericLinux.enable
{
package = pkgs.nix;
settings.experimental-features = ["nix-command" "flakes"];
settings.max-jobs = "auto";
gc.automatic = true;
};
}

View file

@ -0,0 +1,9 @@
{
config,
pkgs,
...
}: {
# Enable networking
networking.networkmanager.enable = true;
users.users.${config.host.user}.extraGroups = ["networkmanager"];
}

16
modules/both/sound.nix Normal file
View file

@ -0,0 +1,16 @@
{
config,
pkgs,
...
}: {
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
}

23
modules/commonopts.nix Normal file
View file

@ -0,0 +1,23 @@
{
config,
pkgs,
lib,
...
}: {
options = {
host = {
user = lib.mkOption {
type = lib.types.str;
description = "Primary human user";
};
fullName = lib.mkOption {
type = lib.types.str;
description = "Primary human users long name";
};
gui.enable = lib.mkEnableOption {
description = "enable GUI";
default = false;
};
};
};
}

View file

@ -6,10 +6,10 @@
}: {
home.stateVersion = "23.11"; # Please read the comment before changing.
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# Let Home Manager install and manage itself on non-nixos systems.
programs.home-manager.enable = config.targets.genericLinux.enable;
# enable flakes
# enable flakes on non-nixos systems
nix =
lib.mkIf config.targets.genericLinux.enable
{

View file

@ -0,0 +1,7 @@
{
config,
pkgs,
lib,
...
}: {
}

23
modules/nixos/common.nix Normal file
View file

@ -0,0 +1,23 @@
{
config,
pkgs,
...
}: {
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
nix = {
package = pkgs.nixFlakes;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# packages that should be on every system.
environment.systemPackages = with pkgs; [
vi # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
];
}

View file

@ -0,0 +1,8 @@
{
config,
pkgs,
...
}: {
# Enable CUPS to print documents.
services.printing.enable = true;
}

View file

@ -0,0 +1,8 @@
{
config,
pkgs,
...
}: {
# Enable touchpad support (enabled default in most desktopManager).
services.xserver.libinput.enable = true;
}

View file

@ -0,0 +1,7 @@
{
config,
pkgs,
...
}: {
networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
}