Compare commits

..

No commits in common. "14dfeec55f1a1371bf45f92722dd03a42deb8d0b" and "4880ce65aeb30ea6300d471d4f0c715ad0a51590" have entirely different histories.

8 changed files with 100 additions and 61 deletions

View file

@ -10,15 +10,5 @@ in
modules = [ modules = [
{networking.hostName = hostname;} {networking.hostName = hostname;}
(./hosts/${hostname}) (./hosts/${hostname})
{
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = hostOptions.stateVersion; # Did you read the comment?
}
]; ];
} }

View file

@ -5,6 +5,13 @@
nixos-unstable, nixos-unstable,
... ...
}: { }: {
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.05"; # Did you read the comment?
#nixpkgs.overlays = [ overlays.unstable-packages ]; #nixpkgs.overlays = [ overlays.unstable-packages ];
nixpkgs = { nixpkgs = {
@ -26,9 +33,22 @@
# }) # })
]; ];
# Configure your nixpkgs instance
config = {
allowUnfree = true;
};
}; };
nix = {
settings.experimental-features = ["nix-command" "flakes"];
# https://lix.systems/ Lix is a modern, delicious implementation of the Nix package manager,
# focused on correctness, usability, and growth
# and committed to doing right by its community.
package = pkgs.lix;
channel.enable = false;
};
imports = [ imports = [
# steam and other stuff seems to depend on perl # steam and other stuff seems to depend on perl
@ -57,8 +77,7 @@
../../modules/wm_and_de ../../modules/wm_and_de
../../modules/pkg_mgrmnt ../../modules/pkg_mgrmnt
../../system_profiles/defaults.nix
# ../../tests # ../../tests
]; ];
} }

View file

@ -4,13 +4,38 @@
modulesPath, modulesPath,
... ...
}: { }: {
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
nixpkgs.config = {
# Disable if you don't want unfree packages
allowUnfree = true;
};
nix.settings.experimental-features = ["nix-command" "flakes"];
# https://lix.systems/ Lix is a modern, delicious implementation of the Nix package manager,
# focused on correctness, usability, and growth
# and committed to doing right by its community.
nix.package = pkgs.lix;
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../system_profiles/defaults.nix ../../modules/locale.nix
../../system_profiles/mini-container.nix
../../system_profiles/mini.nix
{
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
}
]; ];
} }

View file

@ -4,16 +4,52 @@
modulesPath, modulesPath,
... ...
}: { }: {
#networking.hostName = "jitsi"; # Define your hostname.
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment?
nixpkgs.config = { nixpkgs.config = {
# Disable if you don't want unfree packages # Disable if you don't want unfree packages
allowUnfree = true; allowUnfree = true;
}; };
nix.settings.experimental-features = ["nix-command" "flakes"];
# https://lix.systems/ Lix is a modern, delicious implementation of the Nix package manager,
# focused on correctness, usability, and growth
# and committed to doing right by its community.
nix.package = pkgs.lix;
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../system_profiles/defaults.nix ../../modules/locale.nix
../../system_profiles/mini-container.nix
(modulesPath + "/profiles/perlless.nix")
(modulesPath + "/profiles/minimal.nix")
{
environment.defaultPackages = [];
boot.kernel.enable = false;
boot.isContainer = true;
nixpkgs.overlays = [(self: super: {})];
}
{
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
}
];
disabledModules = [
(modulesPath + "/profiles/all-hardware.nix")
(modulesPath + "/profiles/base.nix")
# <nixpkgs/nixos/modules/profiles/all-hardware.nix>
# <nixpkgs/nixos/modules/profiles/base.nix>
]; ];
} }

View file

@ -1,27 +1,27 @@
inArgs: let inArgs: let
lib = inArgs.nixpkgs.lib;
hostHelper = import ./hostHelper.nix inArgs;
# Supported systems for your flake packages, shell, etc. # Supported systems for your flake packages, shell, etc.
systems = [ systems = [
#"aarch64-linux" #"aarch64-linux"
"x86_64-linux" "x86_64-linux"
]; ];
# This is a function that generates an attribute by calling a function you # This is a function that generates an attribute by calling a function you
# pass to it, with each system as an argument # pass to it, with each system as an argument
forAllSystems = inArgs.nixpkgs.lib.genAttrs systems; forAllSystems = inArgs.nixpkgs.lib.genAttrs systems;
lib = inArgs.nixpkgs.lib;
hostHelper = import ./hostHelper.nix inArgs;
in { in {
# NixOS configuration entrypoint # NixOS configuration entrypoint
# Available through 'nixos-rebuild --flake .#your-hostname' # Available through 'nixos-rebuild --flake .#your-hostname'
# to add more append // (host_helper example);
nixosConfigurations = builtins.mapAttrs (hostName: hostOptions: (hostHelper hostName hostOptions)) { nixosConfigurations = builtins.mapAttrs (hostName: hostOptions: (hostHelper hostName hostOptions)) {
crocoite = {stateVersion = "24.05";}; crocoite = {};
game-luanti = {unstable = true;};
jitsi = {stateVersion = "24.11";};
game-luanti = {stateVersion = "25.05"; unstable = true;};
}; };
# Your custom packages # Your custom packages
# Accessible through 'nix build', 'nix shell', etc # Accessible through 'nix build', 'nix shell', etc
#packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); #packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});

View file

@ -1,23 +0,0 @@
{
lib,
pkgs,
...
}: {
nix.settings.experimental-features = lib.mkDefault ["nix-command" "flakes"];
# Disable if you don't want unfree packages
nixpkgs.config.allowUnfree = lib.mkDefault true;
nix = {
# https://lix.systems/ Lix is a modern, delicious implementation of the Nix package manager,
# focused on correctness, usability, and growth
# and committed to doing right by its community.
package = lib.mkDefault pkgs.lix;
channel.enable = lib.mkDefault false;
};
imports = [
../modules/locale.nix
];
}

View file

@ -1,13 +1,10 @@
{ {
lib,
...
}: {
imports = [ imports = [
./mini.nix ./mini.nix
{ {
boot.isContainer = lib.mkDefault true; boot.isContainer = true;
boot.kernel.enable = lib.mkDefault false; boot.kernel.enable = false;
} }
]; ];
} }

View file

@ -1,5 +1,4 @@
{ {
lib,
modulesPath, modulesPath,
... ...
}: { }: {
@ -8,14 +7,10 @@
(modulesPath + "/profiles/perlless.nix") (modulesPath + "/profiles/perlless.nix")
{ {
environment.defaultPackages = lib.mkDefault []; boot.isContainer = true;
nixpkgs.overlays = lib.mkDefault [(self: super: {})]; boot.kernel.enable = false;
environment.defaultPackages = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking nixpkgs.overlays = [(self: super: {})];
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
} }
]; ];