This commit is contained in:
2025-08-29 15:25:40 +02:00
parent 26440bfeee
commit f3821f0dfa
201 changed files with 2461 additions and 1546 deletions

View File

@@ -3,9 +3,11 @@
config,
pkgs,
...
}: let
}:
let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in {
in
{
users.users.cnst = {
isNormalUser = true;
shell = pkgs.fish;

View File

@@ -6,8 +6,9 @@
lib,
modulesPath,
...
}: {
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot = {
initrd = {
availableKernelModules = [
@@ -18,11 +19,11 @@
"usb_storage"
"sd_mod"
];
kernelModules = ["amdgpu"];
kernelModules = [ "amdgpu" ];
};
kernelModules = ["kvm-amd"];
extraModulePackages = [];
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ];
};
fileSystems."/" = {
@@ -30,12 +31,16 @@
fsType = "ext4";
};
boot.initrd.luks.devices."luks-e75ac560-748f-4071-bbe7-479678400be3".device = "/dev/disk/by-uuid/e75ac560-748f-4071-bbe7-479678400be3";
boot.initrd.luks.devices."luks-e75ac560-748f-4071-bbe7-479678400be3".device =
"/dev/disk/by-uuid/e75ac560-748f-4071-bbe7-479678400be3";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/7E84-D168";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
options = [
"fmask=0022"
"dmask=0022"
];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View File

@@ -3,7 +3,7 @@
boot = {
kernel = {
variant = "latest";
hardware = ["amd"];
hardware = [ "amd" ];
};
loader = {
default = {
@@ -20,7 +20,7 @@
};
graphics = {
enable = true;
vendors = ["amd"];
vendors = [ "amd" ];
};
logitech = {
enable = false;
@@ -29,7 +29,11 @@
enable = true;
interfaces = {
"wlp6s0" = {
allowedTCPPorts = [22 80 443];
allowedTCPPorts = [
22
80
443
];
};
};
};

View File

@@ -4,97 +4,112 @@
homeImports,
self,
...
}: {
flake.nixosConfigurations = let
# custom paths
userConfig = "${self}/home";
systemConfig = "${self}/system";
hostConfig = "${self}/hosts";
}:
{
flake.nixosConfigurations =
let
# custom paths
userConfig = "${self}/home";
systemConfig = "${self}/system";
hostConfig = "${self}/hosts";
cnstConfig = "${self}/users/cnst";
toothpickConfig = "${self}/users/toothpick";
cnstConfig = "${self}/users/cnst";
toothpickConfig = "${self}/users/toothpick";
umodPath = "${self}/modules/home";
smodPath = "${self}/modules/system";
umodPath = "${self}/modules/home";
smodPath = "${self}/modules/system";
# shorten paths
inherit (inputs.nixpkgs.lib) nixosSystem;
# shorten paths
inherit (inputs.nixpkgs.lib) nixosSystem;
# get these into the module system
specialArgs = {inherit inputs self userConfig systemConfig hostConfig cnstConfig toothpickConfig umodPath smodPath;};
in {
kima = nixosSystem {
inherit specialArgs;
modules = [
./kima
"${self}/nix"
{
home-manager = {
users.cnst.imports = homeImports."cnst@kima";
extraSpecialArgs = specialArgs;
};
}
self.nixosModules.nixos
self.nixosModules.settings
inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default
];
# get these into the module system
specialArgs = {
inherit
inputs
self
userConfig
systemConfig
hostConfig
cnstConfig
toothpickConfig
umodPath
smodPath
;
};
in
{
kima = nixosSystem {
inherit specialArgs;
modules = [
./kima
"${self}/nix"
{
home-manager = {
users.cnst.imports = homeImports."cnst@kima";
extraSpecialArgs = specialArgs;
};
}
self.nixosModules.nixos
self.nixosModules.settings
inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default
];
};
bunk = nixosSystem {
inherit specialArgs;
modules = [
./bunk
"${self}/nix"
{
home-manager = {
users.cnst.imports = homeImports."cnst@bunk";
extraSpecialArgs = specialArgs;
};
}
self.nixosModules.nixos
self.nixosModules.settings
inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default
];
};
sobotka = nixosSystem {
inherit specialArgs;
modules = [
./sobotka
"${self}/nix"
self.nixosModules.nixos
self.nixosModules.settings
self.nixosModules.server
inputs.agenix.nixosModules.default
];
};
ziggy = nixosSystem {
inherit specialArgs;
modules = [
./ziggy
"${self}/nix"
self.nixosModules.nixos
self.nixosModules.settings
self.nixosModules.server
inputs.agenix.nixosModules.default
];
};
toothpc = nixosSystem {
inherit specialArgs;
modules = [
./toothpc
"${self}/nix"
{
home-manager = {
users.toothpick.imports = homeImports."toothpick@toothpc";
extraSpecialArgs = specialArgs;
};
}
self.nixosModules.nixos
self.nixosModules.settings
inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default
];
};
};
bunk = nixosSystem {
inherit specialArgs;
modules = [
./bunk
"${self}/nix"
{
home-manager = {
users.cnst.imports = homeImports."cnst@bunk";
extraSpecialArgs = specialArgs;
};
}
self.nixosModules.nixos
self.nixosModules.settings
inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default
];
};
sobotka = nixosSystem {
inherit specialArgs;
modules = [
./sobotka
"${self}/nix"
self.nixosModules.nixos
self.nixosModules.settings
self.nixosModules.server
inputs.agenix.nixosModules.default
];
};
ziggy = nixosSystem {
inherit specialArgs;
modules = [
./ziggy
"${self}/nix"
self.nixosModules.nixos
self.nixosModules.settings
self.nixosModules.server
inputs.agenix.nixosModules.default
];
};
toothpc = nixosSystem {
inherit specialArgs;
modules = [
./toothpc
"${self}/nix"
{
home-manager = {
users.toothpick.imports = homeImports."toothpick@toothpc";
extraSpecialArgs = specialArgs;
};
}
self.nixosModules.nixos
self.nixosModules.settings
inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default
];
};
};
}

View File

@@ -3,9 +3,11 @@
config,
pkgs,
...
}: let
}:
let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in {
in
{
users.users.cnst = {
isNormalUser = true;
shell = pkgs.fish;

View File

@@ -7,20 +7,31 @@
pkgs,
modulesPath,
...
}: {
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = ["kvm-amd" "i2c-dev"];
boot.extraModulePackages = [];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usb_storage"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [
"kvm-amd"
"i2c-dev"
];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/90eafb57-0f89-4c2a-b417-4e0f2fba5f47";
fsType = "btrfs";
options = ["subvol=root"];
options = [ "subvol=root" ];
};
boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/36144799-13f2-4166-9bfe-b29c3df435ab";
@@ -28,35 +39,38 @@
fileSystems."/home" = {
device = "/dev/disk/by-uuid/90eafb57-0f89-4c2a-b417-4e0f2fba5f47";
fsType = "btrfs";
options = ["subvol=home"];
options = [ "subvol=home" ];
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/90eafb57-0f89-4c2a-b417-4e0f2fba5f47";
fsType = "btrfs";
options = ["subvol=nix"];
options = [ "subvol=nix" ];
};
fileSystems."/persist" = {
device = "/dev/disk/by-uuid/90eafb57-0f89-4c2a-b417-4e0f2fba5f47";
fsType = "btrfs";
options = ["subvol=persist"];
options = [ "subvol=persist" ];
};
fileSystems."/var/log" = {
device = "/dev/disk/by-uuid/90eafb57-0f89-4c2a-b417-4e0f2fba5f47";
fsType = "btrfs";
options = ["subvol=log"];
options = [ "subvol=log" ];
neededForBoot = true;
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/1D4A-3121";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices = [{device = "/dev/disk/by-uuid/91e16a5f-6a1c-4c7d-aa61-5823068fdaf0";}];
swapDevices = [ { device = "/dev/disk/by-uuid/91e16a5f-6a1c-4c7d-aa61-5823068fdaf0"; } ];
# 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

View File

@@ -3,8 +3,8 @@
boot = {
kernel = {
variant = "latest";
hardware = ["amd"];
extraKernelParams = ["amdgpu.dcdebugmask=0x10"];
hardware = [ "amd" ];
extraKernelParams = [ "amdgpu.dcdebugmask=0x10" ];
};
loader = {
default = {
@@ -21,7 +21,7 @@
};
graphics = {
enable = true;
vendors = ["amd"];
vendors = [ "amd" ];
};
logitech = {
enable = true;
@@ -30,7 +30,11 @@
enable = true;
interfaces = {
"eno1" = {
allowedTCPPorts = [22 80 443];
allowedTCPPorts = [
22
80
443
];
};
};
};

View File

@@ -3,9 +3,11 @@
config,
pkgs,
...
}: let
}:
let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in {
in
{
users.users.cnst = {
isNormalUser = true;
shell = pkgs.fish;
@@ -49,7 +51,8 @@ in {
./server.nix
];
boot.initrd.luks.devices."luks-47b35d4b-467a-4637-a5f9-45177da62897".device = "/dev/disk/by-uuid/47b35d4b-467a-4637-a5f9-45177da62897";
boot.initrd.luks.devices."luks-47b35d4b-467a-4637-a5f9-45177da62897".device =
"/dev/disk/by-uuid/47b35d4b-467a-4637-a5f9-45177da62897";
networking = {
hostName = "sobotka";

View File

@@ -7,31 +7,43 @@
pkgs,
modulesPath,
...
}: {
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = [];
boot.extraModulePackages = [];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/a0a3595f-e61c-475c-8f4e-bfbb05582c20";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-4f289fde-55ed-4b05-a6ee-d396db2a887b".device = "/dev/disk/by-uuid/4f289fde-55ed-4b05-a6ee-d396db2a887b";
boot.initrd.luks.devices."luks-4f289fde-55ed-4b05-a6ee-d396db2a887b".device =
"/dev/disk/by-uuid/4f289fde-55ed-4b05-a6ee-d396db2a887b";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/E03E-5458";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [
{device = "/dev/disk/by-uuid/704e09db-c7dd-462b-9560-47bbf845905d";}
{ device = "/dev/disk/by-uuid/704e09db-c7dd-462b-9560-47bbf845905d"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View File

@@ -3,8 +3,8 @@
boot = {
kernel = {
variant = "latest";
hardware = ["amd"];
extraKernelParams = [];
hardware = [ "amd" ];
extraKernelParams = [ ];
};
loader = {
default = {
@@ -21,7 +21,10 @@
};
graphics = {
enable = true;
vendors = ["intel" "amd"];
vendors = [
"intel"
"amd"
];
};
logitech = {
enable = false;
@@ -30,8 +33,16 @@
enable = true;
interfaces = {
"enp6s0" = {
allowedTCPPorts = [22 80 443 8090];
allowedUDPPorts = [58846 6881];
allowedTCPPorts = [
22
80
443
8090
];
allowedUDPPorts = [
58846
6881
];
};
};
};

View File

@@ -1,4 +1,5 @@
{config, ...}: {
{ config, ... }:
{
server = {
enable = true;
email = "adam@cnst.dev";

View File

@@ -3,9 +3,11 @@
config,
pkgs,
...
}: let
}:
let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in {
in
{
users.users.toothpick = {
isNormalUser = true;
shell = pkgs.zsh;

View File

@@ -7,8 +7,9 @@
pkgs,
modulesPath,
...
}: {
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot = {
initrd = {
@@ -20,14 +21,14 @@
"usb_storage"
"sd_mod"
];
kernelModules = [];
kernelModules = [ ];
};
kernelModules = [];
kernelModules = [ ];
kernelParams = [
"intel_pstate=active"
"nvidia_drm.modeset=1"
];
extraModulePackages = [];
extraModulePackages = [ ];
};
fileSystems."/" = {
@@ -35,15 +36,19 @@
fsType = "ext4";
};
boot.initrd.luks.devices."luks-81dcb5e4-7adb-44ee-99df-69e366f8b735".device = "/dev/disk/by-uuid/81dcb5e4-7adb-44ee-99df-69e366f8b735";
boot.initrd.luks.devices."luks-81dcb5e4-7adb-44ee-99df-69e366f8b735".device =
"/dev/disk/by-uuid/81dcb5e4-7adb-44ee-99df-69e366f8b735";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/CA19-5F2A";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices = [];
swapDevices = [ ];
# 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

View File

@@ -3,7 +3,7 @@
boot = {
kernel = {
variant = "latest";
hardware = ["nvidia"];
hardware = [ "nvidia" ];
};
loader = {
default = {
@@ -20,7 +20,7 @@
};
graphics = {
enable = true;
vendors = ["nvidia"];
vendors = [ "nvidia" ];
nvidia = {
package = "latest";
open = true;
@@ -33,7 +33,11 @@
enable = true;
interfaces = {
"enp4s0" = {
allowedTCPPorts = [22 80 443];
allowedTCPPorts = [
22
80
443
];
};
};
};
@@ -189,7 +193,7 @@
enable = true;
};
xserver = {
videoDrivers = ["nvidia"];
videoDrivers = [ "nvidia" ];
xkbLayout = "se";
};
zram = {

View File

@@ -3,9 +3,11 @@
config,
pkgs,
...
}: let
}:
let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in {
in
{
users.users.cnst = {
isNormalUser = true;
shell = pkgs.fish;

View File

@@ -7,22 +7,23 @@
pkgs,
modulesPath,
...
}: {
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["usbhid"];
boot.initrd.kernelModules = [];
boot.kernelModules = [];
boot.extraModulePackages = [];
boot.initrd.availableKernelModules = [ "usbhid" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
fsType = "ext4";
};
swapDevices = [{device = "/swapfile";}];
swapDevices = [ { device = "/swapfile"; } ];
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
}

View File

@@ -3,8 +3,8 @@
boot = {
kernel = {
variant = "latest";
hardware = [];
extraKernelParams = [];
hardware = [ ];
extraKernelParams = [ ];
};
loader = {
default = {
@@ -21,7 +21,7 @@
};
graphics = {
enable = false;
vendors = [];
vendors = [ ];
};
logitech = {
enable = false;
@@ -30,8 +30,16 @@
enable = true;
interfaces = {
"enu1u1" = {
allowedTCPPorts = [22 80 443 8090];
allowedUDPPorts = [58846 6881];
allowedTCPPorts = [
22
80
443
8090
];
allowedUDPPorts = [
58846
6881
];
};
};
};

View File

@@ -1,4 +1,5 @@
{config, ...}: {
{ config, ... }:
{
server = {
enable = true;
email = "adam@cnst.dev";