Compare commits

..

2 Commits

Author SHA1 Message Date
7a8034c4bd catppuccin :D 2024-12-25 13:15:52 +01:00
26d3602806 leila 2024-12-25 07:48:07 +01:00
5 changed files with 113 additions and 87 deletions

0
.gitmodules vendored
View File

View File

@ -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
View File

@ -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"
} }

View File

@ -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
];
};
}; };
}; };
} }

View File

@ -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;