update system

This commit is contained in:
2025-08-11 17:15:37 +02:00
parent 5c9bf6838c
commit d3f752328f
12 changed files with 25 additions and 344 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
result
deploy-luci.sh
deploy-luci-now.sh

View File

@@ -1,293 +0,0 @@
diff --git a/flake.nix b/flake.nix
index 95415a8..dfc359c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -140,6 +140,11 @@
username = "theaninova";
system = "x86_64-linux";
};
+ shark = mkHost {
+ hostname = "shark";
+ username = "luci";
+ system = "x86_64-linux";
+ };
};
nixosModules.theaninovos = import ./modules/nixos;
diff --git a/hosts/shark/default.nix b/hosts/shark/default.nix
new file mode 100644
index 0000000..efec798
--- /dev/null
+++ b/hosts/shark/default.nix
@@ -0,0 +1,164 @@
+{
+ pkgs,
+ lib,
+ username,
+ ...
+}:
+{
+ imports = [ ./hardware-configuration.nix ];
+
+ nix = {
+ settings.experimental-features = [
+ "nix-command"
+ "flakes"
+ ];
+ gc = {
+ automatic = true;
+ randomizedDelaySec = "14m";
+ options = "--deleteOlderThan 10d";
+ };
+ };
+
+ boot = {
+ quiet.enable = true;
+
+ kernelPackages = pkgs.linuxPackages_latest;
+
+ loader = {
+ systemd-boot = {
+ enable = true;
+ configurationLimit = 10;
+ };
+ efi.canTouchEfiVariables = true;
+ };
+ initrd = {
+ availableKernelModules = [ "tpm_tis" ];
+ systemd = {
+ enable = true;
+ tpm2.enable = true;
+ };
+ };
+ };
+
+ xdg.forced-compliance.enable = true;
+
+ usecases = {
+ gaming.enable = true;
+ "3d-printing".enable = true;
+ development.enable = true;
+ windows-vm.enable = true;
+ };
+
+ shell.components = {
+ firefox-pip.enable = true;
+ gnome-keyring.enable = true;
+ grimblast.enable = true;
+ hyprpicker.enable = true;
+ kde-connect.enable = true;
+ kitty.enable = true;
+ swaync.enable = true;
+ walker.enable = true;
+ waybar = {
+ enable = true;
+ mobile = true;
+ };
+ };
+ desktops = {
+ hyprland.enable = true;
+ };
+ locale.preset.theaninova.enable = true;
+
+ services.xserver = {
+ xkb = {
+ #variant = "altgr-intl";
+ #layout = "us";
+ layout = "de";
+ };
+ videoDrivers = [ "nvidia" ];
+ };
+
+ hardware = {
+ q3279vwf.enable = true;
+ audio.preset.pipewire.enable = true;
+
+ nvidia.preset.proprietary.enable = true;
+
+ enableAllFirmware = true;
+ bluetooth = {
+ enable = true;
+ powerOnBoot = true;
+ };
+ };
+
+ fonts = {
+ fira-code = {
+ enable = true;
+ default = true;
+ };
+ noto-sans = {
+ enable = true;
+ default = true;
+ };
+ nerd-fonts.enable = true;
+ };
+
+ programs.zsh.enable = true;
+ security.sudo.configFile = ''
+ Defaults env_reset,pwfeedback,passprompt="󰟵 "
+ '';
+ security.tpm2.enable = true;
+ users.defaultUserShell = pkgs.zsh;
+ users.users.${username} = {
+ isNormalUser = true;
+ extraGroups = [
+ "scanner"
+ "lp"
+ "storage"
+ "networkmanager"
+ "audio"
+ "video"
+ "plugdev"
+ "cdrom"
+ "kvm"
+ ];
+ };
+
+ # List packages installed in system profile. To search, run:
+ environment.systemPackages = with pkgs; [
+ # Essential utils
+ usbutils
+ usbimager
+ uhubctl
+ bluetuith
+ pciutils
+ htop
+ unar
+ gnupg
+ libdrm
+ alsa-utils
+ graphicsmagick
+ ffmpeg
+ nfs-utils
+ opensc
+ openssl
+ # secure boot / tmp2
+ sbctl
+ tpm2-tss
+ # Essential command line apps
+ neovim
+ mc
+ git
+ p7zip
+ fzf
+ eza
+ ];
+
+ networking = {
+ networkmanager = {
+ enable = true;
+ plugins = with pkgs; [ networkmanager-openconnect ];
+ };
+ };
+
+ system.stateVersion = "24.11";
+}
diff --git a/hosts/shark/hardware-configuration.nix b/hosts/shark/hardware-configuration.nix
new file mode 100644
index 0000000..b848d1c
--- /dev/null
+++ b/hosts/shark/hardware-configuration.nix
@@ -0,0 +1,44 @@
+# Do not modify this file! It was generated by nixos-generate-config
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{ config, lib, pkgs, modulesPath, ... }:
+
+{
+ imports =
+ [ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-intel" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/9e1f4bb4-356b-4674-ba16-0d3f436cd882";
+ fsType = "xfs";
+ };
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/6585-4C3B";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
+ };
+
+ fileSystems."/home" =
+ { device = "/dev/disk/by-uuid/fa017457-fef3-4fac-9348-d37d2cd98656";
+ fsType = "xfs";
+ };
+
+ 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
+ # still possible to use this option, but it's recommended to use it in conjunction
+ # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
+ networking.useDHCP = lib.mkDefault true;
+ # networking.interfaces.eno1.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/hosts/shark/home.nix b/hosts/shark/home.nix
new file mode 100755
index 0000000..b557825
--- /dev/null
+++ b/hosts/shark/home.nix
@@ -0,0 +1,31 @@
+{ pkgs, ... }:
+{
+ theme.md3-evo = {
+ enable = true;
+ auto-dark = {
+ enable = true;
+ lat = 52.52;
+ lon = 13.40;
+ };
+ };
+ programs.zoxide.enable = true;
+ home = {
+ packages = with pkgs; [
+ blueman
+ kdePackages.okular
+ ];
+ };
+ systemd.user.services = {
+ blueman-applet = {
+ Unit = {
+ Description = "Bluetooth manager applet";
+ After = [ "graphical-session.target" ];
+ };
+ Install.WantedBy = [ "graphical-session.target" ];
+ Service = {
+ ExecStart = "${pkgs.blueman}/bin/blueman-applet";
+ Restart = "always";
+ };
+ };
+ };
+}
diff --git a/modules/nixos/hardware/q3279vwf.nix b/modules/nixos/hardware/q3279vwf.nix
index 2e835e7..4ebeaac 100644
--- a/modules/nixos/hardware/q3279vwf.nix
+++ b/modules/nixos/hardware/q3279vwf.nix
@@ -21,11 +21,11 @@ in
home-manager.users.${username}.wayland.windowManager.hyprland.settings = {
general.layout = "master";
master = {
- orientation = "center";
- always_center_master = true;
- mfact = 0.4;
+ orientation = "right";
+ mfact = 0.65;
+ always_keep_position = true;
};
- monitor = [ "DP-1,highrr,0x0,1" ];
+ monitor = [ "DP-1,2560x1440@75,0x0,1" ];
xwayland.force_zero_scaling = true;
misc.vrr = 2; # VA suffers from VRR flicker
};

