configurations: Add stable nixpkgs for other hosts, use one Arg

This commit is contained in:
2023-10-27 14:01:54 +02:00
parent 154d850e49
commit 2f0a613381
39 changed files with 367 additions and 148 deletions
+27 -59
View File
@@ -2,65 +2,33 @@
let
profiles = import ../profile;
makeSystem = {host, arch ? "x86_64-linux", extraModules ? [], stable ? true}:
let
nixosSystem = if stable then inputs.nixpkgs-stable.lib.nixosSystem else inputs.nixpkgs.lib.nixosSystem;
hm = if stable then inputs.configInputs-stable.inputs.home-manager else inputs.configInputs.inputs.home-manager;
materusCfg = {
inherit stable;
inherit materusFlake;
inherit host;
inherit hm;
nixerus = if stable then inputs.configInputs-stable.inputs.nixerus else inputs.configInputs.inputs.nixerus;
configInputs = if stable then inputs.configInputs-stable else inputs.configInputs;
path = materusFlake.selfPath;
};
in
(nixosSystem rec {
specialArgs = { inherit materusCfg; };
system = arch;
modules = [
./${host}
inputs.private.systemModule
profiles.osProfile
] ++ extraModules;
}) // {inherit materusCfg;};
in
{
materusPC = inputs.nixpkgs.lib.nixosSystem rec {
specialArgs = { inherit inputs; inherit materusFlake; };
system = "x86_64-linux";
modules = [
./materusPC
inputs.private.systemModule
profiles.osProfile
];
};
flamaster = inputs.nixpkgs.lib.nixosSystem rec {
specialArgs = { inherit inputs; inherit materusFlake; };
system = "x86_64-linux";
modules = [
./flamaster
inputs.private.systemModule
profiles.osProfile
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.materus = { config ,... }: {
imports = [
../home/materus
flamaster/extraHome.nix
profiles.homeProfile
inputs.private.homeModule
];
materus.profile.nixpkgs.enable = false;
};
home-manager.extraSpecialArgs = { inherit inputs; inherit materusFlake; };
}
];
};
valkyrie = inputs.nixpkgs.lib.nixosSystem rec {
specialArgs = { inherit inputs; inherit materusFlake; };
system = "x86_64-linux";
modules = [
./valkyrie
inputs.private.systemModule
profiles.osProfile
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.materus = { config ,... }: {
imports = [
../home/materus
valkyrie/extraHome.nix
profiles.homeProfile
inputs.private.homeModule
];
materus.profile.nixpkgs.enable = false;
};
home-manager.extraSpecialArgs = { inherit inputs; inherit materusFlake; };
}
];
};
materusPC = makeSystem {host = "materusPC"; stable = false;};
flamaster = makeSystem {host = "flamaster"; stable = true;};
valkyrie = makeSystem {host = "valkyrie"; stable = true;};
}
@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, lib, pkgs, materusFlake, materusPkgs, ... }:
{ config, lib, pkgs, materusArg, ... }:
{
imports =
@@ -115,7 +115,7 @@
isNormalUser = true;
description = "Mateusz Słodkowicz";
extraGroups = [ "networkmanager" "wheel" ];
openssh.authorizedKeys.keyFiles = [ (materusFlake.selfPath + /extraFiles/keys/ssh/materus.pub) ];
openssh.authorizedKeys.keyFiles = [ ("${materusArg.cfg.path}" + "/extraFiles/keys/ssh/materus.pub") ];
packages = with pkgs; [
kate
];
+2 -2
View File
@@ -1,4 +1,4 @@
{ config, pkgs, materusPkgs, lib, ... }:
{ config, pkgs, materusArg, lib, ... }:
{
home.stateVersion = "23.05";
home.homeDirectory = "/home/materus";
@@ -15,7 +15,7 @@
home.packages = [
pkgs.papirus-icon-theme
(materusPkgs.polymc.wrap { extraJDKs = [ pkgs.graalvm-ce ]; })
(materusArg.pkgs.polymc.wrap { extraJDKs = [ pkgs.graalvm-ce ]; })
];
}
+1 -1
View File
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, ... }:
{ config, pkgs, lib, ... }:
{
imports =
[
+4 -4
View File
@@ -1,4 +1,4 @@
{ config, pkgs, materusPkgs, lib, ... }:
{ config, pkgs, materusArg, lib, ... }:
{
home.stateVersion = "23.05";
home.homeDirectory = "/home/materus";
@@ -67,13 +67,13 @@
home.packages = [
pkgs.papirus-icon-theme
materusPkgs.ffmpeg6-amf-full
(materusPkgs.polymc.wrap { extraJDKs = [ pkgs.graalvm-ce ]; extraLibs = [ ]; })
materusArg.pkgs.ffmpeg6-amf-full
(materusArg.pkgs.polymc.wrap { extraJDKs = [ pkgs.graalvm-ce ]; extraLibs = [ ]; })
];
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [ wlrobs obs-vaapi obs-vkcapture obs-gstreamer input-overlay obs-multi-rtmp obs-pipewire-audio-capture ];
package = materusPkgs.obs-amf;
package = materusArg.pkgs.obs-amf;
};
}
+1 -1
View File
@@ -1,5 +1,5 @@
{ config, pkgs, lib, inputs, materusFlake, materusPkgs, ... }:
{ config, pkgs, lib,... }:
{
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, ... }:
{ config, pkgs, lib, ... }:
let
video = [
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, materusPkgs, ... }:
{ config, pkgs, lib, materusArg, ... }:
{
imports =
[
@@ -7,8 +7,8 @@
];
hardware.firmware = with pkgs; [
#materusPkgs.amdgpu-pro-libs.firmware.vcn
#materusPkgs.amdgpu-pro-libs.firmware
#materusArg.pkgs.amdgpu-pro-libs.firmware.vcn
#materusArg.pkgs.amdgpu-pro-libs.firmware
linux-firmware
alsa-firmware
sof-firmware
@@ -37,13 +37,13 @@
amdvlk
rocmPackages.clr.icd
rocmPackages.clr
materusPkgs.amdgpu-pro-libs.vulkan
materusPkgs.amdgpu-pro-libs.amf
materusArg.pkgs.amdgpu-pro-libs.vulkan
materusArg.pkgs.amdgpu-pro-libs.amf
];
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [
vaapiVdpau
pkgs.driversi686Linux.amdvlk
materusPkgs.i686Linux.amdgpu-pro-libs.vulkan
materusArg.pkgs.i686Linux.amdgpu-pro-libs.vulkan
libvdpau-va-gl
];
services.udev.extraRules = ''
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, ... }:
{ config, pkgs, lib, ... }:
{
zramSwap = {
enable = true;
+1 -1
View File
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, materusPkgs, ... }:
{ config, pkgs, lib, ... }:
let
westonSddm = pkgs.writeText "weston.ini"
''
+1 -1
View File
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, ... }:
{ config, pkgs, lib, ... }:
{
networking.useDHCP = lib.mkDefault true;
networking.hostName = "materusPC";
+1 -1
View File
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, ... }:
{ config, pkgs, lib, ... }:
let
valkyrie-sync = pkgs.writeShellScriptBin "valkyrie-sync" ''
${pkgs.rsync}/bin/rsync -avzrh --delete --exclude ".git*" --exclude "flake.lock" /materus/config/nixos-config materus@valkyrie:/materus/config/ && \
+3 -3
View File
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, materusPkgs, ... }:
{ config, pkgs, lib, materusArg, ... }:
{
virtualisation.lxc.enable = false;
@@ -193,7 +193,7 @@
firefox
gamescope
#(pkgs.lutris.override { extraLibraries = pkgs: with pkgs; [ pkgs.samba pkgs.jansson pkgs.tdb pkgs.libunwind pkgs.libusb1 pkgs.gnutls pkgs.gtk3 pkgs.pango ]; })
materusPkgs.amdgpu-pro-libs.prefixes
materusArg.pkgs.amdgpu-pro-libs.prefixes
(pkgs.bottles.override { extraPkgs = pkgs: with pkgs; [ pkgs.libsForQt5.breeze-qt5 pkgs.libsForQt5.breeze-gtk pkgs.nss_latest ]; extraLibraries = pkgs: with pkgs; [ pkgs.samba pkgs.jansson pkgs.tdb pkgs.libunwind pkgs.libusb1 pkgs.gnutls pkgs.gtk3 pkgs.pango ]; })
glibc
glib
@@ -251,7 +251,7 @@
# pgcli
# litecli
materusPkgs.alvr
materusArg.pkgs.alvr
#zenmonitor
nix-du
+1 -1
View File
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, ... }:
{ config, pkgs, lib, ... }:
{
imports = [
./win10
@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, materusFlake, ... }:
{ config, pkgs, lib, ... }:
let
startHook = /*''
+2 -2
View File
@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running `nixos-help`).
{ config, pkgs, materusFlake, ... }:
{ config, pkgs, materusArg, ... }:
{
imports =
@@ -71,7 +71,7 @@
extraGroups = [ "wheel" ]; # Enable sudo for the user.
packages = with pkgs; [
];
openssh.authorizedKeys.keyFiles = [ (materusFlake.selfPath + /extraFiles/keys/ssh/materus.pub) ];
openssh.authorizedKeys.keyFiles = [ ("${materusArg.cfg.path}" + "/extraFiles/keys/ssh/materus.pub") ];
};
# List packages installed in system profile. To search, run:
+1 -1
View File
@@ -1,4 +1,4 @@
{ config, pkgs, materusPkgs, lib, ... }:
{ config, pkgs, lib, ... }:
{
home.stateVersion = "23.05";
home.homeDirectory = "/home/materus";
@@ -1,4 +1,4 @@
{ config, pkgs, materusFlake, ... }:
{ config, pkgs, ... }:
{
imports =
[
@@ -1,6 +1,6 @@
{ config, pkgs, lib, materusPkgs, ... }:
{ config, pkgs, lib, materusArg, ... }:
{
options.valkyrieService.pihole.enable = materusPkgs.lib.mkBoolOpt false "Enable pihole";
options.valkyrieService.pihole.enable = materusArg.pkgs.lib.mkBoolOpt false "Enable pihole";
options.valkyrieService.pihole.dnsIP = lib.mkOption { default = "127.0.0.1";};
options.valkyrieService.pihole.webIP = lib.mkOption { default = "127.0.0.1";};
@@ -1,4 +1,4 @@
{ config, pkgs, lib, materusPkgs, ... }:
{ config, pkgs, lib, materusArg, ... }:
let
socketPath = "/run/pleroma/http.sock";
@@ -41,7 +41,7 @@ let
in
{
options.valkyrieService.pleroma.enable = materusPkgs.lib.mkBoolOpt false "Enable pleroma";
options.valkyrieService.pleroma.enable = materusArg.pkgs.lib.mkBoolOpt false "Enable pleroma";
config = lib.mkIf config.valkyrieService.pleroma.enable {
systemd.tmpfiles.rules = [
"d /var/lib/pleroma 0766 pleroma pleroma -"