Initial commit

This commit is contained in:
demenik
2025-12-01 18:24:34 +01:00
commit fc68fa5ce9
142 changed files with 6273 additions and 0 deletions

44
nixos/full.nix Normal file
View File

@@ -0,0 +1,44 @@
{
pkgs,
stateVersion,
user,
...
}: {
imports = [
./global
./users/demenik.nix
./optional/backup.nix
./optional/greetd.nix
./optional/networkmanager.nix
./optional/bluetooth.nix
./optional/fprint.nix
./optional/vm.nix
./optional/gaming.nix
./optional/adb.nix
./optional/docker.nix
./optional/direnv.nix
./optional/wireshark.nix
];
programs.zsh.enable = true;
users.users.${user}.shell = pkgs.zsh;
boot = {
loader = {
efi.canTouchEfiVariables = true;
grub = {
enable = true;
device = "nodev";
efiSupport = true;
};
};
kernelPackages = pkgs.linuxPackages_latest;
};
programs.hyprland.enable = true;
services.displayManager.defaultSession = "hyprland";
system = {inherit stateVersion;};
}

49
nixos/global/default.nix Normal file
View File

@@ -0,0 +1,49 @@
{
pkgs,
lib,
...
}: {
imports = [
./nix.nix
];
programs.dconf.enable = true;
environment.systemPackages = with pkgs; [
home-manager
neovim
(lib.hiPrio uutils-coreutils-noprefix)
];
services.xserver.xkb = {
layout = "de";
variant = "nodeadkeys";
};
console.keyMap = "de";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
time.timeZone = "Europe/Berlin";
services.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
security = {
rtkit.enable = true;
sudo-rs.enable = true;
};
}

19
nixos/global/nix.nix Normal file
View File

@@ -0,0 +1,19 @@
{pkgs, ...}: {
nix = {
package = pkgs.nix;
settings = {
auto-optimise-store = true;
trusted-users = ["root" "@wheel"];
experimental-features = "nix-command flakes";
warn-dirty = false;
};
gc = {
automatic = true;
options = "--delete-older-than 2d";
};
optimise.automatic = true;
};
nixpkgs.config.allowUnfree = true;
}

19
nixos/headless.nix Normal file
View File

@@ -0,0 +1,19 @@
{
pkgs,
stateVersion,
user,
...
}: {
imports = [
./global
./users/demenik.nix
./optional/docker.nix
./optional/direnv.nix
];
programs.zsh.enable = true;
users.users.${user}.shell = pkgs.zsh;
system = {inherit stateVersion;};
}

4
nixos/optional/adb.nix Normal file
View File

@@ -0,0 +1,4 @@
{user, ...}: {
programs.adb.enable = true;
users.users."${user}".extraGroups = ["adbusers"];
}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1,3 @@
{
hardware.bluetooth.enable = true;
}

View File

@@ -0,0 +1,6 @@
{
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
}

View File

@@ -0,0 +1,8 @@
{user, ...}: {
virtualisation.docker = {
enable = true;
rootless.enable = true;
};
users.users.${user}.extraGroups = ["docker"];
}

View File

@@ -0,0 +1,19 @@
{user, ...}: {
networking.wireless = {
enable = true;
networks = {
eduroam = {
auth = ''
proto=RSN
key_mgmt=WPA-EAP
eap=PEAP
identity="dominik.bernroider@uni-ulm.de"
password=hash:9446aa5c94d8f72165905212d0e62d36
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
ca_cert="/home/${user}/.config/cat_installer/ca.pem"
'';
};
};
};
}

View File

@@ -0,0 +1,7 @@
{pkgs, ...}: {
services.fprintd = {
enable = true;
tod.enable = true;
tod.driver = pkgs.libfprint-2-tod1-goodix-550a;
};
}

15
nixos/optional/gaming.nix Normal file
View File

@@ -0,0 +1,15 @@
{pkgs, ...}: {
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
extest.enable = true;
};
environment.systemPackages = with pkgs; [
lutris
];
}

17
nixos/optional/greetd.nix Normal file
View File

@@ -0,0 +1,17 @@
{pkgs, ...}: {
services.greetd = {
enable = true;
settings = {
default_session = {
command = ''
${pkgs.tuigreet}/bin/tuigreet \
--cmd "${pkgs.hyprland}/bin/hyprland" \
--remember \
--remember-session \
--asterisks
'';
user = "demenik";
};
};
};
}

View File

@@ -0,0 +1,9 @@
{user, ...}: {
networking.networkmanager.enable = true;
users.users."${user}".extraGroups = ["networkmanager"];
# networking.networkmanager.dns = "none";
# networking.useDHCP = false;
# networking.dhcpcd.enable = false;
# networking.nameservers = [ homelabipv4 "8.8.8.8" ];
}

6
nixos/optional/vm.nix Normal file
View File

@@ -0,0 +1,6 @@
{user, ...}: {
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
users.users."${user}".extraGroups = ["libvirtd"];
}

View File

@@ -0,0 +1,10 @@
{
pkgs,
user,
...
}: {
programs.wireshark.enable = true;
environment.systemPackages = with pkgs; [wireshark-qt];
users.users."${user}".extraGroups = ["wireshark"];
}

7
nixos/users/demenik.nix Normal file
View File

@@ -0,0 +1,7 @@
{
users.users.demenik = {
isNormalUser = true;
description = "Dominik";
extraGroups = ["wheel" "networkmanager" "audio" "video" "tlp" "power"];
};
}