View File

@@ -66,13 +66,6 @@
rocmOverrideGfx = "10.3.0";
};
printing = {
enable = true;
drivers = with pkgs; [
rastertokpsl-re
];
};
xserver.xkb.variant = "altgr-intl";
xserver.xkb.layout = "us";
@@ -94,7 +87,6 @@
# hid-fanatecff.enable = true;
enableAllFirmware = true;
sane.enable = true;
bluetooth = {
enable = true;
powerOnBoot = true;

View File

@@ -113,6 +113,8 @@
nerd-fonts.enable = true;
};
services.airprint.enable = true;
programs.zsh.enable = true;
security.sudo.configFile = ''
Defaults env_reset,pwfeedback,passprompt="󰟵 "

View File

@@ -22,6 +22,8 @@
boot = {
quiet.enable = true;
kernelParams = [ "module_blacklist=i915" ];
kernelPackages = pkgs.linuxPackages_latest;
loader = {
@@ -77,6 +79,8 @@
videoDrivers = [ "nvidia" ];
};
services.airprint.enable = true;
hardware = {
q3279vwf.enable = true;
audio.preset.pipewire.enable = true;

View File

@@ -17,7 +17,6 @@
# browsers
firefox
chromium
brave
# media
jellyfin-media-player

View File

@@ -27,6 +27,10 @@ in
systemd.enable = false;
package = null;
portalPackage = null;
settings.ecosystem = {
no_update_news = true;
no_donation_nag = true;
};
};
home = {
packages = with pkgs; [ grim ];

View File

@@ -54,6 +54,8 @@ in
home-manager.users.${username}.wayland.windowManager.hyprland.settings = {
cursor.no_hardware_cursors = true;
opengl.nvidia_anti_flicker = true;
# render.direct_scanout = 1;
};
environment = {

View File

@@ -27,7 +27,7 @@ in
};
monitor = [ "DP-1,2560x1440@75,0x0,1" ];
xwayland.force_zero_scaling = true;
misc.vrr = 2; # VA suffers from VRR flicker
misc.vrr = 0; # VA suffers from VRR flicker
};
};
}

View File

@@ -20,7 +20,10 @@ in
enable = true;
extraBackends = [ pkgs.sane-airscan ];
};
services.printing.enable = true;
services.printing = {
enable = true;
stateless = true;
};
services.avahi = {
enable = true;
nssmdns4 = true;

View File

@@ -50,6 +50,12 @@ in
};
spiceUSBRedirection.enable = true;
};
services.spice-vdagentd.enable = true;
networking.firewall.trustedInterfaces = [ "virbr0" ];
services = {
spice-vdagentd.enable = true;
spice-webdavd.enable = true;
};
};
}

View File

@@ -1,39 +0,0 @@
{
stdenv,
fetchFromGitHub,
cmake,
cups,
patchPpdFilesHook,
lib,
}:
stdenv.mkDerivation {
name = "rastertokpsl-re";
src = fetchFromGitHub {
owner = "eLtMosen";
repo = "rastertokpsl-re";
rev = "84dcb2bc0d9a6797eedcd56f2e603dde2fbbf290";
hash = "sha256-qPBZ0qKnY14rTaNa6vjyVB8c0aaXDSewia4n1a6xoyg=";
};
buildInputs = [
cmake
cups
];
cmakeFlags = [ "-DCMAKE_C_FLAGS=-D_GNU_SOURCE" ];
nativeBuildInputs = [ patchPpdFilesHook ];
installPhase = ''
runHook preInstall
install -Dm755 /build/source/bin/rastertokpsl-re $out/lib/cups/filter/rastertokpsl
mkdir -p $out/share/cups/model/Kyocera
install -D /build/source/*.ppd $out/share/cups/model/Kyocera
runHook postInstall
'';
ppdFileCommands = [ "rastertokpsl" ];
meta = with lib; {
description = "Reverse engineered Kyocera rastertokpsl filter for CUPS";
homepage = "https://github.com/eLtMosen/rastertokpsl-re";
license = licenses.asl20;
maintainers = [ maintainers.theaninova ];
};
}