mirror of
https://github.com/materusPL/nixos-config
synced 2026-07-02 12:46:42 +00:00
configurations: Add stable nixpkgs for other hosts, use one Arg
This commit is contained in:
@@ -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
|
||||
];
|
||||
|
||||
@@ -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,4 +1,4 @@
|
||||
{ config, pkgs, lib, inputs, materusFlake, ... }:
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
|
||||
@@ -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,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,4 +1,4 @@
|
||||
{ config, pkgs, lib, inputs, materusFlake, materusPkgs, ... }:
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
westonSddm = pkgs.writeText "weston.ini"
|
||||
''
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, lib, inputs, materusFlake, ... }:
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
networking.hostName = "materusPC";
|
||||
|
||||
@@ -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/ && \
|
||||
|
||||
@@ -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,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,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,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 -"
|
||||
|
||||
Reference in New Issue
Block a user