endurance builds

This commit is contained in:
Christopher Mühl 2026-01-05 12:53:27 +01:00
parent e140f079db
commit 8659920787
No known key found for this signature in database
GPG key ID: 925AC7D69955293F
9 changed files with 61 additions and 46 deletions

24
modules/flake/nix.nix Normal file
View file

@ -0,0 +1,24 @@
{inputs, ...}: {
systems = [
"x86_64-linux"
"x86_64-darwin"
];
perSystem = {system, ...}: {
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
config = {
allowUnfree = true;
permittedInsecurePackages = [
"nixos-config"
"electron-36.9.5"
"dotnet-sdk-6.0.428"
"olm-3.2.16"
];
};
overlays = [];
};
};
}

View file

@ -1,5 +1,6 @@
{ {
imports = [ imports = [
./nix.nix
./profiles.nix ./profiles.nix
./secrets.nix ./secrets.nix
]; ];

View file

@ -1,15 +1,13 @@
{ {pkgs, ...}: {
pkgs,
config,
...
}: {
nix = { nix = {
package = pkgs.lixPackageSets.stable.lix; package = pkgs.lixPackageSets.stable.lix;
# Automatic cleanup # automatic cleanup
gc.automatic = true; gc = {
gc.dates = "weekly"; automatic = true;
gc.options = "--delete-older-than 21d"; dates = "weekly";
options = "--delete-older-than 21d";
};
settings = { settings = {
# builders-use-substitutes = true; # builders-use-substitutes = true;
@ -33,11 +31,4 @@
"olm-3.2.16" "olm-3.2.16"
]; ];
}; };
environment.etc."current-system-packages".text = let
packages = builtins.map (p: "${p.name}") config.environment.systemPackages;
sortedUnique = builtins.sort builtins.lessThan (pkgs.lib.lists.unique packages);
formatted = builtins.concatStringsSep "\n" sortedUnique;
in
formatted;
} }

View file

@ -1,6 +1,6 @@
{ {
config, config,
system, inputs',
inputs, inputs,
pkgs, pkgs,
lib, lib,
@ -37,7 +37,7 @@ in {
config = { config = {
environment.systemPackages = [ environment.systemPackages = [
pkgs.age-plugin-yubikey pkgs.age-plugin-yubikey
inputs.agenix-rekey.packages.${system}.default inputs'.agenix-rekey.packages.default
]; ];
age = { age = {

View file

@ -1,4 +1,4 @@
{...}: { {
imports = [ imports = [
./graphical ./graphical
]; ];

View file

@ -1,15 +1,16 @@
{ {
inputs, inputs,
lib, lib,
config,
... ...
}: let }: let
inherit (lib) mkForce mkDefault; inherit (lib) mkIf mkForce mkDefault;
in { in {
imports = [ imports = [
inputs.musnix.nixosModules.default inputs.musnix.nixosModules.default
]; ];
config = { config = mkIf config.bosun.profiles.graphical.enable {
musnix = { musnix = {
enable = mkDefault true; enable = mkDefault true;
rtcqs.enable = true; rtcqs.enable = true;
@ -17,7 +18,7 @@ in {
users.users.toph.extraGroups = ["audio"]; users.users.toph.extraGroups = ["audio"];
pipewire = { services.pipewire = {
enable = mkForce true; enable = mkForce true;
alsa.enable = true; alsa.enable = true;
jack.enable = true; jack.enable = true;

View file

@ -1,11 +1,5 @@
{ {
lib, imports = [
config,
...
}: let
inherit (lib) mkIf;
in {
imports = mkIf config.bosun.profiles.graphical.enabled [
./wm.nix ./wm.nix
./audio.nix ./audio.nix
]; ];

View file

@ -1,13 +1,17 @@
{ {
inputs, inputs,
pkgs, pkgs,
lib,
config,
... ...
}: { }: let
inherit (lib) mkIf;
in {
imports = [ imports = [
inputs.niri.nixosModules.default inputs.niri.nixosModules.niri
]; ];
config = { config = mkIf config.bosun.profiles.graphical.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wayland-utils wayland-utils
wl-clipboard wl-clipboard
@ -32,19 +36,19 @@
wayland.enable = true; wayland.enable = true;
}; };
}; };
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
config.common.default = "gtk";
extraPortals = with pkgs; [
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
];
};
security.polkit.enable = true;
}; };
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
config.common.default = "gtk";
extraPortals = with pkgs; [
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
];
};
security.polkit.enable = true;
}; };
} }

View file

@ -26,7 +26,7 @@ in
users = { users = {
users.toph = { users.toph = {
isNormalUser = true; isNormalUser = true;
passwordFile = config.age.secrets.tophPassword.path; # hashedPasswordFile = config.age.secrets.tophPassword.path;
shell = pkgs.fish; shell = pkgs.fish;
extraGroups = [ extraGroups = [