Compare commits
2 Commits
multisyste
...
main
Author | SHA1 | Date | |
---|---|---|---|
7a8034c4bd | |||
26d3602806 |
0
.gitmodules
vendored
0
.gitmodules
vendored
@ -23,14 +23,14 @@ in
|
|||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
kernelPackages = pkgs.linuxPackages_zen;
|
||||||
#extraModulePackages = [
|
extraModulePackages = [
|
||||||
# config.boot.kernelPackages.ddcci-driver # ddcci-driver
|
config.boot.kernelPackages.ddcci-driver # ddcci-driver
|
||||||
#];
|
];
|
||||||
#kernelModules = [
|
kernelModules = [
|
||||||
# "ddcci-driver" # Brightness Controll (even on OLEDS)
|
"ddcci-driver" # Brightness Controll (even on OLEDS)
|
||||||
# "i2c-dev" # Brightness Controll (even on OLEDS)
|
"i2c-dev" # Brightness Controll (even on OLEDS)
|
||||||
#];
|
];
|
||||||
#kernelParams = [ "module_blacklist=i915" "nvidia_drm.modeset=1" ];
|
kernelParams = [ "module_blacklist=i915" "nvidia_drm.modeset=1" ];
|
||||||
#kernelPatches = [ {
|
#kernelPatches = [ {
|
||||||
# name = "hdr";
|
# name = "hdr";
|
||||||
# patch = null;
|
# patch = null;
|
||||||
@ -38,34 +38,32 @@ in
|
|||||||
# AMD_PRIVATE_COLOR y
|
# AMD_PRIVATE_COLOR y
|
||||||
# '';
|
# '';
|
||||||
# } ];
|
# } ];
|
||||||
#extraModprobeConfig = ''
|
extraModprobeConfig = ''
|
||||||
# options nvidia_drm modes.et=1 fbdev=1
|
options nvidia_drm modes.et=1 fbdev=1
|
||||||
# options nvidia NVreg_PreserveVideoMemoryAllocations=1
|
options nvidia NVreg_PreserveVideoMemoryAllocations=1
|
||||||
#'';
|
'';
|
||||||
loader = {
|
loader = {
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
efi.efiSysMountPoint = "/boot";
|
systemd-boot = {
|
||||||
#systemd-boot = {
|
consoleMode = "max";
|
||||||
# consoleMode = "max";
|
memtest86.enable = true;
|
||||||
# memtest86.enable = true;
|
|
||||||
#};
|
|
||||||
grub = {
|
|
||||||
enable = true;
|
|
||||||
efiSupport = true;
|
|
||||||
device = "nodev";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
initrd.systemd.enable = true;
|
initrd.systemd.enable = true;
|
||||||
|
kernel.sysctl = {
|
||||||
|
"kernel.perf_event_paranoid" = true;
|
||||||
|
"kernel.kptr_restrict" = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Filesystems
|
# Filesystems
|
||||||
fileSystems =
|
fileSystems =
|
||||||
{
|
{
|
||||||
#"/share" = {
|
"/share" = {
|
||||||
# options = [
|
options = [
|
||||||
# "nofail"
|
"nofail"
|
||||||
# ];
|
];
|
||||||
#};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Graphics
|
# Graphics
|
||||||
@ -73,26 +71,19 @@ in
|
|||||||
graphics = {
|
graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enable32Bit = true;
|
enable32Bit = true;
|
||||||
extraPackages = with pkgs; [
|
|
||||||
vpl-gpu-rt # newer gpus
|
|
||||||
intel-media-sdk # older gpus
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
bluetooth.enable = true;
|
nvidia = {
|
||||||
#nvidia = {
|
modesetting.enable = true; # required
|
||||||
# modesetting.enable = true; # required
|
powerManagement.enable = false; # Experimental
|
||||||
# powerManagement.enable = false; # Experimental
|
open = false; # Support limited to Turing and later: https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
# open = false; # Support limited to Turing and later: https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
nvidiaSettings = true; # accessible via nvidia-settings
|
||||||
# nvidiaSettings = true; # accessible via nvidia-settings
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
# package = config.boot.kernelPackages.nvidiaPackages.stable;
|
};
|
||||||
#};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
networking =
|
networking =
|
||||||
{
|
{
|
||||||
hostName = "Zuse2"; # Define your hostname
|
hostName = "Zuse1"; # Define your hostname.
|
||||||
networkmanager.enable = true;
|
|
||||||
wireless.userControlled.enable = true;
|
|
||||||
#nameservers = [
|
#nameservers = [
|
||||||
# "127.0.0.1"
|
# "127.0.0.1"
|
||||||
# "::1"
|
# "::1"
|
||||||
@ -130,13 +121,13 @@ networking =
|
|||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
#videoDrivers = [ "nvidia" ];
|
videoDrivers = [ "nvidia" ];
|
||||||
excludePackages = with pkgs; [
|
excludePackages = with pkgs; [
|
||||||
xterm # why the fuck is this garbage even shipped?
|
xterm # why the fuck is this garbage even shipped?
|
||||||
];
|
];
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
xkb.layout = "de";
|
xkb.layout = "us";
|
||||||
xkb.options = "eurosign:e,caps:escape";
|
xkb.options = "eurosign:e,caps:escape";
|
||||||
|
|
||||||
# DWM (minimal Xorg Fallback)
|
# DWM (minimal Xorg Fallback)
|
||||||
@ -161,20 +152,16 @@ services.displayManager.sddm =
|
|||||||
enable = true;
|
enable = true;
|
||||||
autoNumlock = true; # Enable NumLock at login
|
autoNumlock = true; # Enable NumLock at login
|
||||||
wayland.enable = true;
|
wayland.enable = true;
|
||||||
theme = "catppuccin-mocha";
|
|
||||||
package = pkgs.kdePackages.sddm;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xserver.displayManager.startx.enable = true;
|
services.xserver.displayManager.startx.enable = true;
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
# GNOME Keyring
|
# GNOME Keyring
|
||||||
services.gnome.gnome-keyring.enable = true;
|
services.gnome.gnome-keyring.enable = true;
|
||||||
security.pam.services.sddm.enableGnomeKeyring = true;
|
security.pam.services.sddm.enableGnomeKeyring = true;
|
||||||
security.pam.services.hyprlock.enableGnomeKeyring = true;
|
security.pam.services.hyprlock.enableGnomeKeyring = true;
|
||||||
|
|
||||||
# Bluetooth managment
|
|
||||||
services.blueman.enable = true;
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
# Enable CUPS to print documents.
|
||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
|
|
||||||
@ -227,7 +214,6 @@ security.krb5 = {
|
|||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
# services.libinput.enable = true;
|
# services.libinput.enable = true;
|
||||||
|
|
||||||
|
|
||||||
# /share
|
# /share
|
||||||
users.groups.share = {};
|
users.groups.share = {};
|
||||||
|
|
||||||
@ -264,11 +250,15 @@ systemd.tmpfiles.rules = [
|
|||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.kiosk = {
|
users.users.leila = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
home = "/var/kiosk";
|
extraGroups = [
|
||||||
homeMode = "700";
|
"steam" # /steam
|
||||||
extraGroups = ["audio"];
|
"audio" # audio
|
||||||
|
"video" # video
|
||||||
|
"i2c" # needed for ddcci
|
||||||
|
];
|
||||||
|
shell = pkgs.bash;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Font Config
|
# Font Config
|
||||||
@ -331,15 +321,6 @@ environment.etc.crypttab = {
|
|||||||
home-manager # Nix's Home-Manager
|
home-manager # Nix's Home-Manager
|
||||||
egl-wayland # NVIDIA compat
|
egl-wayland # NVIDIA compat
|
||||||
nvidia-vaapi-driver # NVIDIA compat
|
nvidia-vaapi-driver # NVIDIA compat
|
||||||
catppuccin-cursors.mochaDark # Catppuccin Mouse Cursors
|
|
||||||
(catppuccin-sddm.override {
|
|
||||||
flavor = "mocha";
|
|
||||||
font = "Fira Sans";
|
|
||||||
fontSize = "9";
|
|
||||||
#backgroundbin = "$XDG_PICTURES_DIR/Wallpapers/current";
|
|
||||||
loginBackground = true;
|
|
||||||
})
|
|
||||||
networkmanagerapplet # Network Manager GUI
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
@ -364,7 +345,7 @@ environment.etc.crypttab = {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
virt-manager.enable = true;
|
virt-manager.enable = true;
|
||||||
seahorse.enable = true;
|
#seahorse.enable = true; # managed by plasma6
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
neovim.enable = true;
|
neovim.enable = true;
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
@ -379,13 +360,11 @@ environment.etc.crypttab = {
|
|||||||
# started in user sessions.
|
# started in user sessions.
|
||||||
# programs.mtr.enable = true;
|
# programs.mtr.enable = true;
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = false;
|
||||||
enableSSHSupport = true;
|
enableSSHSupport = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
security.polkit = {
|
security.polkit.extraConfig = ''
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
polkit.addRule(function(action, subject) {
|
polkit.addRule(function(action, subject) {
|
||||||
if (
|
if (
|
||||||
subject.isInGroup("users")
|
subject.isInGroup("users")
|
||||||
@ -401,7 +380,23 @@ security.polkit = {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
systemd.user.services =
|
||||||
|
{
|
||||||
|
polkit-gnome-authentication-agent-1 = {
|
||||||
|
description = "polkit-gnome-authentication-agent-1";
|
||||||
|
wantedBy = [ "graphical-session.target" ];
|
||||||
|
wants = [ "graphical-session.target" ];
|
||||||
|
after = [ "graphical-session.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = 1;
|
||||||
|
TimeoutStopSec = 10;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
system.userActivationScripts.linktosharedfolder.text = ''
|
system.userActivationScripts.linktosharedfolder.text = ''
|
||||||
if [[ ! -h "$XDG_MUSIC_DIR" ]]; then
|
if [[ ! -h "$XDG_MUSIC_DIR" ]]; then
|
||||||
@ -420,6 +415,17 @@ virtualisation.docker = {
|
|||||||
|
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
|
|
||||||
|
catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
accent = "blue";
|
||||||
|
sddm = {
|
||||||
|
enable = true;
|
||||||
|
font = "Fira Sans";
|
||||||
|
fontSize = "9";
|
||||||
|
loginBackground = true;
|
||||||
|
background = "/home/leon/Pictures/Wallpapers/current";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Man pages
|
# Man pages
|
||||||
documentation.dev.enable = true;
|
documentation.dev.enable = true;
|
||||||
|
16
flake.lock
generated
16
flake.lock
generated
@ -1,5 +1,20 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"catppuccin": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735028008,
|
||||||
|
"narHash": "sha256-crbQNRVQgPH0hX5vZk8xL9JStXo74Es7zDBjRcc4i+A=",
|
||||||
|
"owner": "catppuccin",
|
||||||
|
"repo": "nix",
|
||||||
|
"rev": "bfd20bcf45f1de0e97b551be51495abf8a727f1a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "catppuccin",
|
||||||
|
"repo": "nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731098351,
|
"lastModified": 1731098351,
|
||||||
@ -160,6 +175,7 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"catppuccin": "catppuccin",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
}
|
}
|
||||||
|
10
flake.nix
10
flake.nix
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
catppuccin.url = "github:catppuccin/nix";
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
url = "github:nix-community/lanzaboote";
|
url = "github:nix-community/lanzaboote";
|
||||||
|
|
||||||
@ -11,13 +12,14 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, lanzaboote, ... }: {
|
outputs = inputs@{ nixpkgs, lanzaboote, catppuccin, ... }: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
Zuse1 = nixpkgs.lib.nixosSystem {
|
Zuse1 = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
lanzaboote.nixosModules.lanzaboote
|
lanzaboote.nixosModules.lanzaboote
|
||||||
|
catppuccin.nixosModules.catppuccin
|
||||||
({ pkgs, lib, ... }: {
|
({ pkgs, lib, ... }: {
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
@ -38,12 +40,6 @@
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
Zuse2 = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = [
|
|
||||||
./configuration.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -8,30 +8,39 @@
|
|||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/445ce2b5-db78-48b5-bde7-1aa3057bafae";
|
{ device = "/dev/disk/by-uuid/2ba31f86-69eb-448c-a224-7bb228803f95";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."root".device = "/dev/disk/by-uuid/b9457757-75bc-494e-adaa-87d772b93cbd";
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/12CE-A600";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/share" =
|
||||||
|
{ device = "/dev/disk/by-uuid/61d599a8-170a-4e97-abb3-cd0cb32edac2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."share".device = "/dev/disk/by-uuid/87aa812d-b5dd-44b7-bb4d-303d6ac7c11a";
|
||||||
|
|
||||||
fileSystems."/var/lib/docker/btrfs" =
|
fileSystems."/var/lib/docker/btrfs" =
|
||||||
{ device = "/var/lib/docker/btrfs";
|
{ device = "/var/lib/docker/btrfs";
|
||||||
fsType = "none";
|
fsType = "none";
|
||||||
options = [ "bind" ];
|
options = [ "bind" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/3139-13CA";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
swapDevices =
|
||||||
[ { device = "/dev/disk/by-uuid/4fc7c055-f053-4bfa-a609-58ad9444450f"; }
|
[ { device = "/dev/disk/by-uuid/a07a0f5b-012b-4b37-b052-8e2da8615413"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
@ -41,7 +50,6 @@
|
|||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
Loading…
Reference in New Issue
Block a user